Merge "Fix text cropping in pairing dialog" into main
diff --git a/Android.bp b/Android.bp
index cb898be..0fd4cb0 100644
--- a/Android.bp
+++ b/Android.bp
@@ -85,6 +85,8 @@
"notification_flags_lib",
"securebox",
"android.os.flags-aconfig-java",
+ "//frameworks/libs/systemui:com_android_systemui_shared_flags_lib",
+ "WindowManager-Shell-shared-desktopMode",
// Settings dependencies
"FingerprintManagerInteractor",
@@ -108,8 +110,6 @@
"telephony_flags_core_java_lib",
"setupdesign-lottie-loading-layout",
"device_policy_aconfig_flags_lib",
- "kotlinx-coroutines-core",
- "kotlinx-coroutines-android",
],
plugins: ["androidx.room_room-compiler-plugin"],
@@ -125,6 +125,9 @@
"telephony-common",
"ims-common",
],
+ flags_packages: [
+ "android.app.flags-aconfig",
+ ],
}
platform_compat_config {
@@ -155,6 +158,9 @@
optimize: {
proguard_flags_files: ["proguard.flags"],
},
+ flags_packages: [
+ "android.app.flags-aconfig",
+ ],
}
android_library_import {
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 90b42f4..f1c91ee 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -140,7 +140,7 @@
<uses-permission android:name="android.permission.REMAP_MODIFIER_KEYS" />
<uses-permission android:name="android.permission.ACCESS_GPU_SERVICE" />
<uses-permission android:name="android.permission.MANAGE_GAME_MODE" />
- <uses-permission android:name="android.permission.RESTART_PHONE_PROCESS" />
+ <uses-permission android:name="android.permission.RESTART_TELEPHONY_PROCESS" />
<uses-permission android:name="android.permission.MANAGE_ENHANCED_CONFIRMATION_STATES" />
<uses-permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE" />
<uses-permission android:name="android.permission.MANAGE_NETWORK_POLICY" />
@@ -1287,20 +1287,63 @@
</activity>
<activity
- android:name="Settings$ZenModeSettingsActivity"
+ android:name="Settings$ModesSettingsActivity"
android:label="@string/zen_mode_settings_title"
android:icon="@drawable/ic_homepage_notification"
android:exported="true">
- <intent-filter android:priority="1">
+ <intent-filter android:priority="1"
+ android:featureFlag="android.app.modes_ui">
<action android:name="android.settings.ZEN_MODE_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
- <intent-filter android:priority="1">
+ <intent-filter android:priority="1"
+ android:featureFlag="android.app.modes_ui">
<action android:name="android.settings.ZEN_MODE_PRIORITY_SETTINGS" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
- <intent-filter android:priority="41">
+ <intent-filter android:priority="41"
+ android:featureFlag="android.app.modes_ui">
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="com.android.settings.SHORTCUT" />
+ </intent-filter>
+ <intent-filter android:priority="10"
+ android:featureFlag="android.app.modes_ui">
+ <action android:name="android.settings.ZEN_MODE_AUTOMATION_SETTINGS" />
+ <category android:name="android.intent.category.DEFAULT" />
+ </intent-filter>
+ <intent-filter android:priority="10"
+ android:featureFlag="android.app.modes_ui">
+ <action android:name="android.settings.ACTION_CONDITION_PROVIDER_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
+ <category android:name="android.intent.category.DEFAULT" />
+ </intent-filter>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.notification.modes.ZenModesListFragment"/>
+ <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
+ android:value="@string/menu_key_notifications"/>
+ <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+ android:value="true" />
+ </activity>
+
+ <activity
+ android:name="Settings$ZenModeSettingsActivity"
+ android:label="@string/zen_mode_settings_title"
+ android:icon="@drawable/ic_homepage_notification"
+ android:exported="true">
+ <intent-filter android:priority="1"
+ android:featureFlag="!android.app.modes_ui">
+ <action android:name="android.settings.ZEN_MODE_SETTINGS" />
+ <category android:name="android.intent.category.DEFAULT" />
+ </intent-filter>
+ <intent-filter android:priority="1"
+ android:featureFlag="!android.app.modes_ui">
+ <action android:name="android.settings.ZEN_MODE_PRIORITY_SETTINGS" />
+ <category android:name="android.intent.category.BROWSABLE" />
+ <category android:name="android.intent.category.DEFAULT" />
+ </intent-filter>
+ <intent-filter android:priority="41"
+ android:featureFlag="!android.app.modes_ui">
<action android:name="android.intent.action.MAIN" />
<category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
@@ -1313,6 +1356,20 @@
</activity>
<activity
+ android:name="Settings$ModeSettingsActivity"
+ android:exported="true">
+ <intent-filter android:priority="1"
+ android:featureFlag="android.app.modes_ui">
+ <action android:name="android.settings.AUTOMATIC_ZEN_RULE_SETTINGS" />
+ <category android:name="android.intent.category.DEFAULT" />
+ </intent-filter>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.notification.modes.ZenModeFragment"/>
+ <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+ android:value="true" />
+ </activity>
+
+ <activity
android:name=".notification.zen.ZenSuggestionActivity"
android:label="@string/zen_mode_settings_title"
android:icon="@drawable/ic_suggestion_dnd"
@@ -1351,11 +1408,13 @@
android:label="@string/zen_mode_automation_settings_title"
android:icon="@drawable/ic_notifications"
android:exported="true">
- <intent-filter android:priority="1">
+ <intent-filter android:priority="10"
+ android:featureFlag="!android.app.modes_ui">
<action android:name="android.settings.ZEN_MODE_AUTOMATION_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
- <intent-filter android:priority="1">
+ <intent-filter android:priority="10"
+ android:featureFlag="!android.app.modes_ui">
<action android:name="android.settings.ACTION_CONDITION_PROVIDER_SETTINGS" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
@@ -1368,6 +1427,19 @@
android:value="true" />
</activity>
+ <activity
+ android:name=".Settings$ManageAdaptiveNotificationsActivity"
+ android:exported="true">
+ <intent-filter>
+ <action android:name="android.settings.MANAGE_ADAPTIVE_NOTIFICATIONS"/>
+ <category android:name="android.intent.category.DEFAULT"/>
+ </intent-filter>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.notification.PoliteNotificationsPreferenceFragment" />
+ <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
+ android:value="@string/menu_key_notifications"/>
+ </activity>
+
<activity android:name="Settings$WallpaperSettingsActivity"
android:label="@string/wallpaper_settings_fragment_title"
android:icon="@drawable/ic_wallpaper"
@@ -2727,7 +2799,9 @@
<activity android:name=".biometrics.fingerprint.FingerprintSettings"
android:exported="false"
android:taskAffinity="com.android.settings.root" />
- <activity android:name=".biometrics.fingerprint.FingerprintEnrollFindSensor" android:exported="false"/>
+ <activity android:name=".biometrics.fingerprint.FingerprintEnrollFindSensor"
+ android:exported="false"
+ android:theme="@style/GlifTheme.Light"/>
<activity android:name=".biometrics.fingerprint.FingerprintEnrollEnrolling" android:exported="false"/>
<activity android:name=".biometrics.fingerprint.FingerprintEnrollFinish" android:exported="false"/>
<activity android:name=".biometrics.fingerprint.FingerprintEnrollParentalConsent" android:exported="false"/>
@@ -2760,7 +2834,9 @@
android:theme="@style/GlifTheme.Light"
android:taskAffinity="com.android.settings.root" />
- <activity android:name=".biometrics.fingerprint.SetupFingerprintEnrollFindSensor" android:exported="false"/>
+ <activity android:name=".biometrics.fingerprint.SetupFingerprintEnrollFindSensor"
+ android:exported="false"
+ android:theme="@style/GlifTheme.Light"/>
<activity android:name=".biometrics.fingerprint.SetupFingerprintEnrollEnrolling" android:exported="false"/>
<activity android:name=".biometrics.fingerprint.SetupFingerprintEnrollFinish" android:exported="false"/>
<activity android:name=".biometrics.fingerprint.SetupFingerprintEnrollIntroduction"
@@ -2832,17 +2908,20 @@
<!-- Note this must not be exported since it returns the password in the intent -->
<activity android:name=".password.ConfirmLockPattern$InternalActivity"
android:exported="false"
+ android:enableOnBackInvokedCallback="false"
android:theme="@style/GlifTheme.Light"/>
<!-- Note this must not be exported since it returns the password in the intent -->
<activity android:name=".password.ConfirmLockPassword$InternalActivity"
android:exported="false"
android:windowSoftInputMode="adjustResize"
+ android:enableOnBackInvokedCallback="false"
android:theme="@style/GlifTheme.Light"/>
<activity android:name=".password.SetupChooseLockGeneric"
android:theme="@style/GlifTheme.Light"
android:exported="true"
+ android:enableOnBackInvokedCallback="false"
android:label="@string/lock_settings_picker_title">
<intent-filter android:priority="1">
<action android:name="com.android.settings.SETUP_LOCK_SCREEN" />
@@ -2852,16 +2931,19 @@
<activity android:name=".password.SetupChooseLockGeneric$InternalActivity"
android:exported="false"
+ android:enableOnBackInvokedCallback="false"
android:excludeFromRecents="true" />
<activity android:name=".password.ChooseLockGeneric"
android:label="@string/lockpassword_choose_lock_generic_header"
android:excludeFromRecents="true"
+ android:enableOnBackInvokedCallback="false"
android:exported="false" />
<activity android:name=".password.SetNewPasswordActivity"
android:theme="@android:style/Theme.NoDisplay"
android:exported="true"
+ android:enableOnBackInvokedCallback="false"
android:excludeFromRecents="true" >
<intent-filter android:priority="1">
<action android:name="android.app.action.SET_NEW_PASSWORD" />
@@ -2907,24 +2989,29 @@
<activity android:name=".password.ChooseLockGeneric$InternalActivity"
android:exported="false"
android:label="@string/lockpassword_choose_lock_generic_header"
+ android:enableOnBackInvokedCallback="false"
android:excludeFromRecents="true" />
<activity android:name=".password.SetupChooseLockPattern"
android:exported="false"
+ android:enableOnBackInvokedCallback="false"
android:theme="@style/GlifTheme.Light" />
<activity android:name=".password.ChooseLockPattern"
android:exported="false"
+ android:enableOnBackInvokedCallback="false"
android:theme="@style/GlifTheme.Light" />
<activity android:name=".password.SetupChooseLockPassword"
android:exported="false"
android:theme="@style/GlifTheme.Light"
+ android:enableOnBackInvokedCallback="false"
android:windowSoftInputMode="stateVisible|adjustResize" />
<activity android:name=".password.ChooseLockPassword"
android:exported="false"
android:theme="@style/GlifTheme.Light"
+ android:enableOnBackInvokedCallback="false"
android:windowSoftInputMode="stateVisible|adjustResize"/>
<activity
@@ -5100,6 +5187,15 @@
<activity android:name=".spa.SpaBridgeActivity" android:exported="false"/>
<activity android:name=".spa.SpaAppBridgeActivity" android:exported="false"/>
+ <activity
+ android:name=".spa.search.SpaSearchLandingActivity"
+ android:exported="true">
+ <intent-filter android:priority="1">
+ <action android:name="android.settings.SPA_SEARCH_LANDING" />
+ <category android:name="android.intent.category.DEFAULT" />
+ </intent-filter>
+ </activity>
+
<activity android:name=".Settings$FingerprintSettingsActivityV2"
android:label="@string/security_settings_fingerprint_preference_title"
android:exported="false"
diff --git a/aconfig/accessibility/accessibility_flags.aconfig b/aconfig/accessibility/accessibility_flags.aconfig
index 2c92547..3ed618b 100644
--- a/aconfig/accessibility/accessibility_flags.aconfig
+++ b/aconfig/accessibility/accessibility_flags.aconfig
@@ -11,6 +11,16 @@
}
flag {
+ name: "audio_balance_state_description"
+ namespace: "accessibility"
+ description: "Provides a more valuable state description to the audio balance slider."
+ bug: "319575109"
+ metadata {
+ purpose: PURPOSE_BUGFIX
+ }
+}
+
+flag {
name: "edit_shortcuts_in_full_screen"
namespace: "accessibility"
description: "Show the edit shorcuts screen in full screen, since the shortcut options are increasing."
diff --git a/aconfig/settings_bluetooth_declarations.aconfig b/aconfig/settings_bluetooth_declarations.aconfig
index c2684f2..b8b9d9f 100644
--- a/aconfig/settings_bluetooth_declarations.aconfig
+++ b/aconfig/settings_bluetooth_declarations.aconfig
@@ -24,3 +24,10 @@
purpose: PURPOSE_BUGFIX
}
}
+
+flag {
+ name: "enable_bluetooth_device_details_polish"
+ namespace: "cross_device_experiences"
+ description: "Gates whether to enable bluetooth device details polish"
+ bug: "343317785"
+}
diff --git a/aconfig/settings_connecteddevice_flag_declarations.aconfig b/aconfig/settings_connecteddevice_flag_declarations.aconfig
index 7942ccd..b255096 100644
--- a/aconfig/settings_connecteddevice_flag_declarations.aconfig
+++ b/aconfig/settings_connecteddevice_flag_declarations.aconfig
@@ -9,13 +9,26 @@
}
flag {
+ name: "rotation_connected_display_setting"
+ namespace: "display_manager"
+ description: "Allow changing rotation of the connected display."
+ bug: "294015706"
+}
+
+flag {
+ name: "resolution_and_enable_connected_display_setting"
+ namespace: "display_manager"
+ description: "Allow enabling/disabling and changing resolution of the connected display."
+ bug: "253296253"
+}
+
+flag {
name: "enable_auth_challenge_for_usb_preferences"
namespace: "safety_center"
description: "Gates whether to require an auth challenge for changing USB preferences"
bug: "317367746"
}
-
flag {
name: "enable_bonded_bluetooth_device_searchable"
namespace: "pixel_cross_device_control"
@@ -24,4 +37,14 @@
metadata {
purpose: PURPOSE_BUGFIX
}
+}
+
+flag {
+ name: "exclude_webcam_auth_challenge"
+ namespace: "safety_center"
+ description: "Gates whether to exclude webcam from USB preferences auth challenge."
+ bug: "349370229"
+ metadata {
+ purpose: PURPOSE_BUGFIX
+ }
}
\ No newline at end of file
diff --git a/proguard.flags b/proguard.flags
index 492404c..d1c97f3 100644
--- a/proguard.flags
+++ b/proguard.flags
@@ -65,3 +65,6 @@
-keep class androidx.window.extensions.** { *; }
-dontwarn androidx.window.extensions.**
-keep class androidx.window.** { *; }
+
+# Keep the com.android.settings.media_drm.FakeFeatureFlagsImpl
+-keep class com.android.settings.media_drm.FakeFeatureFlagsImpl { *; }
diff --git a/res-product/values-af/strings.xml b/res-product/values-af/strings.xml
index da5e11d..9aa1a22 100644
--- a/res-product/values-af/strings.xml
+++ b/res-product/values-af/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"\'n PIN word vereis om Gesigslot op te stel.\n\n\'n PIN beskerm die foon as dit verloor of gesteel word."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"\'n Patroon word vereis om Gesigslot op te stel.\n\n\'n Patroon beskerm die foon as dit verloor of gesteel word."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"\'n Wagwoord word vereis om Gesigslot op te stel.\n\n\'n Wagwoord beskerm die foon as dit verloor of gesteel word."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"\'n PIN word vereis om Gesigslot en Vingerafdrukslot op te stel.\n\n\'n PIN beskerm die tablet as dit verloor of gesteel word."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"\'n Patroon word vereis om Gesigslot en Vingerafdrukslot op te stel.\n\n\'n Patroon beskerm die tablet as dit verloor of gesteel word."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"\'n Wagwoord word vereis om Gesigslot en Vingerafdrukslot op te stel.\n\n\'n Wagwoord beskerm die tablet as dit verloor of gesteel word."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"\'n PIN word vereis om Gesigslot en Vingerafdrukslot op te stel.\n\n\'n PIN beskerm die toestel as dit verloor of gesteel word."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"\'n Patroon word vereis om Gesigslot en Vingerafdrukslot op te stel.\n\n\'n Patroon beskerm die toestel as dit verloor of gesteel word."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"\'n Wagwoord word vereis om Gesigslot en Vingerafdrukslot op te stel.\n\n\'n Wagwoord beskerm die toestel as dit verloor of gesteel word."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"\'n PIN word vereis om Gesigslot en Vingerafdrukslot op te stel.\n\n\'n PIN beskerm die foon as dit verloor of gesteel word."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"\'n Patroon word vereis om Gesigslot en Vingerafdrukslot op te stel.\n\n\'n Patroon beskerm die foon as dit verloor of gesteel word."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"\'n Wagwoord word vereis om Gesigslot en Vingerafdrukslot op te stel.\n\n\'n Wagwoord beskerm die foon as dit verloor of gesteel word."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"’n PIN word vereis om Vingerafdrukslot en Gesigslot op te stel.\n\n’n PIN beskerm die tablet as dit verloor of gesteel word."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"’n Patroon word vereis om Vingerafdrukslot en Gesigslot op te stel.\n\n’n Patroon beskerm die tablet as dit verloor of gesteel word."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"’n Wagwoord word vereis om Vingerafdrukslot en Gesigslot op te stel.\n\n’n Wagwoord beskerm die tablet as dit verloor of gesteel word."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"’n PIN word vereis om Vingerafdrukslot en Gesigslot op te stel.\n\n’n PIN beskerm die toestel as dit verloor of gesteel word."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"’n Patroon word vereis om Vingerafdrukslot en Gesigslot op te stel.\n\n’n Patroon beskerm die toestel as dit verloor of gesteel word."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"’n Wagwoord word vereis om Vingerafdrukslot en Gesigslot op te stel.\n\n’n Wagwoord beskerm die toestel as dit verloor of gesteel word."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"’n PIN word vereis om Vingerafdrukslot en Gesigslot op te stel.\n\n’n PIN beskerm die foon as dit verloor of gesteel word."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"’n Patroon word vereis om Vingerafdrukslot en Gesigslot op te stel.\n\n’n Patroon beskerm die foon as dit verloor of gesteel word."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"’n Wagwoord word vereis om Vingerafdrukslot en Gesigslot op te stel.\n\n’n Wagwoord beskerm die foon as dit verloor of gesteel word."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Dit vee die vingerafdrukprente en -model uit wat met \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" geassosieer word en op jou foon geberg is"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Dit vee die vingerafdrukprente en -model uit wat met \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" geassosieer word en op jou tablet geberg is"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Dit vee die vingerafdrukprente en -model uit wat met \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" geassosieer word en op jou toestel geberg is"</string>
diff --git a/res-product/values-am/strings.xml b/res-product/values-am/strings.xml
index f798028..6a7d19b 100644
--- a/res-product/values-am/strings.xml
+++ b/res-product/values-am/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"በመልክ መክፈትን ለማዋቀር ፒን ያስፈልጋል።\n\nስልኩ ከጠፋ ወይም ከተሰረቀ ፒን ይጠብቀዋል።"</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"በመልክ መክፈትን ለማዋቀር ስርዓተ ጥለት ያስፈልጋል።\n\nስልኩ ከጠፋ ወይም ከተሰረቀ ስርዓተ ጥለት ይጠብቀዋል።"</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"በመልክ መክፈትን ለማዋቀር የይለፍ ቃል ያስፈልጋል።\n\nስልኩ ከጠፋ ወይም ከተሰረቀ የይለፍ ቃል ይጠብቀዋል።"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"በመልክ መክፈት እና በጣት አሻራ መክፈቻን ለማዋቀር ፒን ያስፈልጋል።\n\nጡባዊው ከጠፋ ወይም ከተሰረቀ ፒን ይጠብቀዋል።"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"በመልክ መክፈት እና በጣት አሻራ መክፈቻን ለማዋቀር ስርዓተ ጥለት ያስፈልጋል።\n\nጡባዊው ከጠፋ ወይም ከተሰረቀ ስርዓተ ጥለት ይጠብቀዋል።"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"በመልክ መክፈት እና በጣት አሻራ መክፈቻን ለማዋቀር የይለፍ ቃል ያስፈልጋል።\n\nጡባዊው ከጠፋ ወይም ከተሰረቀ የይለፍ ቃል ይጠብቀዋል።"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"በመልክ መክፈት እና በጣት አሻራ መክፈቻን ለማዋቀር ፒን ያስፈልጋል።\n\nመሣሪያው ከጠፋ ወይም ከተሰረቀ ፒን ይጠብቀዋል።"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"በመልክ መክፈት እና በጣት አሻራ መክፈቻን ለማዋቀር ስርዓተ ጥለት ያስፈልጋል።\n\nመሣሪያው ከጠፋ ወይም ከተሰረቀ ስርዓተ ጥለት ይጠብቀዋል።"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"በመልክ መክፈት እና በጣት አሻራ መክፈቻን ለማዋቀር የይለፍ ቃል ያስፈልጋል።\n\nመሣሪያው ከጠፋ ወይም ከተሰረቀ የይለፍ ቃል ይጠብቀዋል።"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"በመልክ መክፈት እና በጣት አሻራ መክፈቻን ለማዋቀር ፒን ያስፈልጋል።\n\nስልኩ ከጠፋ ወይም ከተሰረቀ ፒን ይጠብቀዋል።"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"በመልክ መክፈት እና በጣት አሻራ መክፈቻን ለማዋቀር ስርዓተ ጥለት ያስፈልጋል።\n\nስልኩ ከጠፋ ወይም ከተሰረቀ ስርዓተ ጥለት ይጠብቀዋል።"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"በመልክ መክፈት እና በጣት አሻራ መክፈቻን ለማዋቀር የይለፍ ቃል ያስፈልጋል።\n\nስልኩ ከጠፋ ወይም ከተሰረቀ የይለፍ ቃል ይጠብቀዋል።"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"በጣት አሻራ መክፈቻን እና በመልክ መክፈትን ለማዋቀር ፒን ያስፈልጋል።\n\nጡባዊው ከጠፋ ወይም ከተሰረቀ ፒን ይጠብቀዋል።"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"በጣት አሻራ መክፈቻን እና በመልክ መክፈትን ለማዋቀር ሥርዓተ ጥለት ያስፈልጋል።\n\nጡባዊው ከጠፋ ወይም ከተሰረቀ ሥርዓተ ጥለት ይጠብቀዋል።"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"በጣት አሻራ መክፈቻን እና በመልክ መክፈትን ለማዋቀር የይለፍ ቃል ያስፈልጋል።\n\nጡባዊው ከጠፋ ወይም ከተሰረቀ የይለፍ ቃል ይጠብቀዋል።"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"በጣት አሻራ መክፈቻን እና በመልክ መክፈትን ለማዋቀር ፒን ያስፈልጋል።\n\nመሣሪያው ከጠፋ ወይም ከተሰረቀ ፒን ይጠብቀዋል።"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"በጣት አሻራ መክፈቻን እና በመልክ መክፈትን ለማዋቀር ሥርዓተ ጥለት ያስፈልጋል።\n\nመሣሪያው ከጠፋ ወይም ከተሰረቀ ሥርዓተ ጥለት ይጠብቀዋል።"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"በጣት አሻራ መክፈቻን እና በመልክ መክፈት ለማዋቀር የይለፍ ቃል ያስፈልጋል።\n\nመሣሪያው ከጠፋ ወይም ከተሰረቀ የይለፍ ቃል ይጠብቀዋል።"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"በጣት አሻራ መክፈቻን እና በመልክ መክፈትን ለማዋቀር ፒን ያስፈልጋል።\n\nስልኩ ከጠፋ ወይም ከተሰረቀ ፒን ይጠብቀዋል።"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"በጣት አሻራ መክፈቻን እና በመልክ መክፈትን ለማዋቀር ሥርዓተ ጥለት ያስፈልጋል።\n\nስልኩ ከጠፋ ወይም ከተሰረቀ ሥርዓተ ጥለት ይጠብቀዋል።"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"በጣት አሻራ መክፈቻን እና በመልክ መክፈትን ለማዋቀር የይለፍ ቃል ያስፈልጋል።\n\nስልኩ ከጠፋ ወይም ከተሰረቀ የይለፍ ቃል ይጠብቀዋል።"</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"ይህ በስልክዎ ላይ የተከማቹት የጣት አሻራ ምስሎችን እና ከ«<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» ጋር የተጎዳኘውን ሞዴል ይሰርዛል"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"ይህ በጡባዊዎ ላይ የተከማቹት የጣት አሻራ ምስሎችን እና ከ«<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» ጋር የተጎዳኘውን ሞዴል ይሰርዛል"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"ይህ በመሣሪያዎ ላይ ከተከማቸው «<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» ጋር የተጎዳኙ የጣት አሻራ ምስሎችን እና ሞዴልን ይሰርዛል"</string>
diff --git a/res-product/values-ar/strings.xml b/res-product/values-ar/strings.xml
index 3e9ddb5..b936938 100644
--- a/res-product/values-ar/strings.xml
+++ b/res-product/values-ar/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"يجب ضبط رقم تعريف شخصي لإعداد ميزة \"فتح الجهاز بالتعرف على الوجه\".\n\nيحمي رقم التعريف الشخصي الهاتف في حال فقدانه أو سرقته."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"يجب ضبط نقش لإعداد ميزة \"فتح الجهاز بالتعرف على الوجه\".\n\nيحمي النقش الهاتف في حال فقدانه أو سرقته."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"يجب ضبط كلمة مرور لإعداد ميزة \"فتح الجهاز بالتعرف على الوجه\".\n\nتحمي كلمة المرور الهاتف في حال فقدانه أو سرقته."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"يجب ضبط رقم تعريف شخصي لإعداد ميزتَي \"فتح الجهاز بالتعرف على الوجه\" و\"فتح الجهاز ببصمة الإصبع\".\n\nيحمي رقم التعريف الشخصي الجهاز اللوحي في حال فقدانه أو سرقته."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"يجب ضبط نقش لإعداد ميزتَي \"فتح الجهاز بالتعرف على الوجه\" و\"فتح الجهاز ببصمة الإصبع\".\n\nيحمي النقش الجهاز اللوحي في حال فقدانه أو سرقته."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"يجب ضبط كلمة مرور لإعداد ميزتَي \"فتح الجهاز بالتعرف على الوجه\" و\"فتح الجهاز ببصمة الإصبع\".\n\nتحمي كلمة المرور الجهاز اللوحي في حال فقدانه أو سرقته."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"يجب ضبط رقم تعريف شخصي لإعداد ميزتَي \"فتح الجهاز بالتعرف على الوجه\" و\"فتح الجهاز ببصمة الإصبع\".\n\nيحمي رقم التعريف الشخصي الجهاز في حال فقدانه أو سرقته."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"يجب ضبط نقش لإعداد ميزتَي \"فتح الجهاز بالتعرف على الوجه\" و\"فتح الجهاز ببصمة الإصبع\".\n\nيحمي النقش الجهاز في حال فقدانه أو سرقته."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"يجب ضبط كلمة مرور لإعداد ميزتَي \"فتح الجهاز بالتعرف على الوجه\" و\"فتح الجهاز ببصمة الإصبع\".\n\nتحمي كلمة المرور الجهاز في حال فقدانه أو سرقته."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"يجب ضبط رقم تعريف شخصي لإعداد ميزتَي \"فتح الجهاز بالتعرف على الوجه\" و\"فتح الجهاز ببصمة الإصبع\".\n\nيحمي رقم التعريف الشخصي الهاتف في حال فقدانه أو سرقته."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"يجب ضبط نقش لإعداد ميزتَي \"فتح الجهاز بالتعرف على الوجه\" و\"فتح الجهاز ببصمة الإصبع\".\n\nيحمي النقش الهاتف في حال فقدانه أو سرقته."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"يجب ضبط كلمة مرور لإعداد ميزتَي \"فتح الجهاز بالتعرف على الوجه\" و\"فتح الجهاز ببصمة الإصبع\".\n\nتحمي كلمة المرور الهاتف في حال فقدانه أو سرقته."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"يجب ضبط رقم تعريف شخصي لإعداد ميزتَي \"فتح الجهاز ببصمة الإصبع\" و\"فتح الجهاز بالتعرف على الوجه\".\n\nيحمي رقم التعريف الشخصي الجهاز اللوحي في حال فقدانه أو سرقته."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"يجب ضبط نقش لإعداد ميزتَي \"فتح الجهاز ببصمة الإصبع\" و\"فتح الجهاز بالتعرف على الوجه\".\n\nيحمي النقش الجهاز اللوحي في حال فقدانه أو سرقته."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"يجب ضبط كلمة مرور لإعداد ميزتَي \"فتح الجهاز ببصمة الإصبع\" و\"فتح الجهاز بالتعرف على الوجه\".\n\nتحمي كلمة المرور الجهاز اللوحي في حال فقدانه أو سرقته."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"يجب ضبط رقم تعريف شخصي لإعداد ميزتَي \"فتح الجهاز ببصمة الإصبع\" و\"فتح الجهاز بالتعرف على الوجه\".\n\nيحمي رقم التعريف الشخصي الجهاز في حال فقدانه أو سرقته."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"يجب ضبط نقش لإعداد ميزتَي \"فتح الجهاز ببصمة الإصبع\" و\"فتح الجهاز بالتعرف على الوجه\".\n\nيحمي النقش الجهاز في حال فقدانه أو سرقته."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"يجب ضبط كلمة مرور لإعداد ميزتَي \"فتح الجهاز ببصمة الإصبع\" و\"فتح الجهاز بالتعرف على الوجه\".\n\nتحمي كلمة المرور الجهاز في حال فقدانه أو سرقته."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"يجب ضبط رقم تعريف شخصي لإعداد ميزتَي \"فتح الجهاز ببصمة الإصبع\" و\"فتح الجهاز بالتعرف على الوجه\".\n\nيحمي رقم التعريف الشخصي الهاتف في حال فقدانه أو سرقته."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"يجب ضبط نقش لإعداد ميزتَي \"فتح الجهاز ببصمة الإصبع\" و\"فتح الجهاز بالتعرف على الوجه\".\n\nيحمي النقش الهاتف في حال فقدانه أو سرقته."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"يجب ضبط كلمة مرور لإعداد ميزتَي \"فتح الجهاز ببصمة الإصبع\" و\"فتح الجهاز بالتعرف على الوجه\".\n\nتحمي كلمة المرور الهاتف في حال فقدانه أو سرقته."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"يؤدي هذا الإجراء إلى حذف النموذج والصور المرتبطة ببصمة الإصبع \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\"، والتي تم تخزينها على هاتفك"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"يؤدي هذا الإجراء إلى حذف النموذج والصور المرتبطة ببصمة الإصبع \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\"، والتي تم تخزينها على جهازك اللوحي"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"يؤدي هذا الإجراء إلى حذف النموذج والصور المرتبطة ببصمة الإصبع \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\"، والتي تم تخزينها على جهازك"</string>
diff --git a/res-product/values-as/strings.xml b/res-product/values-as/strings.xml
index 157f78a..9d9dd51 100644
--- a/res-product/values-as/strings.xml
+++ b/res-product/values-as/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"ফেচ আনলক ছেট আপ কৰিবলৈ এটা পিনৰ আৱশ্যক।\n\nএটা পিনে ফ’নটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"ফেচ আনলক ছেট আপ কৰিবলৈ এটা আৰ্হিৰ আৱশ্যক।\n\nএটা আৰ্হিয়ে ফ’নটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"ফেচ আনলক ছেট আপ কৰিবলৈ এটা পাছৱৰ্ডৰ আৱশ্যক।\n\nএটা পাছৱৰ্ডে ফ’নটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"ফেচ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পিনৰ আৱশ্যক।\n\nএটা পিনে টেবলেটটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"ফেচ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা আৰ্হিৰ আৱশ্যক।\n\nএটা আৰ্হিয়ে টেবলেটটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"ফেচ আনলক ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পাছৱৰ্ডৰ আৱশ্যক।\n\nএটা পাছৱৰ্ডে টেবলেটটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"ফেচ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পিনৰ আৱশ্যক।\n\nএটা পিনে ডিভাইছটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"ফেচ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা আৰ্হিৰ আৱশ্যক।\n\nএটা আৰ্হিয়ে ডিভাইছটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"ফেচ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পাছৱৰ্ডৰ আৱশ্যক।\n\nএটা পাছৱৰ্ডে ডিভাইচটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"ফেচ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পিনৰ আৱশ্যক।\n\nএটা পিনে ফ’নটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"ফেচ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা আৰ্হিৰ আৱশ্যক।\n\nএটা আৰ্হিয়ে ফ’নটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"ফেচ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পাছৱৰ্ডৰ আৱশ্যক।\n\nএটা পাছৱৰ্ডে ফ’নটো হেৰালে অথবা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"ফে’চ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পিনৰ আৱশ্যক।\n\nএটা পিনে টেবলেটটো হেৰালে বা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"ফে’চ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা আৰ্হিৰ আৱশ্যক।\n\nএটা আৰ্হিয়ে টেবলেটটো হেৰালে বা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"ফে’চ আনলক ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পাছৱৰ্ডৰ আৱশ্যক।\n\nএটা পাছৱৰ্ডে টেবলেটটো হেৰালে বা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"ফে’চ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পিনৰ আৱশ্যক।\n\nএটা পিনে ডিভাইচটো হেৰালে বা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"ফে’চ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা আৰ্হিৰ আৱশ্যক।\n\nএটা আৰ্হিয়ে ডিভাইচটো হেৰালে বা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"ফে’চ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পাছৱৰ্ডৰ আৱশ্যক।\n\nএটা পাছৱৰ্ডে ডিভাইচটো হেৰালে বা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"ফে’চ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পিনৰ আৱশ্যক।\n\nএটা পিনে ফ’নটো হেৰালে বা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"ফে’চ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা আৰ্হিৰ আৱশ্যক।\n\nএটা আৰ্হিয়ে ফ’নটো হেৰালে বা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"ফে’চ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিবলৈ এটা পাছৱৰ্ডৰ আৱশ্যক।\n\nএটা পাছৱৰ্ডে ফ’নটো হেৰালে বা চুৰি হ’লে সেইটো সুৰক্ষিত কৰে।"</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"এইটোৱে আপোনাৰ ফ’নটোত ষ্ট’ৰ হৈ থকা \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'ৰ সৈতে জড়িত ফিংগাৰপ্ৰিণ্টৰ প্ৰতিচ্ছবি আৰু মডেল মচি পেলায়"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"এইটোৱে আপোনাৰ টেবলেটটোত ষ্ট’ৰ হৈ থকা \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'ৰ সৈতে জড়িত ফিংগাৰপ্ৰিণ্টৰ প্ৰতিচ্ছবি আৰু মডেল মচি পেলায়"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"এইটোৱে আপোনাৰ ডিভাইচত ষ্ট’ৰ হৈ থকা \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'ৰ সৈতে জড়িত ফিংগাৰপ্ৰিণ্টৰ প্ৰতিচ্ছবি আৰু মডেল মচি পেলায়"</string>
diff --git a/res-product/values-az/strings.xml b/res-product/values-az/strings.xml
index 62f2db8..b54794c 100644
--- a/res-product/values-az/strings.xml
+++ b/res-product/values-az/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Feyskontrol üçün PIN lazımdır.\n\nCihaz itəndə və ya oğurlananda məlumatları qoruyur."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Üz ilə kiliddən çıxarma ayarlamaq üçün model tələb edilir.\n\nTelefonunuz itdikdə və ya oğurlandıqda model onu qoruyur."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Üz ilə kiliddən çıxarma ayarlamaq üçün parol tələb edilir.\n\nTelefonunuz itdikdə və ya oğurlandıqda parol onu qoruyur."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Feyskontrol və barmaq izi ilə kiliddən çıxarmaq üçün PIN lazımdır.\n\nCihaz itəndə və ya oğurlananda məlumatları qoruyur."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Üz ilə kiliddən çıxarma və Barmaq izi ilə kiliddən çıxarma ayarlamaq üçün model tələb edilir.\n\nPlanşetiniz itdikdə və ya oğurlandıqda model onu qoruyur."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Üz ilə kiliddən çıxarma və Barmaq izi ilə kiliddən çıxarma ayarlamaq üçün parol tələb edilir.\n\nPlanşetiniz itdikdə və ya oğurlandıqda parol onu qoruyur."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Feyskontrol və barmaq izi ilə kiliddən çıxarmaq üçün PIN lazımdır.\n\nCihaz itəndə və ya oğurlananda məlumatları qoruyur."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Üz ilə kiliddən çıxarma və Barmaq izi ilə kiliddən çıxarma ayarlamaq üçün model tələb edilir.\n\nCihazınız itdikdə və ya oğurlandıqda model onu qoruyur."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Üz ilə kiliddən çıxarma və Barmaq izi ilə kiliddən çıxarma ayarlamaq üçün parol tələb edilir.\n\nCihazınız itdikdə və ya oğurlandıqda parol onu qoruyur."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Feyskontrol və barmaq izi ilə kiliddən çıxarmaq üçün PIN lazımdır.\n\nCihaz itəndə və ya oğurlananda məlumatları qoruyur."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Üz ilə kiliddən çıxarma və Barmaq izi ilə kiliddən çıxarma ayarlamaq üçün model tələb edilir.\n\nTelefonunuz itdikdə və ya oğurlandıqda model onu qoruyur."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Üz ilə kiliddən çıxarma və Barmaq izi ilə kiliddən çıxarma ayarlamaq üçün parol tələb edilir.\n\nTelefonunuz itdikdə və ya oğurlandıqda parol onu qoruyur."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Barmaqla Kilidaçma və Üzlə Kilidaçma ayarlamaq üçün PIN tələb edilir.\n\nPlanşet itdikdə və ya oğurlandıqda PIN onu qoruyur."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Barmaqla Kilidaçma və Üzlə Kilidaçma ayarlamaq üçün model tələb edilir.\n\nPlanşet itdikdə və ya oğurlandıqda model onu qoruyur."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Barmaqla Kilidaçma və Üzlə Kilidaçma ayarlamaq üçün parol tələb edilir.\n\nPlanşet itdikdə və ya oğurlandıqda parol onu qoruyur."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Barmaqla Kilidaçma və Üzlə Kilidaçma ayarlamaq üçün PIN tələb edilir.\n\nCihaz itdikdə və ya oğurlandıqda PIN onu qoruyur."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Barmaqla Kilidaçma və Üzlə Kilidaçma ayarlamaq üçün model tələb edilir.\n\nCihaz itdikdə və ya oğurlandıqda model onu qoruyur."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Barmaqla Kilidaçma və Üzlə Kilidaçma ayarlamaq üçün parol tələb edilir.\n\nCihaz itdikdə və ya oğurlandıqda parol onu qoruyur."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Barmaqla Kilidaçma və Üzlə Kilidaçma ayarlamaq üçün PIN tələb edilir.\n\nTelefon itdikdə və ya oğurlandıqda PIN onu qoruyur."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Barmaqla Kilidaçma və Üzlə Kilidaçma ayarlamaq üçün model tələb edilir.\n\nTelefon itdikdə və ya oğurlandıqda model onu qoruyur."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Barmaqla Kilidaçma və Üzlə Kilidaçma ayarlamaq üçün parol tələb edilir.\n\nTelefon itdikdə və ya oğurlandıqda parol onu qoruyur."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Bu, telefonunuzda saxlanılan \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ilə əlaqəli barmaq izi şəkillərini və modelini silir"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Bu, planşetinizdə saxlanılan \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ilə əlaqəli barmaq izi şəkillərini və modelini silir"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Bu, cihazınızda saxlanılan \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ilə əlaqəli barmaq izi şəkillərini və modelini silir"</string>
diff --git a/res-product/values-b+sr+Latn/strings.xml b/res-product/values-b+sr+Latn/strings.xml
index bbb1d70..7926331 100644
--- a/res-product/values-b+sr+Latn/strings.xml
+++ b/res-product/values-b+sr+Latn/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Za podešavanje otključavanja licem neophodan je PIN.\n\nPIN štiti telefon ako ga izgubite ili ga neko ukrade."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Za podešavanje otključavanja licem neophodan je šablon.\n\nŠablon štiti telefon ako ga izgubite ili ga neko ukrade."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Za podešavanje otključavanja licem neophodna je lozinka.\n\nLozinka štiti telefon ako ga izgubite ili ga neko ukrade."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Za podešavanje otključavanja licem i otiskom prsta neophodan je PIN.\n\nPIN štiti tablet ako ga izgubite ili ga neko ukrade."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Za podešavanje otključavanja licem i otiskom prsta neophodan je šablon.\n\nŠablon štiti tablet ako ga izgubite ili ga neko ukrade."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Za podešavanje otključavanja licem i otiskom prsta neophodna je lozinka.\n\nLozinka štiti tablet ako ga izgubite ili ga neko ukrade."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Za podešavanje otključavanja licem i otiskom prsta neophodan je PIN.\n\nPIN štiti uređaj ako ga izgubite ili ga neko ukrade."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Za podešavanje otključavanja licem i otiskom prsta neophodan je šablon.\n\nŠablon štiti uređaj ako ga izgubite ili ga neko ukrade."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Za podešavanje otključavanja licem i otiskom prsta neophodna je lozinka.\n\nLozinka štiti uređaj ako ga izgubite ili ga neko ukrade."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Za podešavanje otključavanja licem i otiskom prsta neophodan je PIN.\n\nPIN štiti telefon ako ga izgubite ili ga neko ukrade."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Za podešavanje otključavanja licem i otiskom prsta neophodan je šablon.\n\nŠablon štiti telefon ako ga izgubite ili ga neko ukrade."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Za podešavanje otključavanja licem i otiskom prsta neophodna je lozinka.\n\nLozinka štiti telefon ako ga izgubite ili ga neko ukrade."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Za podešavanje otključavanja otiskom prsta i otključavanja licem neophodan je PIN.\n\nPIN štiti tablet ako ga izgubite ili ga neko ukrade."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Za podešavanje otključavanja otiskom prsta i otključavanja licem neophodan je šablon.\n\nŠablon štiti tablet ako ga izgubite ili ga neko ukrade."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Za podešavanje otključavanja otiskom prsta i otključavanja licem neophodna je lozinka.\n\nLozinka štiti tablet ako ga izgubite ili ga neko ukrade."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Za podešavanje otključavanja otiskom prsta i otključavanja licem neophodan je PIN.\n\nPIN štiti uređaj ako ga izgubite ili ga neko ukrade."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Za podešavanje otključavanja otiskom prsta i otključavanja licem neophodan je šablon.\n\nŠablon štiti uređaj ako ga izgubite ili ga neko ukrade."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Za podešavanje otključavanja otiskom prsta i otključavanja licem neophodna je lozinka.\n\nLozinka štiti uređaj ako ga izgubite ili ga neko ukrade."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Za podešavanje otključavanja otiskom prsta i otključavanja licem neophodan je PIN.\n\nPIN štiti telefon ako ga izgubite ili ga neko ukrade."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Za podešavanje otključavanja otiskom prsta i otključavanja licem neophodan je šablon.\n\nŠablon štiti telefon ako ga izgubite ili ga neko ukrade."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Za podešavanje otključavanja otiskom prsta i otključavanja licem neophodna je lozinka.\n\nLozinka štiti telefon ako ga izgubite ili ga neko ukrade."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Ovim se brišu slike i model otiska prsta u vezi sa otiskom <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> koji su sačuvani na telefonu"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Ovim se brišu slike i model otiska prsta u vezi sa otiskom <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> koji su sačuvani na tabletu"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Ovim se brišu slike i model otiska prsta u vezi sa otiskom <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> koji su sačuvani na uređaju"</string>
diff --git a/res-product/values-be/strings.xml b/res-product/values-be/strings.xml
index 2fe5f40..d4d2f19 100644
--- a/res-product/values-be/strings.xml
+++ b/res-product/values-be/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Каб наладзіць распазнаванне твару, неабходна ўвесці PIN-код.\n\nPIN-код абараняе тэлефон у выпадку страты ці крадзяжу."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Каб наладзіць распазнаванне твару, неабходна ўвесці ўзор разблакіроўкі.\n\nУзор разблакіроўкі абараняе тэлефон у выпадку страты ці крадзяжу."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Каб наладзіць распазнаванне твару, неабходна ўвесці пароль.\n\nПароль абараняе тэлефон у выпадку страты ці крадзяжу."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Каб наладзіць распазнаванне твару і разблакіроўку адбіткам пальца, неабходна ўвесці PIN-код.\n\nPIN-код абараняе планшэт у выпадку страты ці крадзяжу."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Каб наладзіць распазнаванне твару і разблакіроўку адбіткам пальца, неабходна ўвесці ўзор разблакіроўкі.\n\nУзор разблакіроўкі абараняе планшэт у выпадку страты ці крадзяжу."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Каб наладзіць распазнаванне твару і разблакіроўку адбіткам пальца, неабходна ўвесці пароль.\n\nПароль абараняе планшэт у выпадку страты ці крадзяжу."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Каб наладзіць распазнаванне твару і разблакіроўку адбіткам пальца, неабходна ўвесці PIN-код.\n\nPIN-код абараняе прыладу ў выпадку страты ці крадзяжу."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Каб наладзіць распазнаванне твару і разблакіроўку адбіткам пальца, неабходна ўвесці ўзор разблакіроўкі.\n\nУзор разблакіроўкі абараняе прыладу ў выпадку страты ці крадзяжу."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Каб наладзіць распазнаванне твару і разблакіроўку адбіткам пальца, неабходна ўвесці пароль.\n\nПароль абараняе прыладу ў выпадку страты ці крадзяжу."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Каб наладзіць распазнаванне твару і разблакіроўку адбіткам пальца, неабходна ўвесці PIN-код.\n\nPIN-код абараняе тэлефон у выпадку страты ці крадзяжу."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Каб наладзіць распазнаванне твару і разблакіроўку адбіткам пальца, неабходна ўвесці ўзор разблакіроўкі.\n\nУзор разблакіроўкі абараняе тэлефон у выпадку страты ці крадзяжу."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Каб наладзіць распазнаванне твару і разблакіроўку адбіткам пальца, неабходна ўвесці пароль.\n\nПароль абараняе тэлефон у выпадку страты ці крадзяжу."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Каб наладзіць разблакіроўку адбіткам пальца і распазнаванне твару, неабходна ўвесці PIN-код.\n\nPIN-код абараняе планшэт у выпадку страты ці крадзяжу."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Каб наладзіць разблакіроўку адбіткам пальца і распазнаванне твару, неабходна ўвесці ўзор разблакіроўкі.\n\nУзор разблакіроўкі абараняе планшэт у выпадку страты ці крадзяжу."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Каб наладзіць разблакіроўку адбіткам пальца і распазнаванне твару, неабходна ўвесці пароль.\n\nПароль абараняе планшэт у выпадку страты ці крадзяжу."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Каб наладзіць разблакіроўку адбіткам пальца і распазнаванне твару, неабходна ўвесці PIN-код.\n\nPIN-код абараняе прыладу ў выпадку страты ці крадзяжу."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Каб наладзіць разблакіроўку адбіткам пальца і распазнаванне твару, неабходна ўвесці ўзор разблакіроўкі.\n\nУзор разблакіроўкі абараняе прыладу ў выпадку страты ці крадзяжу."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Каб наладзіць разблакіроўку адбіткам пальца і распазнаванне твару, неабходна ўвесці пароль.\n\nПароль абараняе прыладу ў выпадку страты ці крадзяжу."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Каб наладзіць разблакіроўку адбіткам пальца і распазнаванне твару, неабходна ўвесці PIN-код.\n\nPIN-код абараняе тэлефон у выпадку страты ці крадзяжу."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Каб наладзіць разблакіроўку адбіткам пальца і распазнаванне твару, неабходна ўвесці ўзор разблакіроўкі.\n\nУзор разблакіроўкі абараняе тэлефон у выпадку страты ці крадзяжу."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Каб наладзіць разблакіроўку адбіткам пальца і распазнаванне твару, неабходна ўвесці пароль.\n\nПароль абараняе тэлефон у выпадку страты ці крадзяжу."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Відарысы і мадэль адбіткаў пальцаў, звязаныя з адбіткам \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\", будуць выдалены з тэлефона"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Відарысы і мадэль адбіткаў пальцаў, звязаныя з адбіткам \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\", будуць выдалены з планшэта"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Відарысы і мадэль адбіткаў пальцаў, звязаныя з адбіткам \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\", будуць выдалены з прылады"</string>
diff --git a/res-product/values-bg/strings.xml b/res-product/values-bg/strings.xml
index bd8df6d..d9c1be5 100644
--- a/res-product/values-bg/strings.xml
+++ b/res-product/values-bg/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"За настройване на функцията за отключване с лице се изисква ПИН код.\n\nПИН кодът защитава телефона, ако бъде изгубен или откраднат."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"За настройване на функцията за отключване с лице се изисква фигура.\n\nФигурата защитава телефона, ако бъде изгубен или откраднат."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"За настройване на функцията за отключване с лице се изисква парола.\n\nПаролата защитава телефона, ако бъде изгубен или откраднат."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"За настройване на функциите за отключване с лице и отпечатък се изисква ПИН код.\n\nПИН кодът защитава таблета, ако бъде изгубен или откраднат."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"За настройване на функциите за отключване с лице и отпечатък се изисква фигура.\n\nФигурата защитава таблета, ако бъде изгубен или откраднат."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"За настройване на функциите за отключване с лице и отпечатък се изисква парола.\n\nПаролата защитава таблета, ако бъде изгубен или откраднат."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"За настройване на функциите за отключване с лице и отпечатък се изисква ПИН код.\n\nПИН кодът защитава устройството, ако бъде изгубено или откраднато."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"За настройване на функциите за отключване с лице и отпечатък се изисква фигура.\n\nФигурата защитава устройството, ако бъде изгубено или откраднато."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"За настройване на функциите за отключване с лице и отпечатък се изисква парола.\n\nПаролата защитава устройството, ако бъде изгубено или откраднато."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"За настройване на функциите за отключване с лице и отпечатък се изисква ПИН код.\n\nПИН кодът защитава телефона, ако бъде изгубен или откраднат."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"За настройване на функциите за отключване с лице и отпечатък се изисква фигура.\n\nФигурата защитава телефона, ако бъде изгубен или откраднат."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"За настройване на функциите за отключване с лице и отпечатък се изисква парола.\n\nПаролата защитава телефона, ако бъде изгубен или откраднат."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"За настройване на функциите за отключване с лице и отпечатък се изисква ПИН код.\n\nПИН кодът защитава таблета, ако бъде изгубен или откраднат."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"За настройване на функциите за отключване с лице и отпечатък се изисква фигура.\n\nФигурата защитава таблета, ако бъде изгубен или откраднат."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"За настройване на функциите за отключване с лице и отпечатък се изисква парола.\n\nПаролата защитава таблета, ако бъде изгубен или откраднат."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"За настройване на функциите за отключване с лице и отпечатък се изисква ПИН код.\n\nПИН кодът защитава устройството, ако бъде изгубено или откраднато."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"За настройване на функциите за отключване с лице и отпечатък се изисква фигура.\n\nФигурата защитава устройството, ако бъде изгубено или откраднато."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"За настройване на функциите за отключване с лице и отпечатък се изисква парола.\n\nПаролата защитава устройството, ако бъде изгубено или откраднато."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"За настройване на функциите за отключване с лице и отпечатък се изисква ПИН код.\n\nПИН кодът защитава телефона, ако бъде изгубен или откраднат."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"За настройване на функциите за отключване с лице и отпечатък се изисква фигура.\n\nФигурата защитава телефона, ако бъде изгубен или откраднат."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"За настройване на функциите за отключване с лице и отпечатък се изисква парола.\n\nПаролата защитава телефона, ако бъде изгубен или откраднат."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Това действие ще изтрие изображенията и модела на отпечатъка, свързани с(ъс) <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> и съхранявани на телефона ви"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Това действие ще изтрие изображенията и модела на отпечатъка, свързани с(ъс) <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> и съхранявани на таблета ви"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Това действие ще изтрие изображенията и модела на отпечатъка, свързани с(ъс) <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> и съхранявани на това устройство"</string>
diff --git a/res-product/values-bn/strings.xml b/res-product/values-bn/strings.xml
index d7e0e3a..e7187b6 100644
--- a/res-product/values-bn/strings.xml
+++ b/res-product/values-bn/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"\'ফেস আনলক\' সেট আপ করতে একটি পিন প্রয়োজন।\n\nফোন হারিয়ে বা চুরি হয়ে গেলে, পিন সেটি সুরক্ষিত রাখে।"</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"\'ফেস আনলক\' সেট আপ করতে একটি প্যাটার্ন প্রয়োজন।\n\nফোন হারিয়ে বা চুরি হয়ে গেলে, প্যাটার্ন সেটি সুরক্ষিত রাখে।"</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"\'ফেস আনলক\' সেট আপ করতে একটি পাসওয়ার্ড প্রয়োজন।\n\nফোন হারিয়ে বা চুরি হয়ে গেলে, পাসওয়ার্ড সেটি সুরক্ষিত রাখে।"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"\'ফেস আনলক\' এবং \'ফিঙ্গারপ্রিন্ট আনলক\' সেট আপ করতে একটি পিন প্রয়োজন।\n\nট্যাবলেট হারিয়ে বা চুরি হয়ে গেলে, পিন সেটি সুরক্ষিত রাখে।"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"\'ফেস আনলক\' এবং \'ফিঙ্গারপ্রিন্ট আনলক\' সেট আপ করতে একটি প্যাটার্ন প্রয়োজন।\n\nট্যাবলেট হারিয়ে বা চুরি হয়ে গেলে, প্যাটার্ন সেটি সুরক্ষিত রাখে।"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"\'ফেস আনলক\' এবং \'ফিঙ্গারপ্রিন্ট আনলক\' সেট আপ করতে একটি পাসওয়ার্ড প্রয়োজন।\n\nট্যাবলেট হারিয়ে বা চুরি হয়ে গেলে, পাসওয়ার্ড সেটি সুরক্ষিত রাখে।"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"\'ফেস আনলক\' এবং \'ফিঙ্গারপ্রিন্ট আনলক\' সেট আপ করতে একটি পিন প্রয়োজন।\n\nডিভাইস হারিয়ে বা চুরি হয়ে গেলে, পিন সেটি সুরক্ষিত রাখে।"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"\'ফেস আনলক\' এবং \'ফিঙ্গারপ্রিন্ট আনলক\' সেট আপ করতে একটি প্যাটার্ন প্রয়োজন।\n\nডিভাইস হারিয়ে বা চুরি হয়ে গেলে, প্যাটার্ন সেটি সুরক্ষিত রাখে।"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"\'ফেস আনলক\' এবং \'ফিঙ্গারপ্রিন্ট আনলক\' সেট আপ করতে একটি পাসওয়ার্ড প্রয়োজন।\n\nডিভাইস হারিয়ে বা চুরি হয়ে গেলে, পাসওয়ার্ড সেটি সুরক্ষিত রাখে।"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"\'ফেস আনলক\' এবং \'ফিঙ্গারপ্রিন্ট আনলক\' সেট আপ করতে একটি পিন প্রয়োজন।\n\nফোন হারিয়ে বা চুরি হয়ে গেলে, পিন সেটি সুরক্ষিত রাখে।"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"\'ফেস আনলক\' এবং \'ফিঙ্গারপ্রিন্ট আনলক\' সেট-আপ করতে একটি প্যাটার্ন প্রয়োজন।\n\nফোন হারিয়ে বা চুরি হয়ে গেলে, প্যাটার্ন সেটি সুরক্ষিত রাখে।"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"\'ফেস আনলক\' এবং \'ফিঙ্গারপ্রিন্ট আনলক\' সেট আপ করতে একটি পাসওয়ার্ড প্রয়োজন।\n\nফোন হারিয়ে বা চুরি হয়ে গেলে, পাসওয়ার্ড সেটি সুরক্ষিত রাখে।"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"\'ফিঙ্গারপ্রিন্ট আনলক\' এবং \'ফেস আনলক\' সেট-আপ করতে পিন প্রয়োজন।\n\nট্যাবলেট হারিয়ে বা চুরি হয়ে গেলে, পিন সেটি সুরক্ষিত রাখে।"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"\'ফিঙ্গারপ্রিন্ট আনলক\' এবং \'ফেস আনলক\' সেট-আপ করতে প্যাটার্ন প্রয়োজন।\n\nট্যাবলেট হারিয়ে বা চুরি হয়ে গেলে, প্যাটার্ন সেটি সুরক্ষিত রাখে।"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"\'ফিঙ্গারপ্রিন্ট আনলক\' এবং \'ফেস আনলক\' সেট-আপ করতে পাসওয়ার্ড প্রয়োজন।\n\nট্যাবলেট হারিয়ে বা চুরি হয়ে গেলে, পাসওয়ার্ড সেটি সুরক্ষিত রাখে।"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"\'ফিঙ্গারপ্রিন্ট আনলক\' এবং \'ফেস আনলক\' সেট-আপ করতে পিন প্রয়োজন।\n\nডিভাইস হারিয়ে বা চুরি হয়ে গেলে, পিন সেটি সুরক্ষিত রাখে।"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"\'ফিঙ্গারপ্রিন্ট আনলক\' এবং \'ফেস আনলক\' সেট-আপ করতে প্যাটার্ন প্রয়োজন।\n\nডিভাইস হারিয়ে বা চুরি হয়ে গেলে, প্যাটার্ন সেটি সুরক্ষিত রাখে।"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"\'ফিঙ্গারপ্রিন্ট আনলক\' এবং \'ফেস আনলক\' সেট-আপ করতে পাসওয়ার্ড প্রয়োজন।\n\nডিভাইস হারিয়ে বা চুরি হয়ে গেলে, পাসওয়ার্ড সেটি সুরক্ষিত রাখে।"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"\'ফিঙ্গারপ্রিন্ট আনলক\' এবং \'ফেস আনলক\' সেট-আপ করতে পিন প্রয়োজন।\n\nফোন হারিয়ে বা চুরি হয়ে গেলে, পিন সেটি সুরক্ষিত রাখে।"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"\'ফিঙ্গারপ্রিন্ট আনলক\' এবং \'ফেস আনলক\' সেট-আপ করতে প্যাটার্ন প্রয়োজন।\n\nফোন হারিয়ে বা চুরি হয়ে গেলে, প্যাটার্ন সেটি সুরক্ষিত রাখে।"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"\'ফিঙ্গারপ্রিন্ট আনলক\' এবং \'ফেস আনলক\' সেট-আপ করতে পাসওয়ার্ড প্রয়োজন।\n\nফোন হারিয়ে বা চুরি হয়ে গেলে, পাসওয়ার্ড সেটি সুরক্ষিত রাখে।"</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"এটি আপনার ফোনে সেভ হয়ে থাকা \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'-এর সাথে সম্পর্কিত ফিঙ্গারপ্রিন্টের ছবি ও মডেল মুছে দেয়"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"এটি আপনার ট্যাবলেটে সেভ হয়ে থাকা ফিঙ্গারপ্রিন্টের ছবি এবং \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'-এর সাথে সম্পর্কিত অন্যান্য মডেল মুছে দেয়"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"এটি আপনার ডিভাইসে স্টোর হয়ে থাকা আঙ্গুলের ছাপের ইমেজ এবং \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'-এর সঙ্গে সম্পর্কিত অন্যান্য মডেল মুছে দেয়"</string>
diff --git a/res-product/values-bs/strings.xml b/res-product/values-bs/strings.xml
index 7586f2d..69460e5 100644
--- a/res-product/values-bs/strings.xml
+++ b/res-product/values-bs/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Za postavljanje otključavanja licem potreban je PIN.\n\nOn štiti telefon ako ga izgubite ili ga neko ukrade."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Za postavljanje otključavanja licem potreban je uzorak.\n\nOn štiti telefon ako ga izgubite ili ga neko ukrade."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Za postavljanje otključavanja licem potrebna je lozinka.\n\nOna štiti telefon ako ga izgubite ili ga neko ukrade."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Za postavljanje otključavanja licem i otključavanja otiskom prsta potreban je PIN.\n\nOn štiti tablet ako ga izgubite ili ga neko ukrade."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Za postavljanje otključavanja licem i otključavanja otiskom prsta potreban je uzorak.\n\nOn štiti tablet ako ga izgubite ili ga neko ukrade."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Za postavljanje otključavanja licem i otključavanja otiskom prsta potrebna je lozinka.\n\nOna štiti tablet ako ga izgubite ili ga neko ukrade."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Za postavljanje otključavanja licem i otključavanja otiskom prsta potreban je PIN.\n\nOn štiti uređaj ako ga izgubite ili ga neko ukrade."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Za postavljanje otključavanja licem i otključavanja otiskom prsta potreban je uzorak.\n\nOn štiti uređaj ako ga izgubite ili ga neko ukrade."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Za postavljanje otključavanja licem i otključavanja otiskom prsta potrebna je lozinka.\n\nOna štiti uređaj ako ga izgubite ili ga neko ukrade."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Za postavljanje otključavanja licem i otključavanja otiskom prsta potreban je PIN.\n\nOn štiti telefon ako ga izgubite ili ga neko ukrade."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Za postavljanje otključavanja licem i otključavanja otiskom prsta potreban je uzorak.\n\nOn štiti telefon ako ga izgubite ili ga neko ukrade."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Za postavljanje otključavanja licem i otključavanja otiskom prsta potrebna je lozinka.\n\nOna štiti telefon ako ga izgubite ili ga neko ukrade."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"PIN je obavezan da postavite otključavanje otiskom prsta i otključavanje licem.\n\nPIN štiti tablet u slučaju gubitka ili krađe."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Uzorak je obavezan da postavite otključavanje otiskom prsta i otključavanje licem.\n\nUzorak štiti tablet u slučaju gubitka ili krađe."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Lozinka je obavezna da postavite otključavanje otiskom prsta i otključavanje licem.\n\nLozinka štiti tablet u slučaju gubitka ili krađe."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"PIN je obavezan da postavite otključavanje otiskom prsta i otključavanje licem.\n\nPIN štiti uređaj u slučaju gubitka ili krađe."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Uzorak je obavezan da postavite otključavanje otiskom prsta i otključavanje licem.\n\nUzorak štiti uređaj u slučaju gubitka ili krađe."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Lozinka je obavezna da postavite otključavanje otiskom prsta i otključavanje licem.\n\nLozinka štiti uređaj u slučaju gubitka ili krađe."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"PIN je obavezan da postavite otključavanje otiskom prsta i otključavanje licem.\n\nPIN štiti telefon u slučaju gubitka ili krađe."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Uzorak je obavezan da postavite otključavanje otiskom prsta i otključavanje licem.\n\nUzorak štiti telefon u slučaju gubitka ili krađe."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Lozinka je obavezna da postavite otključavanje otiskom prsta i otključavanje licem.\n\nLozinka štiti telefon u slučaju gubitka ili krađe."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Ovim će se izbrisati slike i model otiska prsta koji su povezani s ID-om \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" i pohranjeni na vašem telefonu"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Ovim će se izbrisati slike i model otiska prsta koji su povezani s ID-om \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" i pohranjeni na vašem tabletu"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Ovim će se izbrisati slike i model otiska prsta koji su povezani s ID-om \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" i pohranjeni na vašem uređaju"</string>
diff --git a/res-product/values-ca/strings.xml b/res-product/values-ca/strings.xml
index bf2c066..e807aa1 100644
--- a/res-product/values-ca/strings.xml
+++ b/res-product/values-ca/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Cal definir un PIN per configurar Desbloqueig facial.\n\nEl PIN protegeix el telèfon si es perd o te\'l roben."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Cal definir un patró per configurar Desbloqueig facial.\n\nEl patró protegeix el telèfon si es perd o te\'l roben."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Cal definir una contrasenya per configurar Desbloqueig facial.\n\nLa contrasenya protegeix el telèfon si es perd o te\'l roben."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Cal definir un PIN per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl PIN protegeix la tauleta si es perd o te la roben."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Cal definir un patró per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl patró protegeix la tauleta si es perd o te la roben."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Cal definir una contrasenya per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nLa contrasenya protegeix la tauleta si es perd o te la roben."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Cal definir un PIN per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl PIN protegeix el dispositiu si es perd o te\'l roben."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Cal definir un patró per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl patró protegeix el dispositiu si es perd o te\'l roben."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Cal definir una contrasenya per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nLa contrasenya protegeix el dispositiu si es perd o te\'l roben."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Cal definir un PIN per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl PIN protegeix el telèfon si es perd o te\'l roben."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Cal definir un patró per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl patró protegeix el telèfon si es perd o te\'l roben."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Cal definir una contrasenya per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nLa contrasenya protegeix el telèfon si es perd o te\'l roben."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Cal definir un PIN per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl PIN protegeix la tauleta si es perd o te la roben."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Cal definir un patró per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl patró protegeix la tauleta si es perd o te la roben."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Cal definir una contrasenya per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nLa contrasenya protegeix la tauleta si es perd o te la roben."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Cal definir un PIN per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl PIN protegeix el dispositiu si es perd o te\'l roben."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Cal definir un patró per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl patró protegeix el dispositiu si es perd o te\'l roben."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Cal definir una contrasenya per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nLa contrasenya protegeix el dispositiu si es perd o te\'l roben."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Cal definir un PIN per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl PIN protegeix el telèfon si es perd o te\'l roben."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Cal definir un patró per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nEl patró protegeix el telèfon si es perd o te\'l roben."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Cal definir una contrasenya per configurar Desbloqueig facial i Desbloqueig amb empremta digital.\n\nLa contrasenya protegeix el telèfon si es perd o te\'l roben."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Aquesta acció suprimeix les imatges i el model d\'empremta digital associats a <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> que estan emmagatzemats al teu telèfon"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Aquesta acció suprimeix les imatges i el model d\'empremta digital associats a <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> que estan emmagatzemats a la teva tauleta"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Aquesta acció suprimeix les imatges i el model d\'empremta digital associats a <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> que estan emmagatzemats al teu dispositiu"</string>
diff --git a/res-product/values-cs/strings.xml b/res-product/values-cs/strings.xml
index 8502c24..47bd48b 100644
--- a/res-product/values-cs/strings.xml
+++ b/res-product/values-cs/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"K nastavení odemknutí obličejem je vyžadován PIN.\n\nPIN chrání telefon v případě ztráty nebo odcizení."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"K nastavení odemknutí obličejem je vyžadováno gesto.\n\nGesto chrání telefon v případě ztráty nebo odcizení."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"K nastavení odemknutí obličejem je vyžadováno heslo.\n\nHeslo chrání telefon v případě ztráty nebo odcizení."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"K nastavení odemknutí obličejem a odemknutí otiskem prstu je vyžadován PIN.\n\nPIN chrání tablet v případě ztráty nebo odcizení."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"K nastavení odemknutí obličejem a odemknutí otiskem prstu je vyžadováno gesto.\n\nGesto chrání tablet v případě ztráty nebo odcizení."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"K nastavení odemknutí obličejem a odemknutí otiskem prstu je vyžadováno heslo.\n\nHeslo chrání tablet v případě ztráty nebo odcizení."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"K nastavení odemknutí obličejem a odemknutí otiskem prstu je vyžadován PIN.\n\nPIN chrání zařízení v případě ztráty nebo odcizení."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"K nastavení odemknutí obličejem a odemknutí otiskem prstu je vyžadováno gesto.\n\nGesto chrání zařízení v případě ztráty nebo odcizení."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"K nastavení odemknutí obličejem a odemknutí otiskem prstu je vyžadováno heslo.\n\nHeslo chrání zařízení v případě ztráty nebo odcizení."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"K nastavení odemknutí obličejem a odemknutí otiskem prstu je vyžadován PIN.\n\nPIN chrání telefon v případě ztráty nebo odcizení."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"K nastavení odemknutí obličejem a odemknutí otiskem prstu je vyžadováno gesto.\n\nGesto chrání telefon v případě ztráty nebo odcizení."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"K nastavení odemknutí obličejem a odemknutí otiskem prstu je vyžadováno heslo.\n\nHeslo chrání telefon v případě ztráty nebo odcizení."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"K nastavení odemknutí otiskem prstu nebo obličejem je vyžadován PIN.\n\nPIN chrání tablet v případě ztráty nebo odcizení."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"K nastavení odemknutí otiskem prstu nebo obličejem je vyžadováno gesto.\n\nGesto chrání tablet v případě ztráty nebo odcizení."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"K nastavení odemknutí otiskem prstu nebo obličejem je vyžadováno heslo.\n\nHeslo chrání tablet v případě ztráty nebo odcizení."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"K nastavení odemknutí otiskem prstu nebo obličejem je vyžadován PIN.\n\nPIN chrání zařízení v případě ztráty nebo odcizení."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"K nastavení odemknutí otiskem prstu nebo obličejem je vyžadováno gesto.\n\nGesto chrání zařízení v případě ztráty nebo odcizení."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"K nastavení odemknutí otiskem prstu nebo obličejem je vyžadováno heslo.\n\nHeslo chrání zařízení v případě ztráty nebo odcizení."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"K nastavení odemknutí otiskem prstu nebo obličejem je vyžadován PIN.\n\nPIN chrání telefon v případě ztráty nebo odcizení."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"K nastavení odemknutí otiskem prstu nebo obličejem je vyžadováno gesto.\n\nGesto chrání telefon v případě ztráty nebo odcizení."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"K nastavení odemknutí otiskem prstu nebo obličejem je vyžadováno heslo.\n\nHeslo chrání telefon v případě ztráty nebo odcizení."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Touto akcí smažete snímky a model otisků prstů pro „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“, které jsou uloženy ve vašem telefonu."</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Touto akcí vymažete snímky a model otisků prstů pro „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“, které jsou uloženy ve vašem tabletu"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Touto akcí vymažete snímky a model otisku prstu pro „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“, které jsou uloženy ve vašem zařízení"</string>
diff --git a/res-product/values-da/strings.xml b/res-product/values-da/strings.xml
index d46edcf..cf3f60c 100644
--- a/res-product/values-da/strings.xml
+++ b/res-product/values-da/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Du skal angive en pinkode for at konfigurere ansigtsoplåsning.\n\nEn pinkode beskytter telefonen, hvis den bliver væk eller stjålet."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Du skal angive et mønster for at konfigurere ansigtsoplåsning.\n\nEt mønster beskytter telefonen, hvis den bliver væk eller stjålet."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Du skal angive en adgangskode for at konfigurere ansigtsoplåsning.\n\nEn adgangskode beskytter telefonen, hvis den bliver væk eller stjålet."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Du skal angive en pinkode for at konfigurere ansigts- og fingeroplåsning.\n\nEn pinkode beskytter din tablet, hvis den bliver væk eller stjålet."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Du skal angive et mønster for at konfigurere ansigts- og fingeroplåsning.\n\nEt mønster beskytter din tablet, hvis den bliver væk eller stjålet."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Du skal angive en adgangskode for at konfigurere ansigts- og fingeroplåsning.\n\nEn adgangskode beskytter din tablet, hvis den bliver væk eller stjålet."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Du skal angive en pinkode for at konfigurere ansigts- og fingeroplåsning.\n\nEn pinkode beskytter enheden, hvis den bliver væk eller stjålet."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Du skal angive et mønster for at konfigurere ansigts- og fingeroplåsning.\n\nEt mønster beskytter enheden, hvis den bliver væk eller stjålet."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Du skal angive en adgangskode for at konfigurere ansigts- og fingeroplåsning.\n\nEn adgangskode beskytter enheden, hvis den bliver væk eller stjålet."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Du skal angive en pinkode for at konfigurere ansigts- og fingeroplåsning.\n\nEn pinkode beskytter telefonen, hvis den bliver væk eller stjålet."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Du skal angive et mønster for at konfigurere ansigts- og fingeroplåsning.\n\nEt mønster beskytter telefonen, hvis den bliver væk eller stjålet."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Du skal angive en adgangskode for at konfigurere ansigts- og fingeroplåsning.\n\nEn adgangskode beskytter telefonen, hvis den bliver væk eller stjålet."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Du skal angive en pinkode for at konfigurere finger- og ansigtsoplåsning\n\nEn pinkode beskytter din tablet, hvis den bliver væk eller stjålet."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Du skal angive et mønster for at konfigurere finger- og ansigtsoplåsning.\n\nEt mønster beskytter din tablet, hvis den bliver væk eller stjålet."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Du skal angive en adgangskode for at konfigurere finger- og ansigtsoplåsning.\n\nEn adgangskode beskytter din tablet, hvis den bliver væk eller stjålet."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Du skal angive en pinkode for at konfigurere finger- og ansigtsoplåsning.\n\nEn pinkode beskytter enheden, hvis den bliver væk eller stjålet."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Du skal angive et mønster for at konfigurere finger- og ansigtsoplåsning.\n\nEt mønster beskytter enheden, hvis den bliver væk eller stjålet."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Du skal angive en adgangskode for at konfigurere finger- og ansigtsoplåsning.\n\nEn adgangskode beskytter enheden, hvis den bliver væk eller stjålet."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Du skal angive en pinkode for at konfigurere finger- og ansigtsoplåsning.\n\nEn pinkode beskytter telefonen, hvis den bliver væk eller stjålet."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Du skal angive et mønster for at konfigurere finger- og ansigtsoplåsning.\n\nEt mønster beskytter telefonen, hvis den bliver væk eller stjålet."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Du skal angive en adgangskode for at konfigurere finger- og ansigtsoplåsning.\n\nEn adgangskode beskytter telefonen, hvis den bliver væk eller stjålet."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Dette sletter de fingeraftryksbilleder og den fingeraftryksmodel, der er knyttet til \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\", og som er gemt på din telefon"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Dette sletter de fingeraftryksbilleder og den fingeraftryksmodel, der er knyttet til \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\", og som er gemt på din tablet"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Dette sletter de fingeraftryksbilleder og den fingeraftryksmodel, der er knyttet til \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\", og som er gemt på din enhed"</string>
diff --git a/res-product/values-de/strings.xml b/res-product/values-de/strings.xml
index b736873..22613bf 100644
--- a/res-product/values-de/strings.xml
+++ b/res-product/values-de/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Zum Einrichten der Entsperrung per Gesichtserkennung ist eine PIN erforderlich.\n\nEine PIN schützt das Smartphone, falls es verloren geht oder gestohlen wird."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Zum Einrichten der Entsperrung per Gesichtserkennung ist ein Muster erforderlich.\n\nEin Muster schützt das Smartphone, falls es verloren geht oder gestohlen wird."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Zum Einrichten der Entsperrung per Gesichtserkennung ist ein Passwort erforderlich.\n\nEin Passwort schützt das Smartphone, falls es verloren geht oder gestohlen wird."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Zum Einrichten der Entsperrung per Gesichtserkennung und der Entsperrung per Fingerabdruck ist eine PIN erforderlich.\n\nEine PIN schützt das Tablet, falls es verloren geht oder gestohlen wird."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Zum Einrichten der Entsperrung per Gesichtserkennung und der Entsperrung per Fingerabdruck ist ein Muster erforderlich.\n\nEin Muster schützt das Tablet, falls es verloren geht oder gestohlen wird."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Zum Einrichten der Entsperrung per Gesichtserkennung und der Entsperrung per Fingerabdruck ist ein Passwort erforderlich.\n\nEin Passwort schützt das Tablet, falls es verloren geht oder gestohlen wird."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Zum Einrichten der Entsperrung per Gesichtserkennung und der Entsperrung per Fingerabdruck ist eine PIN erforderlich.\n\nEine PIN schützt das Gerät, falls es verloren geht oder gestohlen wird."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Zum Einrichten der Entsperrung per Gesichtserkennung und der Entsperrung per Fingerabdruck ist ein Muster erforderlich.\n\nEin Muster schützt das Gerät, falls es verloren geht oder gestohlen wird."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Zum Einrichten der Entsperrung per Gesichtserkennung und der Entsperrung per Fingerabdruck ist ein Passwort erforderlich.\n\nEin Passwort schützt das Gerät, falls es verloren geht oder gestohlen wird."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Zum Einrichten der Entsperrung per Gesichtserkennung und der Entsperrung per Fingerabdruck ist eine PIN erforderlich.\n\nEine PIN schützt das Smartphone, falls es verloren geht oder gestohlen wird."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Zum Einrichten der Entsperrung per Gesichtserkennung und der Entsperrung per Fingerabdruck ist ein Muster erforderlich.\n\nEin Muster schützt das Smartphone, falls es verloren geht oder gestohlen wird."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Zum Einrichten der Entsperrung per Gesichtserkennung und der Entsperrung per Fingerabdruck ist ein Passwort erforderlich.\n\nEin Passwort schützt das Smartphone, falls es verloren geht oder gestohlen wird."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Zum Einrichten der Entsperrung per Fingerabdruck und der Entsperrung per Gesichtserkennung ist eine PIN erforderlich.\n\nEine PIN schützt das Tablet, falls es verloren geht oder gestohlen wird."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Zum Einrichten der Entsperrung per Fingerabdruck und der Entsperrung per Gesichtserkennung ist ein Muster erforderlich.\n\nEin Muster schützt das Tablet, falls es verloren geht oder gestohlen wird."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Zum Einrichten der Entsperrung per Fingerabdruck und der Entsperrung per Gesichtserkennung ist ein Passwort erforderlich.\n\nEin Passwort schützt das Tablet, falls es verloren geht oder gestohlen wird."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Zum Einrichten der Entsperrung per Fingerabdruck und der Entsperrung per Gesichtserkennung ist eine PIN erforderlich.\n\nEine PIN schützt das Gerät, falls es verloren geht oder gestohlen wird."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Zum Einrichten der Entsperrung per Fingerabdruck und der Entsperrung per Gesichtserkennung ist ein Muster erforderlich.\n\nEin Muster schützt das Gerät, falls es verloren geht oder gestohlen wird."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Zum Einrichten der Entsperrung per Fingerabdruck und der Entsperrung per Gesichtserkennung ist ein Passwort erforderlich.\n\nEin Passwort schützt das Gerät, falls es verloren geht oder gestohlen wird."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Zum Einrichten der Entsperrung per Fingerabdruck und der Entsperrung per Gesichtserkennung ist eine PIN erforderlich.\n\nEine PIN schützt das Smartphone, falls es verloren geht oder gestohlen wird."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Zum Einrichten der Entsperrung per Fingerabdruck und der Entsperrung per Gesichtserkennung ist ein Muster erforderlich.\n\nEin Muster schützt das Smartphone, falls es verloren geht oder gestohlen wird."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Zum Einrichten der Entsperrung per Fingerabdruck und der Entsperrung per Gesichtserkennung ist ein Passwort erforderlich.\n\nEin Passwort schützt das Smartphone, falls es verloren geht oder gestohlen wird."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Dadurch werden die Aufnahmen und das Modell des Fingerabdrucks für „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ gelöscht, die auf deinem Smartphone gespeichert sind"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Dadurch werden die Aufnahmen und das Modell des Fingerabdrucks für „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ gelöscht, die auf deinem Tablet gespeichert sind"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Dadurch werden die Aufnahmen und das Modell des Fingerabdruck für „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ gelöscht, die auf deinem Gerät gespeichert sind"</string>
diff --git a/res-product/values-el/strings.xml b/res-product/values-el/strings.xml
index a36b81c..5f377d1 100644
--- a/res-product/values-el/strings.xml
+++ b/res-product/values-el/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Απαιτείται PIN για τη ρύθμιση της λειτουργίας Ξεκλείδωμα με το πρόσωπο.\n\nΤο PIN προστατεύει το τηλέφωνο σε περίπτωση απώλειας ή κλοπής."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Απαιτείται μοτίβο για τη ρύθμιση της λειτουργίας Ξεκλείδωμα με το πρόσωπο.\n\nΤο μοτίβο προστατεύει το τηλέφωνο σε περίπτωση απώλειας ή κλοπής."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Απαιτείται κωδικός πρόσβασης για τη ρύθμιση της λειτουργίας Ξεκλείδωμα με το πρόσωπο.\n\nΟ κωδικός πρόσβασης προστατεύει το τηλέφωνο σε περίπτωση απώλειας ή κλοπής."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Απαιτείται PIN για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με το πρόσωπο και Ξεκλείδωμα με δακτυλικό αποτύπωμα.\n\nΤο PIN προστατεύει το tablet σε περίπτωση απώλειας ή κλοπής."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Απαιτείται μοτίβο για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με το πρόσωπο και Ξεκλείδωμα με δακτυλικό αποτύπωμα.\n\nΤο μοτίβο προστατεύει το tablet σε περίπτωση απώλειας ή κλοπής."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Απαιτείται κωδικός πρόσβασης για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με το πρόσωπο και Ξεκλείδωμα με δακτυλικό αποτύπωμα.\n\nΟ κωδικός πρόσβασης προστατεύει το tablet σε περίπτωση απώλειας ή κλοπής."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Απαιτείται PIN για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με το πρόσωπο και Ξεκλείδωμα με δακτυλικό αποτύπωμα.\n\nΤο PIN προστατεύει τη συσκευή σε περίπτωση απώλειας ή κλοπής."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Απαιτείται μοτίβο για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με το πρόσωπο και Ξεκλείδωμα με δακτυλικό αποτύπωμα.\n\nΤο μοτίβο προστατεύει τη συσκευή σε περίπτωση απώλειας ή κλοπής."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Απαιτείται κωδικός πρόσβασης για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με το πρόσωπο και Ξεκλείδωμα με δακτυλικό αποτύπωμα.\n\nΟ κωδικός πρόσβασης προστατεύει τη συσκευή σε περίπτωση απώλειας ή κλοπής."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Απαιτείται PIN για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με το πρόσωπο και Ξεκλείδωμα με δακτυλικό αποτύπωμα.\n\nΤο PIN προστατεύει το τηλέφωνο σε περίπτωση απώλειας ή κλοπής."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Απαιτείται μοτίβο για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με το πρόσωπο και Ξεκλείδωμα με δακτυλικό αποτύπωμα.\n\nΤο μοτίβο προστατεύει το τηλέφωνο σε περίπτωση απώλειας ή κλοπής."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Απαιτείται κωδικός πρόσβασης για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με το πρόσωπο και Ξεκλείδωμα με δακτυλικό αποτύπωμα.\n\nΟ κωδικός πρόσβασης προστατεύει το τηλέφωνο σε περίπτωση απώλειας ή κλοπής."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Απαιτείται PIN για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με δακτυλικό αποτύπωμα και Ξεκλείδωμα με το πρόσωπο.\n\nΤο PIN προστατεύει το tablet σε περίπτωση απώλειας ή κλοπής."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Απαιτείται μοτίβο για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με δακτυλικό αποτύπωμα και Ξεκλείδωμα με το πρόσωπο.\n\nΤο μοτίβο προστατεύει το tablet σε περίπτωση απώλειας ή κλοπής."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Απαιτείται κωδικός πρόσβασης για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με δακτυλικό αποτύπωμα και Ξεκλείδωμα με το πρόσωπο.\n\nΟ κωδικός πρόσβασης προστατεύει το tablet σε περίπτωση απώλειας ή κλοπής."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Απαιτείται PIN για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με δακτυλικό αποτύπωμα και Ξεκλείδωμα με το πρόσωπο.\n\nΤο PIN προστατεύει τη συσκευή σε περίπτωση απώλειας ή κλοπής."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Απαιτείται μοτίβο για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με δακτυλικό αποτύπωμα και Ξεκλείδωμα με το πρόσωπο.\n\nΤο μοτίβο προστατεύει τη συσκευή σε περίπτωση απώλειας ή κλοπής."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Απαιτείται κωδικός πρόσβασης για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με δακτυλικό αποτύπωμα και Ξεκλείδωμα με το πρόσωπο.\n\nΟ κωδικός πρόσβασης προστατεύει τη συσκευή σε περίπτωση απώλειας ή κλοπής."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Απαιτείται PIN για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με δακτυλικό αποτύπωμα και Ξεκλείδωμα με το πρόσωπο.\n\nΤο PIN προστατεύει το τηλέφωνο σε περίπτωση απώλειας ή κλοπής."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Απαιτείται μοτίβο για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με δακτυλικό αποτύπωμα και Ξεκλείδωμα με το πρόσωπο.\n\nΤο μοτίβο προστατεύει το τηλέφωνο σε περίπτωση απώλειας ή κλοπής."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Απαιτείται κωδικός πρόσβασης για τη ρύθμιση των λειτουργιών Ξεκλείδωμα με δακτυλικό αποτύπωμα και Ξεκλείδωμα με το πρόσωπο.\n\nΟ κωδικός πρόσβασης προστατεύει το τηλέφωνο σε περίπτωση απώλειας ή κλοπής."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Με αυτόν τον τρόπο διαγράφονται οι εικόνες και το μοντέλο δακτυλικού αποτυπώματος που έχουν αποθηκευτεί στο τηλέφωνό σας και συσχετίζονται με το <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Με αυτόν τον τρόπο διαγράφονται οι εικόνες και το μοντέλο δακτυλικού αποτυπώματος που έχουν αποθηκευτεί στο tablet και συσχετίζονται με το <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Με αυτόν τον τρόπο διαγράφονται οι εικόνες και το μοντέλο δακτυλικού αποτυπώματος που έχουν αποθηκευτεί στη συσκευή σας και συσχετίζονται με το <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>"</string>
diff --git a/res-product/values-en-rAU/strings.xml b/res-product/values-en-rAU/strings.xml
index 92368e4..d13d99e 100644
--- a/res-product/values-en-rAU/strings.xml
+++ b/res-product/values-en-rAU/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"A PIN is required to set up Face Unlock.\n\nA PIN protects the phone if it’s lost or stolen."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"A pattern is required to set up Face Unlock.\n\nA pattern protects the phone if it’s lost or stolen."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"A password is required to set up Face Unlock.\n\nA password protects the phone if it’s lost or stolen."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the tablet if it’s lost or stolen."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the tablet if it’s lost or stolen."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the tablet if it’s lost or stolen."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the device if it’s lost or stolen."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the device if it’s lost or stolen."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the device if it’s lost or stolen."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the phone if it’s lost or stolen."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the phone if it’s lost or stolen."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the phone if it’s lost or stolen."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the tablet if it\'s lost or stolen."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the tablet if it\'s lost or stolen."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the tablet if it\'s lost or stolen."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the device if it\'s lost or stolen."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the device if it\'s lost or stolen."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the device if it\'s lost or stolen."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the phone if it\'s lost or stolen."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the phone if it\'s lost or stolen."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the phone if it\'s lost or stolen."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your phone"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your tablet"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your device"</string>
diff --git a/res-product/values-en-rCA/strings.xml b/res-product/values-en-rCA/strings.xml
index fb30906..2f42e74 100644
--- a/res-product/values-en-rCA/strings.xml
+++ b/res-product/values-en-rCA/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"A PIN is required to set up Face Unlock.\n\nA PIN protects the phone if it\'s lost or stolen."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"A pattern is required to set up Face Unlock.\n\nA pattern protects the phone if it\'s lost or stolen."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"A password is required to set up Face Unlock.\n\nA password protects the phone if it\'s lost or stolen."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the tablet if it\'s lost or stolen."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the tablet if it\'s lost or stolen."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the tablet if it\'s lost or stolen."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the device if it\'s lost or stolen."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the device if it\'s lost or stolen."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the device if it\'s lost or stolen."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the phone if it\'s lost or stolen."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the phone if it\'s lost or stolen."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the phone if it\'s lost or stolen."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the tablet if it’s lost or stolen."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the tablet if it’s lost or stolen."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the tablet if it’s lost or stolen."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the device if it’s lost or stolen."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the device if it’s lost or stolen."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the device if it’s lost or stolen."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the phone if it’s lost or stolen."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the phone if it’s lost or stolen."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the phone if it’s lost or stolen."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your phone"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your tablet"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your device"</string>
diff --git a/res-product/values-en-rGB/strings.xml b/res-product/values-en-rGB/strings.xml
index a047137..5c4ed50 100644
--- a/res-product/values-en-rGB/strings.xml
+++ b/res-product/values-en-rGB/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"A PIN is required to set up Face Unlock.\n\nA PIN protects the phone if it’s lost or stolen."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"A pattern is required to set up Face Unlock.\n\nA pattern protects the phone if it’s lost or stolen."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"A password is required to set up Face Unlock.\n\nA password protects the phone if it’s lost or stolen."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the tablet if it’s lost or stolen."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the tablet if it’s lost or stolen."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the tablet if it’s lost or stolen."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the device if it’s lost or stolen."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the device if it’s lost or stolen."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the device if it’s lost or stolen."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the phone if it’s lost or stolen."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the phone if it’s lost or stolen."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the phone if it’s lost or stolen."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the tablet if it\'s lost or stolen."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the tablet if it\'s lost or stolen."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the tablet if it\'s lost or stolen."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the device if it\'s lost or stolen."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the device if it\'s lost or stolen."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the device if it\'s lost or stolen."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the phone if it\'s lost or stolen."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the phone if it\'s lost or stolen."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the phone if it\'s lost or stolen."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your phone"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your tablet"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your device"</string>
diff --git a/res-product/values-en-rIN/strings.xml b/res-product/values-en-rIN/strings.xml
index a047137..5c4ed50 100644
--- a/res-product/values-en-rIN/strings.xml
+++ b/res-product/values-en-rIN/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"A PIN is required to set up Face Unlock.\n\nA PIN protects the phone if it’s lost or stolen."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"A pattern is required to set up Face Unlock.\n\nA pattern protects the phone if it’s lost or stolen."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"A password is required to set up Face Unlock.\n\nA password protects the phone if it’s lost or stolen."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the tablet if it’s lost or stolen."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the tablet if it’s lost or stolen."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the tablet if it’s lost or stolen."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the device if it’s lost or stolen."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the device if it’s lost or stolen."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the device if it’s lost or stolen."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the phone if it’s lost or stolen."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the phone if it’s lost or stolen."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the phone if it’s lost or stolen."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the tablet if it\'s lost or stolen."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the tablet if it\'s lost or stolen."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the tablet if it\'s lost or stolen."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the device if it\'s lost or stolen."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the device if it\'s lost or stolen."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the device if it\'s lost or stolen."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the phone if it\'s lost or stolen."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the phone if it\'s lost or stolen."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the phone if it\'s lost or stolen."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your phone"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your tablet"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your device"</string>
diff --git a/res-product/values-en-rXC/strings.xml b/res-product/values-en-rXC/strings.xml
index 8569809..c096adfe 100644
--- a/res-product/values-en-rXC/strings.xml
+++ b/res-product/values-en-rXC/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"A PIN is required to set up Face Unlock.\n\nA PIN protects the phone if it’s lost or stolen."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"A pattern is required to set up Face Unlock.\n\nA pattern protects the phone if it’s lost or stolen."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"A password is required to set up Face Unlock.\n\nA password protects the phone if it’s lost or stolen."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the tablet if it’s lost or stolen."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the tablet if it’s lost or stolen."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the tablet if it’s lost or stolen."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the device if it’s lost or stolen."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the device if it’s lost or stolen."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the device if it’s lost or stolen."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the phone if it’s lost or stolen."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the phone if it’s lost or stolen."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the phone if it’s lost or stolen."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the tablet if it’s lost or stolen."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the tablet if it’s lost or stolen."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the tablet if it’s lost or stolen."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the device if it’s lost or stolen."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the device if it’s lost or stolen."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the device if it’s lost or stolen."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the phone if it’s lost or stolen."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the phone if it’s lost or stolen."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the phone if it’s lost or stolen."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your phone"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your tablet"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your device"</string>
diff --git a/res-product/values-es-rUS/strings.xml b/res-product/values-es-rUS/strings.xml
index ed3237d..41adf52 100644
--- a/res-product/values-es-rUS/strings.xml
+++ b/res-product/values-es-rUS/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Se requiere un PIN para configurar la función Desbloqueo facial.\n\nEn caso de robo o extravío, un PIN protege el teléfono."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Se requiere un patrón para configurar la función Desbloqueo facial.\n\nEn caso de robo o extravío, un patrón protege el teléfono."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Se requiere una contraseña para configurar la función Desbloqueo facial.\n\nEn caso de robo o extravío, una contraseña protege el teléfono."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Se requiere un PIN para configurar las funciones Desbloqueo facial y Desbloqueo con huellas dactilares.\n\nEn caso de robo o extravío, un PIN protege la tablet."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Se requiere un patrón para configurar las funciones Desbloqueo facial y Desbloqueo con huellas dactilares.\n\nEn caso de robo o extravío, un patrón protege la tablet."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Se requiere una contraseña para configurar las funciones Desbloqueo facial y Desbloqueo con huellas dactilares.\n\nEn caso de robo o extravío, una contraseña protege la tablet."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Se requiere un PIN para configurar las funciones Desbloqueo facial y Desbloqueo con huellas dactilares.\n\nEn caso de robo o extravío, un PIN protege el dispositivo."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Se requiere un patrón para configurar las funciones Desbloqueo facial y Desbloqueo con huellas dactilares.\n\nEn caso de robo o extravío, un patrón protege el dispositivo."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Se requiere una contraseña para configurar las funciones Desbloqueo facial y Desbloqueo con huellas dactilares.\n\nEn caso de robo o extravío, una contraseña protege el dispositivo."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Se requiere un PIN para configurar las funciones Desbloqueo facial y Desbloqueo con huellas dactilares.\n\nEn caso de robo o extravío, un PIN protege el teléfono."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Se requiere un patrón para configurar las funciones Desbloqueo facial y Desbloqueo con huellas dactilares.\n\nEn caso de robo o extravío, un patrón protege el teléfono."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Se requiere una contraseña para configurar las funciones Desbloqueo facial y Desbloqueo con huellas dactilares.\n\nEn caso de robo o extravío, una contraseña protege el teléfono."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Se requiere un PIN para configurar las funciones Desbloqueo con huellas dactilares y Desbloqueo facial.\n\nEn caso de robo o extravío, un PIN protege la tablet."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Se requiere un patrón para configurar las funciones Desbloqueo con huellas dactilares y Desbloqueo facial.\n\nEn caso de robo o extravío, un patrón protege la tablet."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Se requiere una contraseña para configurar las funciones Desbloqueo con huellas dactilares y Desbloqueo facial.\n\nEn caso de robo o extravío, una contraseña protege la tablet."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Se requiere un PIN para configurar las funciones Desbloqueo con huellas dactilares y Desbloqueo facial.\n\nEn caso de robo o extravío, un PIN protege el dispositivo."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Se requiere un patrón para configurar las funciones Desbloqueo con huellas dactilares y Desbloqueo facial.\n\nEn caso de robo o extravío, un patrón protege el dispositivo."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Se requiere una contraseña para configurar las funciones Desbloqueo con huellas dactilares y Desbloqueo facial.\n\nEn caso de robo o extravío, una contraseña protege el dispositivo."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Se requiere un PIN para configurar las funciones Desbloqueo con huellas dactilares y Desbloqueo facial.\n\nEn caso de robo o extravío, un PIN protege el teléfono."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Se requiere un patrón para configurar las funciones Desbloqueo con huellas dactilares y Desbloqueo facial.\n\nEn caso de robo o extravío, un patrón protege el teléfono."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Se requiere una contraseña para configurar las funciones Desbloqueo con huellas dactilares y Desbloqueo facial.\n\nEn caso de robo o extravío, una contraseña protege el teléfono."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Esta opción borra las imágenes y el modelo de la huella dactilar asociados con \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que se guardaron en el teléfono."</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Esta opción borra las imágenes de la huella dactilar y el modelo asociado con \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que se guardaron en la tablet"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Esta opción borra las imágenes de la huella dactilar y el modelo asociado con \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que se guardaron en el dispositivo"</string>
diff --git a/res-product/values-es/strings.xml b/res-product/values-es/strings.xml
index da1951c..1633891 100644
--- a/res-product/values-es/strings.xml
+++ b/res-product/values-es/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Se necesita un PIN para configurar Desbloqueo facial.\n\nEl PIN protege tu teléfono si lo pierdes o te lo roban."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Se necesita un patrón para configurar Desbloqueo facial.\n\nEl patrón protege tu teléfono si lo pierdes o te lo roban."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Se necesita una contraseña para configurar Desbloqueo facial.\n\nLa contraseña protege tu teléfono si lo pierdes o te lo roban."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Se necesita un PIN para configurar Desbloqueo facial y Desbloqueo con huella digital.\n\nEl PIN protege tu tablet si lo pierdes o te lo roban."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Se necesita un patrón para configurar Desbloqueo facial y Desbloqueo con huella digital.\n\nEl patrón protege tu tablet si lo pierdes o te lo roban."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Se necesita una contraseña para configurar Desbloqueo facial y Desbloqueo con huella digital.\n\nLa contraseña protege tu tablet si la pierdes o te la roban."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Se necesita un PIN para configurar Desbloqueo facial y Desbloqueo con huella digital.\n\nEl PIN protege tu dispositivo si lo pierdes o te lo roban."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Se necesita un patrón para configurar Desbloqueo facial y Desbloqueo con huella digital.\n\nEl patrón protege tu dispositivo si lo pierdes o te lo roban."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Se necesita una contraseña para configurar Desbloqueo facial y Desbloqueo con huella digital.\n\nLa contraseña protege tu dispositivo si lo pierdes o te lo roban."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Se necesita un PIN para configurar Desbloqueo facial y Desbloqueo con huella digital.\n\nEl PIN protege tu teléfono si lo pierdes o te lo roban."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Se necesita un patrón para configurar Desbloqueo facial y Desbloqueo con huella digital.\n\nEl patrón protege tu teléfono si lo pierdes o te lo roban."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Se necesita una contraseña para configurar Desbloqueo facial y Desbloqueo con huella digital.\n\nLa contraseña protege tu teléfono si lo pierdes o te lo roban."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Se necesita un PIN para configurar Desbloqueo con huella digital y Desbloqueo facial.\n\nEl PIN protege la tablet si la pierdes o te la roban."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Se necesita un patrón para configurar Desbloqueo con huella digital y Desbloqueo facial.\n\nEl patrón protege la tablet si la pierdes o te la roban."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Se necesita una contraseña para configurar Desbloqueo con huella digital y Desbloqueo facial.\n\nLa contraseña protege la tablet si la pierdes o te la roban."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Se necesita un PIN para configurar Desbloqueo con huella digital y Desbloqueo facial.\n\nEl PIN protege el dispositivo si lo pierdes o te lo roban."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Se necesita un patrón para configurar Desbloqueo con huella digital y Desbloqueo facial.\n\nEl patrón protege el dispositivo si lo pierdes o te lo roban."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Se necesita una contraseña para configurar Desbloqueo con huella digital y Desbloqueo facial.\n\nLa contraseña protege el dispositivo si lo pierdes o te lo roban."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Se necesita un PIN para configurar Desbloqueo con huella digital y Desbloqueo facial.\n\nEl PIN protege el teléfono si lo pierdes o te lo roban."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Se necesita un patrón para configurar Desbloqueo con huella digital y Desbloqueo facial.\n\nEl patrón protege el teléfono si lo pierdes o te lo roban."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Se necesita una contraseña para configurar Desbloqueo con huella digital y Desbloqueo facial.\n\nLa contraseña protege el teléfono si lo pierdes o te lo roban."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Se eliminarán las imágenes y el modelo de huella digital asociados a <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> que están almacenados en tu teléfono."</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Se eliminarán las imágenes y el modelo de huella digital asociados a <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> que están almacenados en tu tablet"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Se eliminarán las imágenes y el modelo de huella digital asociados a \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que están almacenados en tu dispositivo"</string>
diff --git a/res-product/values-et/strings.xml b/res-product/values-et/strings.xml
index 16f5737..80a72ed 100644
--- a/res-product/values-et/strings.xml
+++ b/res-product/values-et/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Näoga avamise seadistamiseks on vaja PIN-koodi.\n\nPIN-kood kaitseb telefoni juhul, kui see läheb kaotsi või varastatakse."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Näoga avamise seadistamiseks on vaja mustrit.\n\nMuster kaitseb telefoni juhul, kui see läheb kaotsi või varastatakse."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Näoga avamise seadistamiseks on vaja parooli.\n\nParool kaitseb telefoni juhul, kui see läheb kaotsi või varastatakse."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Näoga avamise ja sõrmejäljega avamise seadistamiseks on vaja PIN-koodi.\n\nPIN-kood kaitseb tahvelarvutit juhul, kui see läheb kaotsi või varastatakse."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Näoga avamise ja sõrmejäljega avamise seadistamiseks on vaja mustrit.\n\nMuster kaitseb tahvelarvutit juhul, kui see läheb kaotsi või varastatakse."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Näoga avamise ja sõrmejäljega avamise seadistamiseks on vaja parooli.\n\nParool kaitseb tahvelarvutit juhul, kui see läheb kaotsi või varastatakse."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Näoga avamise ja sõrmejäljega avamise seadistamiseks on vaja PIN-koodi.\n\nPIN-kood kaitseb seadet juhul, kui see läheb kaotsi või varastatakse."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Näoga avamise ja sõrmejäljega avamise seadistamiseks on vaja mustrit.\n\nMuster kaitseb seadet juhul, kui see läheb kaotsi või varastatakse."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Näoga avamise ja sõrmejäljega avamise seadistamiseks on vaja parooli.\n\nParool kaitseb seadet juhul, kui see läheb kaotsi või varastatakse."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Näoga avamise ja sõrmejäljega avamise seadistamiseks on vaja PIN-koodi.\n\nPIN-kood kaitseb telefoni juhul, kui see läheb kaotsi või varastatakse."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Näoga avamise ja sõrmejäljega avamise seadistamiseks on vaja mustrit.\n\nMuster kaitseb telefoni juhul, kui see läheb kaotsi või varastatakse."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Näoga avamise ja sõrmejäljega avamise seadistamiseks on vaja parooli.\n\nParool kaitseb telefoni juhul, kui see läheb kaotsi või varastatakse."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Sõrmejäljega avamise ja näoga avamise seadistamiseks on vaja PIN-koodi.\n\nPIN-kood kaitseb tahvelarvutit juhul, kui see läheb kaotsi või varastatakse."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Sõrmejäljega avamise ja näoga avamise seadistamiseks on vaja mustrit.\n\nMuster kaitseb tahvelarvutit juhul, kui see läheb kaotsi või varastatakse."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Sõrmejäljega avamise ja näoga avamise seadistamiseks on vaja parooli.\n\nParool kaitseb tahvelarvutit juhul, kui see läheb kaotsi või varastatakse."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Sõrmejäljega avamise ja näoga avamise seadistamiseks on vaja PIN-koodi.\n\nPIN-kood kaitseb seadet juhul, kui see läheb kaotsi või varastatakse."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Sõrmejäljega avamise ja näoga avamise seadistamiseks on vaja mustrit.\n\nMuster kaitseb seadet juhul, kui see läheb kaotsi või varastatakse."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Sõrmejäljega avamise ja näoga avamise seadistamiseks on vaja parooli.\n\nParool kaitseb seadet juhul, kui see läheb kaotsi või varastatakse."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Sõrmejäljega avamise ja näoga avamise seadistamiseks on vaja PIN-koodi.\n\nPIN-kood kaitseb telefoni juhul, kui see läheb kaotsi või varastatakse."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Sõrmejäljega avamise ja näoga avamise seadistamiseks on vaja mustrit.\n\nMuster kaitseb telefoni juhul, kui see läheb kaotsi või varastatakse."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Sõrmejäljega avamise ja näoga avamise seadistamiseks on vaja parooli.\n\nParool kaitseb telefoni juhul, kui see läheb kaotsi või varastatakse."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"See kustutab sõrmejäljega „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ seotud sõrmejäljekujutised ja -mudeli, mis on teie telefoni salvestatud"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"See kustutab sõrmejäljega „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ seotud sõrmejäljekujutised ja -mudeli, mis on teie tahvelarvutisse salvestatud"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"See kustutab sõrmejäljega „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ seotud sõrmejäljekujutised ja -mudeli, mis on teie seadmesse salvestatud"</string>
diff --git a/res-product/values-eu/strings.xml b/res-product/values-eu/strings.xml
index bf74312..2493934 100644
--- a/res-product/values-eu/strings.xml
+++ b/res-product/values-eu/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"PIN bat behar da aurpegi bidez desblokeatzeko eginbidea konfiguratzeko.\n\nPINak babestu egiten du telefonoa, hura galtzen baduzu edo lapurtzen badizute."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Eredu bat behar da aurpegi bidez desblokeatzeko eginbidea konfiguratzeko.\n\nEreduak babestu egiten du telefonoa, hura galtzen baduzu edo lapurtzen badizute."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Pasahitz bat behar da aurpegi bidez desblokeatzeko eginbidea konfiguratzeko.\n\nPasahitzak babestu egiten du telefonoa, hura galtzen baduzu edo lapurtzen badizute."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Pasahitz bat behar da aurpegi bidez desblokeatzeko eginbidea eta hatz-marka bidez desblokeatzeko eginbidea konfiguratzeko.\n\nPINak babestu egiten du tableta, hura galtzen baduzu edo lapurtzen badizute."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Pasahitz bat behar da aurpegi bidez desblokeatzeko eginbidea eta hatz-marka bidez desblokeatzeko eginbidea konfiguratzeko.\n\nEreduak babestu egiten du tableta, hura galtzen baduzu edo lapurtzen badizute."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Pasahitz bat behar da aurpegi bidez desblokeatzeko eginbidea eta hatz-marka bidez desblokeatzeko eginbidea konfiguratzeko.\n\nPasahitzak babestu egiten du tableta, hura galtzen baduzu edo lapurtzen badizute."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"PIN bat behar da aurpegi bidez desblokeatzeko eginbidea eta hatz-marka bidez desblokeatzeko eginbidea konfiguratzeko.\n\nPINak babestu egiten du gailua, hura galtzen baduzu edo lapurtzen badizute."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Eredu bat behar da aurpegi bidez desblokeatzeko eginbidea eta hatz-marka bidez desblokeatzeko eginbidea konfiguratzeko.\n\nEreduak babestu egiten du gailua, hura galtzen baduzu edo lapurtzen badizute."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Pasahitz bat behar da aurpegi bidez desblokeatzeko eginbidea eta hatz-marka bidez desblokeatzeko eginbidea konfiguratzeko.\n\nPasahitzak babestu egiten du gailua, hura galtzen baduzu edo lapurtzen badizute."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"PIN bat behar da aurpegi bidez desblokeatzeko eginbidea eta hatz-marka bidez desblokeatzeko eginbidea konfiguratzeko.\n\nPINak babestu egiten du telefonoa, hura galtzen baduzu edo lapurtzen badizute."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Pasahitz bat behar da aurpegi bidez desblokeatzeko eginbidea eta hatz-marka bidez desblokeatzeko eginbidea konfiguratzeko.\n\nEreduak babestu egiten du telefonoa, hura galtzen baduzu edo lapurtzen badizute."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Pasahitz bat behar da aurpegi bidez desblokeatzeko eginbidea eta hatz-marka bidez desblokeatzeko eginbidea konfiguratzeko.\n\nPasahitzak babestu egiten du telefonoa, hura galtzen baduzu edo lapurtzen badizute."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"PIN bat behar da hatz-marka bidez eta aurpegi bidez desblokeatzeko eginbideak konfiguratzeko.\n\nTableta galtzen baduzu edo lapurtzen badizute, pasahitzarekin babestuta egongo da."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Eredu bat behar da hatz-marka bidez eta aurpegi bidez desblokeatzeko eginbideak konfiguratzeko.\n\nTableta galtzen baduzu edo lapurtzen badizute, pasahitzarekin babestuta egongo da."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Pasahitz bat behar da hatz-marka bidez eta aurpegi bidez desblokeatzeko eginbideak konfiguratzeko.\n\nTableta galtzen baduzu edo lapurtzen badizute, pasahitzarekin babestuta egongo da."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"PIN bat behar da hatz-marka bidez eta aurpegi bidez desblokeatzeko eginbideak konfiguratzeko.\n\nGailua galtzen baduzu edo lapurtzen badizute, pasahitzarekin babestuta egongo da."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Eredu bat behar da hatz-marka bidez eta aurpegi bidez desblokeatzeko eginbideak konfiguratzeko.\n\nGailua galtzen baduzu edo lapurtzen badizute, pasahitzarekin babestuta egongo da."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Pasahitz bat behar da hatz-marka bidez eta aurpegi bidez desblokeatzeko eginbideak konfiguratzeko.\n\nGailua galtzen baduzu edo lapurtzen badizute, pasahitzarekin babestuta egongo da."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"PIN bat behar da hatz-marka bidez eta aurpegi bidez desblokeatzeko eginbideak konfiguratzeko.\n\nTelefonoa galtzen baduzu edo lapurtzen badizute, pasahitzarekin babestuta egongo da."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Eredu bat behar da hatz-marka bidez eta aurpegi bidez desblokeatzeko eginbideak konfiguratzeko.\n\nTelefonoa galtzen baduzu edo lapurtzen badizute, pasahitzarekin babestuta egongo da."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Pasahitz bat behar da hatz-marka bidez eta aurpegi bidez desblokeatzeko eginbideak konfiguratzeko.\n\nTelefonoa galtzen baduzu edo lapurtzen badizute, pasahitzarekin babestuta egongo da."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Telefonoan \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" izenarekin gordetako hatz-markaren irudiak eta eredua ezabatuko dira."</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Tabletan \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" izenarekin gordetako hatz-markaren irudiak eta eredua ezabatuko dira."</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Ezabatu egingo dira gailuan \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" izenarekin gordetako hatz-markaren irudiak eta eredua"</string>
diff --git a/res-product/values-fa/strings.xml b/res-product/values-fa/strings.xml
index 7bfa002..08460ba 100644
--- a/res-product/values-fa/strings.xml
+++ b/res-product/values-fa/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"برای راهاندازی «قفلگشایی با چهره»، افزودن پین الزامی است.\n\nدرصورت گم شدن یا بهسرقت رفتن تلفن، پین از آن محافظت میکند."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"برای راهاندازی «قفلگشایی با چهره»، افزودن الگو الزامی است.\n\nدرصورت گم شدن یا بهسرقت رفتن تلفن، الگو از آن محافظت میکند."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"برای راهاندازی «قفلگشایی با چهره»، افزودن گذرواژه الزامی است.\n\nدرصورت گم شدن یا بهسرقت رفتن تلفن، گذرواژه از آن محافظت میکند."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"برای راهاندازی «قفلگشایی با چهره» و «قفلگشایی با اثر انگشت»، افزودن پین الزامی است.\n\nدرصورت گم شدن یا بهسرقت رفتن رایانه لوحی، پین از آن محافظت میکند."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"برای راهاندازی «قفلگشایی با چهره» و «قفلگشایی با اثر انگشت»، افزودن الگو الزامی است.\n\nدرصورت گم شدن یا بهسرقت رفتن رایانه لوحی، الگو از آن محافظت میکند."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"برای راهاندازی «قفلگشایی با چهره» و «قفلگشایی با اثر انگشت»، افزودن گذرواژه الزامی است.\n\nدرصورت گم شدن یا بهسرقت رفتن رایانه لوحی، گذرواژه از آن محافظت میکند."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"برای راهاندازی «قفلگشایی با چهره» و «قفلگشایی با اثر انگشت»، افزودن پین الزامی است.\n\nدرصورت گم شدن یا بهسرقت رفتن دستگاه، پین از آن محافظت میکند."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"برای راهاندازی «قفلگشایی با چهره» و «قفلگشایی با اثر انگشت»، افزودن الگو الزامی است.\n\nدرصورت گم شدن یا بهسرقت رفتن دستگاه، الگو از آن محافظت میکند."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"برای راهاندازی «قفلگشایی با چهره» و «قفلگشایی با اثر انگشت»، افزودن گذرواژه الزامی است.\n\nدرصورت گم شدن یا بهسرقت رفتن دستگاه، گذرواژه از آن محافظت میکند."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"برای راهاندازی «قفلگشایی با چهره» و «قفلگشایی با اثر انگشت»، افزودن پین الزامی است.\n\nدرصورت گم شدن یا بهسرقت رفتن تلفن، پین از آن محافظت میکند."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"برای راهاندازی «قفلگشایی با چهره» و «قفلگشایی با اثر انگشت»، افزودن الگو الزامی است.\n\nدرصورت گم شدن یا بهسرقت رفتن تلفن، الگو از آن محافظت میکند."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"برای راهاندازی «قفلگشایی با چهره» و «قفلگشایی با اثر انگشت»، افزودن گذرواژه الزامی است.\n\nدرصورت گم شدن یا بهسرقت رفتن تلفن، گذرواژه از آن محافظت میکند."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"برای راهاندازی «قفلگشایی با اثر انگشت» و «قفلگشایی با چهره»، افزودن پین الزامی است.\n\nدرصورت گم شدن یا بهسرقت رفتن رایانه لوحی، پین از آن محافظت میکند."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"برای راهاندازی «قفلگشایی با اثر انگشت» و «قفلگشایی با چهره»، افزودن الگو الزامی است.\n\nدرصورت گم شدن یا بهسرقت رفتن رایانه لوحی، الگو از آن محافظت میکند."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"برای راهاندازی «قفلگشایی با اثر انگشت» و «قفلگشایی با چهره»، افزودن گذرواژه الزامی است.\n\nدرصورت گم شدن یا بهسرقت رفتن رایانه لوحی، گذرواژه از آن محافظت میکند."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"برای راهاندازی «قفلگشایی با اثر انگشت» و «قفلگشایی با چهره»، افزودن پین الزامی است.\n\nدرصورت گم شدن یا بهسرقت رفتن دستگاه، پین از آن محافظت میکند."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"برای راهاندازی «قفلگشایی با اثر انگشت» و «قفلگشایی با چهره»، افزودن الگو الزامی است.\n\nدرصورت گم شدن یا بهسرقت رفتن دستگاه، الگو از آن محافظت میکند."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"برای راهاندازی «قفلگشایی با اثر انگشت» و «قفلگشایی با چهره»، افزودن گذرواژه الزامی است.\n\nدرصورت گم شدن یا بهسرقت رفتن دستگاه، گذرواژه از آن محافظت میکند."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"برای راهاندازی «قفلگشایی با اثر انگشت» و «قفلگشایی با چهره»، افزودن پین الزامی است.\n\nدرصورت گم شدن یا بهسرقت رفتن تلفن، پین از آن محافظت میکند."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"برای راهاندازی «قفلگشایی با اثر انگشت» و «قفلگشایی با چهره»، افزودن الگو الزامی است.\n\nدرصورت گم شدن یا بهسرقت رفتن تلفن، الگو از آن محافظت میکند."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"برای راهاندازی «قفلگشایی با اثر انگشت» و «قفلگشایی با چهره»، افزودن گذرواژه الزامی است.\n\nدرصورت گم شدن یا بهسرقت رفتن تلفن، گذرواژه از آن محافظت میکند."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"با این کار مدل و تصاویر اثر انگشت مرتبط با «<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» که در تلفنتان ذخیره شده حذف میشوند"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"با این کار مدل و تصاویر اثر انگشت مرتبط با «<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» که در رایانه لوحیتان ذخیره شدهاند حذف میشوند"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"با این کار مدل و تصاویر اثر انگشت مرتبط با «<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» که در دستگاهتان ذخیره شدهاند حذف میشوند"</string>
@@ -257,8 +257,8 @@
<string name="erase_external_storage" product="default" msgid="645024170825543458">"پاک کردن کارت SD"</string>
<string name="erase_external_storage_description" product="nosdcard" msgid="6285187323873212966">"همه دادههای موجود در حافظهٔ USB داخلی مانند موسیقی یا عکسها را پاک کنید"</string>
<string name="erase_external_storage_description" product="default" msgid="3294267929524578503">"همه دادههای موجود در کارت SD از جمله موسیقی یا عکسها حذف میشوند"</string>
- <string name="main_clear_button_text" product="tablet" msgid="3763748694468489783">"پاک کردن تمام دادهها"</string>
- <string name="main_clear_button_text" product="default" msgid="3763748694468489783">"پاک کردن تمام دادهها"</string>
+ <string name="main_clear_button_text" product="tablet" msgid="3763748694468489783">"پاک کردن همه دادهها"</string>
+ <string name="main_clear_button_text" product="default" msgid="3763748694468489783">"پاک کردن همه دادهها"</string>
<string name="usb_tethering_subtext" product="default" msgid="5969806206311342779">"همرسانی اتصال اینترنت تلفن ازطریق USB"</string>
<string name="usb_tethering_subtext" product="tablet" msgid="4550828946207155142">"همرسانی اینترنت رایانه لوحی ازطریق USB"</string>
<string name="bluetooth_tethering_subtext" product="tablet" msgid="1339730853653511849">"همرسانی اتصال اینترنت رایانه لوحی ازطریق بلوتوث"</string>
diff --git a/res-product/values-fi/strings.xml b/res-product/values-fi/strings.xml
index 895fcfe..1c42071 100644
--- a/res-product/values-fi/strings.xml
+++ b/res-product/values-fi/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Kasvojentunnistusavauksen käyttöönotto edellyttää PIN-koodia.\n\nPIN-koodi suojaa puhelinta, jos se katoaa tai varastetaan."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Kasvojentunnistusavauksen käyttöönotto edellyttää kuviota.\n\nKuvio suojaa puhelinta, jos se katoaa tai varastetaan."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Kasvojentunnistusavauksen käyttöönotto edellyttää salasanaa.\n\nSalasana suojaa puhelinta, jos se katoaa tai varastetaan."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Kasvojentunnistus- ja sormenjälkiavausten käyttöönotto edellyttää PIN-koodia.\n\nPIN-koodi suojaa tablettia, jos se katoaa tai varastetaan."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Kasvojentunnistus- ja sormenjälkiavausten käyttöönotto edellyttää kuviota.\n\nKuvio suojaa tablettia, jos se katoaa tai varastetaan."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Kasvojentunnistus- ja sormenjälkiavausten käyttöönotto edellyttää salasanaa.\n\nSalasana suojaa tablettia, jos se katoaa tai varastetaan."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Kasvojentunnistus- ja sormenjälkiavausten käyttöönotto edellyttää PIN-koodia.\n\nPIN-koodi suojaa laitetta, jos se katoaa tai varastetaan."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Kasvojentunnistus- ja sormenjälkiavausten käyttöönotto edellyttää kuviota.\n\nKuvio suojaa laitetta, jos se katoaa tai varastetaan."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Kasvojentunnistus- ja sormenjälkiavausten käyttöönotto edellyttää salasanaa.\n\nSalasana suojaa laitetta, jos se katoaa tai varastetaan."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Kasvojentunnistus- ja sormenjälkiavausten käyttöönotto edellyttää PIN-koodia.\n\nPIN-koodi suojaa puhelinta, jos se katoaa tai varastetaan."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Kasvojentunnistus- ja sormenjälkiavausten käyttöönotto edellyttää kuviota.\n\nKuvio suojaa puhelinta, jos se katoaa tai varastetaan."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Kasvojentunnistus- ja sormenjälkiavausten käyttöönotto edellyttää salasanaa.\n\nSalasana suojaa puhelinta, jos se katoaa tai varastetaan."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Sormenjälki- ja kasvojentunnistusavausten käyttöönotto edellyttää PIN-koodia.\n\nPIN-koodi suojaa tablettia, jos se katoaa tai varastetaan."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Sormenjälki- ja kasvojentunnistusavausten käyttöönotto edellyttää kuviota.\n\nKuvio suojaa tablettia, jos se katoaa tai varastetaan."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Sormenjälki- ja kasvojentunnistusavausten käyttöönotto edellyttää salasanaa.\n\nSalasana suojaa tablettia, jos se katoaa tai varastetaan."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Sormenjälki- ja kasvojentunnistusavausten käyttöönotto edellyttää PIN-koodia.\n\nPIN-koodi suojaa laitetta, jos se katoaa tai varastetaan."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Sormenjälki- ja kasvojentunnistusavausten käyttöönotto edellyttää kuviota.\n\nKuvio suojaa laitetta, jos se katoaa tai varastetaan."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Sormenjälki- ja kasvojentunnistusavausten käyttöönotto edellyttää salasanaa.\n\nSalasana suojaa laitetta, jos se katoaa tai varastetaan."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Sormenjälki- ja kasvojentunnistusavausten käyttöönotto edellyttää PIN-koodia.\n\nPIN-koodi suojaa puhelinta, jos se katoaa tai varastetaan."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Sormenjälki- ja kasvojentunnistusavausten käyttöönotto edellyttää kuviota.\n\nKuvio suojaa puhelinta, jos se katoaa tai varastetaan."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Sormenjälki- ja kasvojentunnistusavausten käyttöönotto edellyttää salasanaa.\n\nSalasana suojaa puhelinta, jos se katoaa tai varastetaan."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Tämä poistaa puhelimelle tallennetut sormenjäljen kuvat ja mallit, joihin <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> liittyy"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Tämä poistaa tabletille tallennetut sormenjäljen kuvat ja mallit, joihin <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> liittyy"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Tämä poistaa laitteelle tallennetut sormenjäljen kuvat ja mallit, joihin <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> liittyy"</string>
diff --git a/res-product/values-fr-rCA/strings.xml b/res-product/values-fr-rCA/strings.xml
index c8b8e1f..8ae77c6 100644
--- a/res-product/values-fr-rCA/strings.xml
+++ b/res-product/values-fr-rCA/strings.xml
@@ -25,20 +25,20 @@
<string name="bluetooth_footer_mac_message" product="device" msgid="8944917742814573320">"Adresse Bluetooth de l\'appareil : <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
<string name="bluetooth_ask_discovery" product="tablet" msgid="7430581669309228387">"<xliff:g id="APP_NAME">%1$s</xliff:g> souhaite rendre votre tablette visible à d\'autres appareils Bluetooth pendant <xliff:g id="TIMEOUT">%2$d</xliff:g> secondes."</string>
<string name="bluetooth_ask_discovery" product="default" msgid="3947027393224406367">"<xliff:g id="APP_NAME">%1$s</xliff:g> souhaite rendre votre téléphone visible à d\'autres appareils Bluetooth pendant <xliff:g id="TIMEOUT">%2$d</xliff:g> secondes."</string>
- <string name="bluetooth_ask_discovery_no_name" product="tablet" msgid="440976482246291783">"Une application souhaite rendre votre tablette visible à d\'autres appareils Bluetooth pendant <xliff:g id="TIMEOUT">%1$d</xliff:g> secondes."</string>
- <string name="bluetooth_ask_discovery_no_name" product="default" msgid="5164413774312648842">"Une application souhaite rendre votre téléphone visible à d\'autres appareils Bluetooth pendant <xliff:g id="TIMEOUT">%1$d</xliff:g> secondes."</string>
+ <string name="bluetooth_ask_discovery_no_name" product="tablet" msgid="440976482246291783">"Une appli souhaite rendre votre tablette visible à d\'autres appareils Bluetooth pendant <xliff:g id="TIMEOUT">%1$d</xliff:g> secondes."</string>
+ <string name="bluetooth_ask_discovery_no_name" product="default" msgid="5164413774312648842">"Une appli souhaite rendre votre téléphone visible à d\'autres appareils Bluetooth pendant <xliff:g id="TIMEOUT">%1$d</xliff:g> secondes."</string>
<string name="bluetooth_ask_lasting_discovery" product="tablet" msgid="750347558570909906">"<xliff:g id="APP_NAME">%1$s</xliff:g> souhaite rendre votre tablette visible à d\'autres appareils Bluetooth. Vous pouvez modifier ce réglage plus tard dans les paramètres Bluetooth."</string>
<string name="bluetooth_ask_lasting_discovery" product="default" msgid="5844129004156080891">"<xliff:g id="APP_NAME">%1$s</xliff:g> souhaite rendre votre téléphone visible à d\'autres appareils Bluetooth. Vous pouvez modifier ce paramètres plus tard dans les paramètres Bluetooth."</string>
- <string name="bluetooth_ask_lasting_discovery_no_name" product="tablet" msgid="1062185767225450964">"Une application souhaite rendre votre tablette visible à d\'autres appareils Bluetooth. Vous pouvez modifier ce réglage plus tard dans les paramètres Bluetooth."</string>
- <string name="bluetooth_ask_lasting_discovery_no_name" product="default" msgid="7909547303183236140">"Une application souhaite rendre votre téléphone visible à d\'autres appareils Bluetooth. Vous pouvez modifier ce réglage plus tard dans les paramètres Bluetooth."</string>
+ <string name="bluetooth_ask_lasting_discovery_no_name" product="tablet" msgid="1062185767225450964">"Une appli souhaite rendre votre tablette visible à d\'autres appareils Bluetooth. Vous pouvez modifier ce réglage plus tard dans les paramètres Bluetooth."</string>
+ <string name="bluetooth_ask_lasting_discovery_no_name" product="default" msgid="7909547303183236140">"Une appli souhaite rendre votre téléphone visible à d\'autres appareils Bluetooth. Vous pouvez modifier ce réglage plus tard dans les paramètres Bluetooth."</string>
<string name="bluetooth_ask_enablement_and_discovery" product="tablet" msgid="6187874232925632790">"<xliff:g id="APP_NAME">%1$s</xliff:g> souhaite activer le Bluetooth et rendre votre tablette visible à d\'autres appareils pendant <xliff:g id="TIMEOUT">%2$d</xliff:g> secondes."</string>
<string name="bluetooth_ask_enablement_and_discovery" product="default" msgid="1018495685727482700">"<xliff:g id="APP_NAME">%1$s</xliff:g> souhaite activer le Bluetooth et rendre votre téléphone visible à d\'autres appareils pendant <xliff:g id="TIMEOUT">%2$d</xliff:g> secondes."</string>
- <string name="bluetooth_ask_enablement_and_discovery_no_name" product="tablet" msgid="3469927640700478737">"Une application souhaite activer le Bluetooth et rendre votre tablette visible à d\'autres appareils pendant <xliff:g id="TIMEOUT">%1$d</xliff:g> secondes."</string>
- <string name="bluetooth_ask_enablement_and_discovery_no_name" product="default" msgid="4847493437698663706">"Une application souhaite activer le Bluetooth et rendre votre téléphone visible à d\'autres appareils pendant <xliff:g id="TIMEOUT">%1$d</xliff:g> secondes."</string>
+ <string name="bluetooth_ask_enablement_and_discovery_no_name" product="tablet" msgid="3469927640700478737">"Une appli souhaite activer le Bluetooth et rendre votre tablette visible à d\'autres appareils pendant <xliff:g id="TIMEOUT">%1$d</xliff:g> secondes."</string>
+ <string name="bluetooth_ask_enablement_and_discovery_no_name" product="default" msgid="4847493437698663706">"Une appli souhaite activer le Bluetooth et rendre votre téléphone visible à d\'autres appareils pendant <xliff:g id="TIMEOUT">%1$d</xliff:g> secondes."</string>
<string name="bluetooth_ask_enablement_and_lasting_discovery" product="tablet" msgid="487436507630570730">"<xliff:g id="APP_NAME">%1$s</xliff:g> souhaite activer le Bluetooth et rendre votre tablette visible à d\'autres appareils. Vous pouvez modifier ce réglage plus tard dans les paramètres Bluetooth."</string>
<string name="bluetooth_ask_enablement_and_lasting_discovery" product="default" msgid="5169934906530139494">"<xliff:g id="APP_NAME">%1$s</xliff:g> souhaite activer le Bluetooth et rendre votre téléphone visible à d\'autres appareils. Vous pouvez modifier ce réglage plus tard dans les paramètres Bluetooth."</string>
- <string name="bluetooth_ask_enablement_and_lasting_discovery_no_name" product="tablet" msgid="505214056751470551">"Une application souhaite activer le Bluetooth et rendre votre tablette visible à d\'autres appareils. Vous pouvez modifier ce réglage plus tard dans les paramètres Bluetooth."</string>
- <string name="bluetooth_ask_enablement_and_lasting_discovery_no_name" product="default" msgid="6187216564831513193">"Une application souhaite activer le Bluetooth et rendre votre téléphone visible à d\'autres appareils. Vous pouvez modifier ce réglage plus tard dans les paramètres Bluetooth."</string>
+ <string name="bluetooth_ask_enablement_and_lasting_discovery_no_name" product="tablet" msgid="505214056751470551">"Une appli souhaite activer le Bluetooth et rendre votre tablette visible à d\'autres appareils. Vous pouvez modifier ce réglage plus tard dans les paramètres Bluetooth."</string>
+ <string name="bluetooth_ask_enablement_and_lasting_discovery_no_name" product="default" msgid="6187216564831513193">"Une appli souhaite activer le Bluetooth et rendre votre téléphone visible à d\'autres appareils. Vous pouvez modifier ce réglage plus tard dans les paramètres Bluetooth."</string>
<string name="encryption_and_credential_settings_summary" product="default" msgid="3741475436042800617">"Téléphone chiffré"</string>
<string name="not_encrypted_summary" product="default" msgid="330652312169527734">"Téléphone non chiffré"</string>
<string name="encryption_and_credential_settings_summary" product="tablet" msgid="2220021007677215054">"Appareil chiffré"</string>
@@ -49,18 +49,18 @@
<string name="security_settings_face_enroll_introduction_accessibility_expanded" product="default" msgid="2221590003018953090"></string>
<string name="security_settings_face_enroll_introduction_accessibility_expanded" product="tablet" msgid="2221590003018953090"></string>
<string name="security_settings_face_enroll_introduction_accessibility_expanded" product="device" msgid="2221590003018953090"></string>
- <string name="security_settings_face_enroll_introduction_message" product="default" msgid="847716059867943459">"Utilisez votre visage pour déverrouiller votre téléphone, autoriser vos achats et vous connecter à des applications."</string>
- <string name="security_settings_face_enroll_introduction_message" product="tablet" msgid="3976493376026067375">"Utilisez votre visage pour déverrouiller votre tablette, autoriser vos achats et vous connecter à des applications."</string>
- <string name="security_settings_face_enroll_introduction_message" product="device" msgid="6432265830098806034">"Utilisez votre visage pour déverrouiller votre appareil, autoriser vos achats et vous connecter à des applications."</string>
+ <string name="security_settings_face_enroll_introduction_message" product="default" msgid="847716059867943459">"Utilisez votre visage pour déverrouiller votre téléphone, autoriser vos achats et vous connecter à des applis."</string>
+ <string name="security_settings_face_enroll_introduction_message" product="tablet" msgid="3976493376026067375">"Utilisez votre visage pour déverrouiller votre tablette, autoriser vos achats et vous connecter à des applis."</string>
+ <string name="security_settings_face_enroll_introduction_message" product="device" msgid="6432265830098806034">"Utilisez votre visage pour déverrouiller votre appareil, autoriser vos achats et vous connecter à des applis."</string>
<string name="security_settings_face_enroll_introduction_message_class3" product="default" msgid="8492576130109033451">"Utilisez votre visage pour déverrouiller votre téléphone ou pour confirmer votre identité dans les applis, par exemple lorsque vous vous connectez ou que vous approuvez un achat"</string>
<string name="security_settings_face_enroll_introduction_message_class3" product="tablet" msgid="8736497842795690098">"Utilisez votre visage pour déverrouiller votre tablette ou pour confirmer votre identité dans les applis, par exemple lorsque vous vous connectez ou que vous approuvez un achat"</string>
<string name="security_settings_face_enroll_introduction_message_class3" product="device" msgid="2558057312718921078">"Utilisez votre visage pour déverrouiller votre appareil ou pour confirmer votre identité dans les applis, par exemple lorsque vous vous connectez ou que vous approuvez un achat"</string>
<string name="security_settings_face_enroll_introduction_consent_message_0" product="default" msgid="9086377203303858619">"Autoriser votre enfant à utiliser son visage pour déverrouiller son téléphone"</string>
<string name="security_settings_face_enroll_introduction_consent_message_0" product="tablet" msgid="4560949471246282574">"Autoriser votre enfant à utiliser son visage pour déverrouiller sa tablette"</string>
<string name="security_settings_face_enroll_introduction_consent_message_0" product="device" msgid="1156063265854416046">"Autoriser votre enfant à utiliser son visage pour déverrouiller son appareil"</string>
- <string name="security_settings_face_enroll_introduction_consent_message_0_class3" product="default" msgid="5082581184108528408">"Autorisez votre enfant à utiliser son visage pour déverrouiller son téléphone ou vérifier qu\'il s\'agit bien de lui. Cette situation se produit lorsqu\'il se connecte à des applications, approuve un achat et plus."</string>
- <string name="security_settings_face_enroll_introduction_consent_message_0_class3" product="tablet" msgid="5932555218164668532">"Autorisez votre enfant à utiliser son visage pour déverrouiller sa tablette ou vérifier qu\'il s\'agit bien de lui. Cette situation se produit lorsqu\'il se connecte à des applications, approuve un achat et plus."</string>
- <string name="security_settings_face_enroll_introduction_consent_message_0_class3" product="device" msgid="8943878265098867810">"Autorisez votre enfant à utiliser son visage pour déverrouiller son appareil ou vérifier qu\'il s\'agit bien de lui. Cette situation se produit lorsqu\'il se connecte à des applications, approuve un achat et plus."</string>
+ <string name="security_settings_face_enroll_introduction_consent_message_0_class3" product="default" msgid="5082581184108528408">"Autorisez votre enfant à utiliser son visage pour déverrouiller son téléphone ou vérifier qu\'il s\'agit bien de lui. Cette situation se produit lorsqu\'il se connecte à des applis, approuve un achat et plus."</string>
+ <string name="security_settings_face_enroll_introduction_consent_message_0_class3" product="tablet" msgid="5932555218164668532">"Autorisez votre enfant à utiliser son visage pour déverrouiller sa tablette ou vérifier qu\'il s\'agit bien de lui. Cette situation se produit lorsqu\'il se connecte à des applis, approuve un achat et plus."</string>
+ <string name="security_settings_face_enroll_introduction_consent_message_0_class3" product="device" msgid="8943878265098867810">"Autorisez votre enfant à utiliser son visage pour déverrouiller son appareil ou vérifier qu\'il s\'agit bien de lui. Cette situation se produit lorsqu\'il se connecte à des applis, approuve un achat et plus."</string>
<string name="security_settings_face_enroll_introduction_consent_message" product="default" msgid="3698558920963989416">"L\'utilisation du visage de votre enfant pour déverrouiller son téléphone peut être moins sûre qu\'un schéma ou un NIP robustes."</string>
<string name="security_settings_face_enroll_introduction_consent_message" product="tablet" msgid="2689983368730833505">"L\'utilisation du visage de votre enfant pour déverrouiller sa tablette peut être moins sûre qu\'un schéma ou un NIP robustes."</string>
<string name="security_settings_face_enroll_introduction_consent_message" product="device" msgid="5768077532130409820">"L\'utilisation du visage de votre enfant pour déverrouiller son appareil peut être moins sûre qu\'un schéma ou un NIP robustes."</string>
@@ -94,22 +94,22 @@
<string name="security_settings_face_enroll_introduction_control_consent_message" product="default" msgid="6983939010814873996"></string>
<string name="security_settings_face_enroll_introduction_control_consent_message" product="tablet" msgid="6983939010814873996"></string>
<string name="security_settings_face_enroll_introduction_control_consent_message" product="device" msgid="6983939010814873996"></string>
- <string name="security_settings_face_settings_footer" product="default" msgid="3036403896485044957">"Utilisez votre visage pour déverrouiller votre téléphone ou pour vous authentifier dans les applications, par exemple lorsque vous vous connectez ou approuvez un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller le téléphone en le regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre téléphone en le tenant devant votre visage.\n\nVotre téléphone pourrait être déverrouillé par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
- <string name="security_settings_face_settings_footer" product="tablet" msgid="3467711032275909082">"Utilisez votre visage pour déverrouiller votre tablette ou pour vous authentifier dans les applications, par exemple lorsque vous vous connectez ou approuvez un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller la tablette en la regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre tablette en la tenant devant votre visage.\n\nVotre tablette pourrait être déverrouillée par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
- <string name="security_settings_face_settings_footer" product="device" msgid="6237815625247917310">"Utilisez votre visage pour déverrouiller votre appareil ou pour vous authentifier dans les applications, par exemple lorsque vous vous connectez ou approuvez un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller l\'appareil en le regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre appareil en le tenant devant votre visage.\n\nVotre appareil pourrait être déverrouillé par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
- <string name="security_settings_face_settings_footer_attention_not_supported" product="default" msgid="8266896471278294942">"Utilisez votre visage pour déverrouiller votre téléphone ou pour vous authentifier dans les applications, par exemple lorsque vous vous connectez ou approuvez un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller le téléphone en le regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre téléphone en le tenant devant votre visage, même si vos yeux sont fermés.\n\nVotre téléphone pourrait être déverrouillé par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
- <string name="security_settings_face_settings_footer_attention_not_supported" product="tablet" msgid="6932278790700490818">"Utilisez votre visage pour déverrouiller votre tablette ou pour vous authentifier dans les applications, par exemple lorsque vous vous connectez ou approuvez un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller la tablette en la regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre tablette en la tenant devant votre visage, même si vos yeux sont fermés.\n\nVotre tablette pourrait être déverrouillée par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
- <string name="security_settings_face_settings_footer_attention_not_supported" product="device" msgid="2559602951942339212">"Utilisez votre visage pour déverrouiller votre appareil ou pour vous authentifier dans les applications, par exemple lorsque vous vous connectez ou approuvez un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller l\'appareil en le regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre appareil en le tenant devant votre visage, même si vos yeux sont fermés.\n\nVotre appareil pourrait être déverrouillé par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
- <string name="security_settings_face_settings_footer_class3" product="default" msgid="7050076350282827484">"Utilisez votre visage pour déverrouiller votre téléphone ou vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applications ou approuver un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller le téléphone en le regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre téléphone en le tenant devant votre visage.\n\nVotre téléphone pourrait être déverrouillé par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
- <string name="security_settings_face_settings_footer_class3" product="tablet" msgid="8013245173915280810">"Utilisez votre visage pour déverrouiller votre tablette ou vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applications ou approuver un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller la tablette en la regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre tablette en la tenant devant votre visage.\n\nVotre tablette pourrait être déverrouillée par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
- <string name="security_settings_face_settings_footer_class3" product="device" msgid="4411845832787210264">"Utilisez votre visage pour déverrouiller votre appareil ou vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applications ou approuver un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller l\'appareil en le regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre appareil en le tenant devant votre visage.\n\nVotre appareil pourrait être déverrouillé par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
- <string name="security_settings_face_settings_footer_class3_attention_not_supported" product="default" msgid="5512898803063743303">"Utilisez votre visage pour déverrouiller votre téléphone ou vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applications ou approuver un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller le téléphone en le regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre téléphone en le tenant devant votre visage, même si vos yeux sont fermés.\n\nVotre téléphone pourrait être déverrouillé par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
- <string name="security_settings_face_settings_footer_class3_attention_not_supported" product="tablet" msgid="6790505667764631343">"Utilisez votre visage pour déverrouiller votre tablette ou vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applications ou approuver un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller la tablette en la regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre tablette en la tenant devant votre visage, même si vos yeux sont fermés.\n\nVotre tablette pourrait être déverrouillée par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
- <string name="security_settings_face_settings_footer_class3_attention_not_supported" product="device" msgid="7858917821957779752">"Utilisez votre visage pour déverrouiller votre appareil ou vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applications ou approuver un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller l\'appareil en le regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre appareil en le tenant devant votre visage, même si vos yeux sont fermés.\n\nVotre appareil pourrait être déverrouillé par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
- <string name="security_settings_fingerprint_enroll_introduction_v3_message" msgid="2145273491174234191">"Utilisez votre empreinte digitale pour déverrouiller votre <xliff:g id="DEVICENAME">%s</xliff:g> ou vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applications ou approuver un achat"</string>
- <string name="security_settings_fingerprint_enroll_introduction_consent_message" product="default" msgid="5101253231118659496">"Autorisez votre enfant à utiliser son empreinte digitale pour déverrouiller son téléphone ou vérifier qu\'il s\'agit bien de lui. Cette situation se produit lorsqu\'il se connecte à des applications, approuve un achat et plus."</string>
- <string name="security_settings_fingerprint_enroll_introduction_consent_message" product="tablet" msgid="3063978167545799342">"Autorisez votre enfant à utiliser son empreinte digitale pour déverrouiller sa tablette ou vérifier qu\'il s\'agit bien de lui. Cette situation se produit lorsqu\'il se connecte à des applications, approuve un achat et plus."</string>
- <string name="security_settings_fingerprint_enroll_introduction_consent_message" product="device" msgid="4399560001732497632">"Autorisez votre enfant à utiliser son empreinte digitale pour déverrouiller son appareil ou vérifier qu\'il s\'agit bien de lui. Cette situation se produit lorsqu\'il se connecte à des applications, approuve un achat et plus."</string>
+ <string name="security_settings_face_settings_footer" product="default" msgid="3036403896485044957">"Utilisez votre visage pour déverrouiller votre téléphone ou pour vous authentifier dans les applis, par exemple lorsque vous vous connectez ou approuvez un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller le téléphone en le regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre téléphone en le tenant devant votre visage.\n\nVotre téléphone pourrait être déverrouillé par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
+ <string name="security_settings_face_settings_footer" product="tablet" msgid="3467711032275909082">"Utilisez votre visage pour déverrouiller votre tablette ou pour vous authentifier dans les applis, par exemple lorsque vous vous connectez ou approuvez un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller la tablette en la regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre tablette en la tenant devant votre visage.\n\nVotre tablette pourrait être déverrouillée par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
+ <string name="security_settings_face_settings_footer" product="device" msgid="6237815625247917310">"Utilisez votre visage pour déverrouiller votre appareil ou pour vous authentifier dans les applis, par exemple lorsque vous vous connectez ou approuvez un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller l\'appareil en le regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre appareil en le tenant devant votre visage.\n\nVotre appareil pourrait être déverrouillé par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
+ <string name="security_settings_face_settings_footer_attention_not_supported" product="default" msgid="8266896471278294942">"Utilisez votre visage pour déverrouiller votre téléphone ou pour vous authentifier dans les applis, par exemple lorsque vous vous connectez ou approuvez un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller le téléphone en le regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre téléphone en le tenant devant votre visage, même si vos yeux sont fermés.\n\nVotre téléphone pourrait être déverrouillé par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
+ <string name="security_settings_face_settings_footer_attention_not_supported" product="tablet" msgid="6932278790700490818">"Utilisez votre visage pour déverrouiller votre tablette ou pour vous authentifier dans les applis, par exemple lorsque vous vous connectez ou approuvez un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller la tablette en la regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre tablette en la tenant devant votre visage, même si vos yeux sont fermés.\n\nVotre tablette pourrait être déverrouillée par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
+ <string name="security_settings_face_settings_footer_attention_not_supported" product="device" msgid="2559602951942339212">"Utilisez votre visage pour déverrouiller votre appareil ou pour vous authentifier dans les applis, par exemple lorsque vous vous connectez ou approuvez un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller l\'appareil en le regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre appareil en le tenant devant votre visage, même si vos yeux sont fermés.\n\nVotre appareil pourrait être déverrouillé par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
+ <string name="security_settings_face_settings_footer_class3" product="default" msgid="7050076350282827484">"Utilisez votre visage pour déverrouiller votre téléphone ou vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applis ou approuver un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller le téléphone en le regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre téléphone en le tenant devant votre visage.\n\nVotre téléphone pourrait être déverrouillé par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
+ <string name="security_settings_face_settings_footer_class3" product="tablet" msgid="8013245173915280810">"Utilisez votre visage pour déverrouiller votre tablette ou vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applis ou approuver un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller la tablette en la regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre tablette en la tenant devant votre visage.\n\nVotre tablette pourrait être déverrouillée par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
+ <string name="security_settings_face_settings_footer_class3" product="device" msgid="4411845832787210264">"Utilisez votre visage pour déverrouiller votre appareil ou vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applis ou approuver un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller l\'appareil en le regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre appareil en le tenant devant votre visage.\n\nVotre appareil pourrait être déverrouillé par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
+ <string name="security_settings_face_settings_footer_class3_attention_not_supported" product="default" msgid="5512898803063743303">"Utilisez votre visage pour déverrouiller votre téléphone ou vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applis ou approuver un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller le téléphone en le regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre téléphone en le tenant devant votre visage, même si vos yeux sont fermés.\n\nVotre téléphone pourrait être déverrouillé par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
+ <string name="security_settings_face_settings_footer_class3_attention_not_supported" product="tablet" msgid="6790505667764631343">"Utilisez votre visage pour déverrouiller votre tablette ou vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applis ou approuver un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller la tablette en la regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre tablette en la tenant devant votre visage, même si vos yeux sont fermés.\n\nVotre tablette pourrait être déverrouillée par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
+ <string name="security_settings_face_settings_footer_class3_attention_not_supported" product="device" msgid="7858917821957779752">"Utilisez votre visage pour déverrouiller votre appareil ou vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applis ou approuver un achat.\n\nGardez à l\'esprit :\nUn seul visage peut être configuré à la fois. Pour ajouter un autre visage, supprimez le visage actuel.\n\nVous pourriez déverrouiller l\'appareil en le regardant, même si vous ne cherchiez pas à le faire.\n\nUne autre personne pourrait déverrouiller votre appareil en le tenant devant votre visage, même si vos yeux sont fermés.\n\nVotre appareil pourrait être déverrouillé par une personne qui vous ressemble beaucoup, comme un jumeau identique."</string>
+ <string name="security_settings_fingerprint_enroll_introduction_v3_message" msgid="2145273491174234191">"Utilisez votre empreinte digitale pour déverrouiller votre <xliff:g id="DEVICENAME">%s</xliff:g> ou vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applis ou approuver un achat"</string>
+ <string name="security_settings_fingerprint_enroll_introduction_consent_message" product="default" msgid="5101253231118659496">"Autorisez votre enfant à utiliser son empreinte digitale pour déverrouiller son téléphone ou vérifier qu\'il s\'agit bien de lui. Cette situation se produit lorsqu\'il se connecte à des applis, approuve un achat et plus."</string>
+ <string name="security_settings_fingerprint_enroll_introduction_consent_message" product="tablet" msgid="3063978167545799342">"Autorisez votre enfant à utiliser son empreinte digitale pour déverrouiller sa tablette ou vérifier qu\'il s\'agit bien de lui. Cette situation se produit lorsqu\'il se connecte à des applis, approuve un achat et plus."</string>
+ <string name="security_settings_fingerprint_enroll_introduction_consent_message" product="device" msgid="4399560001732497632">"Autorisez votre enfant à utiliser son empreinte digitale pour déverrouiller son appareil ou vérifier qu\'il s\'agit bien de lui. Cette situation se produit lorsqu\'il se connecte à des applis, approuve un achat et plus."</string>
<string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_1" product="default" msgid="8488497844109768268">"Déverrouiller votre téléphone avec votre empreinte digitale peut être plus risqué qu\'avec un schéma ou un NIP robuste"</string>
<string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_1" product="tablet" msgid="5688664190282817312">"Le déverrouillage de votre tablette avec votre empreinte digitale peut être plus risqué qu\'avec un schéma ou un NIP robuste"</string>
<string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_1" product="device" msgid="2814616139536479018">"Le déverrouillage de votre appareil avec votre empreinte digitale peut être plus risqué qu\'avec un schéma ou un NIP robuste"</string>
@@ -146,12 +146,12 @@
<string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="2006739081527422127">"Le capteur d\'empreintes digitales est situé sur l\'interrupteur. Il s\'agit du bouton plat situé à côté du bouton de volume surélevé, sur le bord de la tablette."</string>
<string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="1209233633252372907">"Le capteur d\'empreintes digitales est situé sur l\'interrupteur. Il s\'agit du bouton plat situé à côté du bouton de volume surélevé, sur le bord de l\'appareil."</string>
<string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="6862493139500275821">"Le capteur d\'empreintes digitales est situé sur l\'interrupteur. Il s\'agit du bouton plat situé à côté du bouton de volume surélevé, sur le bord du téléphone."</string>
- <string name="security_settings_fingerprint_enroll_finish_v2_message" product="tablet" msgid="2012126789397819713">"Vous pouvez maintenant utiliser votre empreinte digitale pour déverrouiller votre tablette ou vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applications ou approuver un achat"</string>
- <string name="security_settings_fingerprint_enroll_finish_v2_message" product="device" msgid="7119860465479161782">"Vous pouvez maintenant utiliser votre empreinte digitale pour déverrouiller votre appareil ou vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applications ou approuver un achat"</string>
- <string name="security_settings_fingerprint_enroll_finish_v2_message" product="default" msgid="8255422287180693200">"Vous pouvez maintenant utiliser votre empreinte digitale pour déverrouiller votre téléphone ou vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applications ou approuver un achat"</string>
- <string name="security_settings_fingerprint_enroll_finish_v2_add_fingerprint_message" product="tablet" msgid="7814892482046294464">"Vous pouvez maintenant utiliser votre empreinte digitale pour déverrouiller votre tablette ou pour vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applications ou pour approuver un achat. \n\nAjoutez une autre empreinte digitale pour faciliter le déverrouillage lorsque vous tenez votre tablette de différentes façons."</string>
- <string name="security_settings_fingerprint_enroll_finish_v2_add_fingerprint_message" product="device" msgid="8418220207105495988">"Vous pouvez maintenant utiliser votre empreinte digitale pour déverrouiller votre appareil ou pour vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applications ou pour approuver un achat.\n\nAjoutez une autre empreinte digitale pour faciliter le déverrouillage lorsque vous tenez votre appareil de différentes façons."</string>
- <string name="security_settings_fingerprint_enroll_finish_v2_add_fingerprint_message" product="default" msgid="3545300825124248359">"Vous pouvez maintenant utiliser votre empreinte digitale pour déverrouiller votre téléphone ou pour vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applications ou pour approuver un achat.\n\nAjoutez une autre empreinte digitale pour faciliter le déverrouillage lorsque vous tenez votre téléphone de différentes façons."</string>
+ <string name="security_settings_fingerprint_enroll_finish_v2_message" product="tablet" msgid="2012126789397819713">"Vous pouvez maintenant utiliser votre empreinte digitale pour déverrouiller votre tablette ou vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applis ou approuver un achat"</string>
+ <string name="security_settings_fingerprint_enroll_finish_v2_message" product="device" msgid="7119860465479161782">"Vous pouvez maintenant utiliser votre empreinte digitale pour déverrouiller votre appareil ou vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applis ou approuver un achat"</string>
+ <string name="security_settings_fingerprint_enroll_finish_v2_message" product="default" msgid="8255422287180693200">"Vous pouvez maintenant utiliser votre empreinte digitale pour déverrouiller votre téléphone ou vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applis ou approuver un achat"</string>
+ <string name="security_settings_fingerprint_enroll_finish_v2_add_fingerprint_message" product="tablet" msgid="7814892482046294464">"Vous pouvez maintenant utiliser votre empreinte digitale pour déverrouiller votre tablette ou pour vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applis ou pour approuver un achat. \n\nAjoutez une autre empreinte digitale pour faciliter le déverrouillage lorsque vous tenez votre tablette de différentes façons."</string>
+ <string name="security_settings_fingerprint_enroll_finish_v2_add_fingerprint_message" product="device" msgid="8418220207105495988">"Vous pouvez maintenant utiliser votre empreinte digitale pour déverrouiller votre appareil ou pour vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applis ou pour approuver un achat.\n\nAjoutez une autre empreinte digitale pour faciliter le déverrouillage lorsque vous tenez votre appareil de différentes façons."</string>
+ <string name="security_settings_fingerprint_enroll_finish_v2_add_fingerprint_message" product="default" msgid="3545300825124248359">"Vous pouvez maintenant utiliser votre empreinte digitale pour déverrouiller votre téléphone ou pour vérifier qu\'il s\'agit bien de vous, par exemple pour vous connecter à des applis ou pour approuver un achat.\n\nAjoutez une autre empreinte digitale pour faciliter le déverrouillage lorsque vous tenez votre téléphone de différentes façons."</string>
<string name="lock_screen_pin_skip_message" product="tablet" msgid="2125894016330764666">"Un NIP protège la tablette en cas de perte ou de vol de celle-ci"</string>
<string name="lock_screen_pattern_skip_message" product="tablet" msgid="7022124791463099454">"Un schéma protège la tablette en cas de perte ou de vol de celle-ci"</string>
<string name="lock_screen_password_skip_message" product="tablet" msgid="7117050321575989041">"Un mot de passe protège la tablette en cas de perte ou de vol de celle-ci"</string>
@@ -179,21 +179,21 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Un NIP est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale.\n\nUn NIP protège le téléphone en cas de perte ou de vol de celui-ci."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Un schéma est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale.\n\nUn schéma protège le téléphone en cas de perte ou de vol de celui-ci."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Un mot de passe est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale.\n\nUn mot de passe protège le téléphone en cas de perte ou de vol de celui-ci."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Un NIP est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn NIP protège la tablette en cas de perte ou de vol de celle-ci."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Un schéma est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège la tablette en cas de perte ou de vol de celle-ci."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Un mot de passe est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège la tablette en cas de perte ou de vol de celle-ci."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Un NIP est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn NIP protège l\'appareil en cas de perte ou de vol de celui-ci."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Un schéma est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège l\'appareil en cas de perte ou de vol de celui-ci."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Un mot de passe est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège l\'appareil en cas de perte ou de vol de celui-ci."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Un NIP est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn NIP protège le téléphone en cas de perte ou de vol de celui-ci."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Un schéma est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège le téléphone en cas de perte ou de vol de celui-ci."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Un mot de passe est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège le téléphone en cas de perte ou de vol de celui-ci."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Un NIP est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn NIP protège la tablette en cas de perte ou de vol de celle-ci."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Un schéma est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège la tablette en cas de perte ou de vol de celle-ci."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Un mot de passe est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège la tablette en cas de perte ou de vol de celle-ci."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Un NIP est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn NIP protège l\'appareil en cas de perte ou de vol de celui-ci."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Un schéma est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège l\'appareil en cas de perte ou de vol de celui-ci."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Un mot de passe est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège l\'appareil en cas de perte ou de vol de celui-ci."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Un NIP est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn NIP protège le téléphone en cas de perte ou de vol de celui-ci."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Un schéma est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège le téléphone en cas de perte ou de vol de celui-ci."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Un mot de passe est requis pour configurer la fonctionnalité de déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège le téléphone en cas de perte ou de vol de celui-ci."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Les images et le modèle d\'empreinte digitale associés à « <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> » et stockés sur votre téléphone seront supprimés"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Les images et le modèle d\'empreinte digitale associés à « <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> » et stockés sur votre tablette seront supprimés"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Les images et le modèle d\'empreinte digitale associés à « <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> » et stockés sur votre appareil seront supprimés"</string>
- <string name="fingerprint_last_delete_message" product="default" msgid="3187410175262625294">"Vous ne pourrez pas utiliser votre empreinte digitale pour déverrouiller votre téléphone ni pour vérifier qu\'il s\'agit bien de vous dans les applications."</string>
- <string name="fingerprint_last_delete_message" product="tablet" msgid="8618307419148004587">"Vous ne pourrez pas utiliser votre empreinte digitale pour déverrouiller votre tablette ni pour vérifier qu\'il s\'agit bien de vous dans les applications."</string>
- <string name="fingerprint_last_delete_message" product="device" msgid="3910012280858587242">"Vous ne pourrez pas utiliser votre empreinte digitale pour déverrouiller votre appareil ni pour vérifier qu\'il s\'agit bien de vous dans les applications."</string>
+ <string name="fingerprint_last_delete_message" product="default" msgid="3187410175262625294">"Vous ne pourrez pas utiliser votre empreinte digitale pour déverrouiller votre téléphone ni pour vérifier qu\'il s\'agit bien de vous dans les applis."</string>
+ <string name="fingerprint_last_delete_message" product="tablet" msgid="8618307419148004587">"Vous ne pourrez pas utiliser votre empreinte digitale pour déverrouiller votre tablette ni pour vérifier qu\'il s\'agit bien de vous dans les applis."</string>
+ <string name="fingerprint_last_delete_message" product="device" msgid="3910012280858587242">"Vous ne pourrez pas utiliser votre empreinte digitale pour déverrouiller votre appareil ni pour vérifier qu\'il s\'agit bien de vous dans les applis."</string>
<string name="fingerprint_unlock_title" product="default" msgid="3224008661274975980">"Vous pouvez déverrouiller votre téléphone avec votre empreinte digitale. Pour plus de sécurité, cette option exige un verrouillage d\'écran secondaire."</string>
<string name="fingerprint_unlock_title" product="tablet" msgid="6920040586231644124">"Vous pouvez déverrouiller votre tablette avec votre empreinte digitale. Pour plus de sécurité, cette option exige un verrouillage d\'écran secondaire."</string>
<string name="fingerprint_unlock_title" product="device" msgid="1469790269368691678">"Vous pouvez déverrouiller votre appareil avec votre empreinte digitale. Pour plus de sécurité, cette option exige un verrouillage d\'écran secondaire."</string>
@@ -238,17 +238,17 @@
<string name="status_number_sim_status" product="tablet" msgid="9003886361856568694">"NRM sur la carte SIM"</string>
<string name="status_number_sim_status" product="default" msgid="7536755538266735352">"N° de téléphone sur la carte SIM"</string>
<string name="storage_wizard_init_v2_internal_title" product="tablet" msgid="2049551739429034707">"Formater la carte SD en tant que mémoire interne"</string>
- <string name="storage_wizard_init_v2_internal_summary" product="tablet" msgid="6130017080675241337">"Stockez vos applications et vos contenus multimédias pour les utiliser uniquement sur cette tablette. <a href=https://support.google.com/android/answer/12153449>En savoir plus sur la configuration d\'une carte SD</a>."</string>
+ <string name="storage_wizard_init_v2_internal_summary" product="tablet" msgid="6130017080675241337">"Stockez vos applis et vos contenus multimédias pour les utiliser uniquement sur cette tablette. <a href=https://support.google.com/android/answer/12153449>En savoir plus sur la configuration d\'une carte SD</a>."</string>
<string name="storage_wizard_init_v2_internal_action" product="tablet" msgid="560506072518373839">"Formater"</string>
<string name="storage_wizard_init_v2_internal_title" product="default" msgid="2049551739429034707">"Formater la carte SD en tant que mémoire interne"</string>
- <string name="storage_wizard_init_v2_internal_summary" product="default" msgid="4395040788668914783">"Stockez vos applications et vos contenus multimédias pour les utiliser uniquement sur ce téléphone. <a href=https://support.google.com/android/answer/12153449>En savoir plus sur la configuration d\'une carte SD</a>."</string>
+ <string name="storage_wizard_init_v2_internal_summary" product="default" msgid="4395040788668914783">"Stockez vos applis et vos contenus multimédias pour les utiliser uniquement sur ce téléphone. <a href=https://support.google.com/android/answer/12153449>En savoir plus sur la configuration d\'une carte SD</a>."</string>
<string name="storage_wizard_init_v2_internal_action" product="default" msgid="560506072518373839">"Formater"</string>
- <string name="storage_wizard_migrate_v2_body" product="tablet" msgid="7539293889421540797">"Vous pouvez déplacer vos fichiers et certaines applications sur le périphérique <xliff:g id="NAME">^1</xliff:g>. \n\nCe déplacement libérerait <xliff:g id="SIZE">^2</xliff:g> du stockage de votre tablette et prendrait environ <xliff:g id="DURATION">^3</xliff:g>."</string>
- <string name="storage_wizard_migrate_v2_body" product="default" msgid="3807501187945770401">"Vous pouvez déplacer vos fichiers et certaines applications sur le périphérique <xliff:g id="NAME">^1</xliff:g>. \n\nCe déplacement libérerait <xliff:g id="SIZE">^2</xliff:g> du stockage de votre téléphone et prendrait environ <xliff:g id="DURATION">^3</xliff:g>."</string>
+ <string name="storage_wizard_migrate_v2_body" product="tablet" msgid="7539293889421540797">"Vous pouvez déplacer vos fichiers et certaines applis sur le périphérique <xliff:g id="NAME">^1</xliff:g>. \n\nCe déplacement libérerait <xliff:g id="SIZE">^2</xliff:g> du stockage de votre tablette et prendrait environ <xliff:g id="DURATION">^3</xliff:g>."</string>
+ <string name="storage_wizard_migrate_v2_body" product="default" msgid="3807501187945770401">"Vous pouvez déplacer vos fichiers et certaines applis sur le périphérique <xliff:g id="NAME">^1</xliff:g>. \n\nCe déplacement libérerait <xliff:g id="SIZE">^2</xliff:g> du stockage de votre téléphone et prendrait environ <xliff:g id="DURATION">^3</xliff:g>."</string>
<string name="storage_wizard_migrate_v2_checklist_battery" product="tablet" msgid="5326017162943304749">"Gardez cette tablette chargée"</string>
<string name="storage_wizard_migrate_v2_checklist_battery" product="default" msgid="8041162611685970218">"Gardez ce téléphone chargé"</string>
- <string name="main_clear_desc" product="tablet" msgid="5778614597513856716">"Cette action effacera toutes les données de la "<b>"mémoire de stockage interne"</b>" de votre tablette, y compris :\n\n"<li>"Votre compte Google"</li>\n<li>"Les données et paramètres du système et de l\'application"</li>\n<li>"Les applications téléchargées"</li></string>
- <string name="main_clear_desc" product="default" msgid="1888412491866186706">"Cette action effacera toutes les données de la "<b>"mémoire de stockage interne"</b>" de votre téléphone, y compris :\n\n"<li>"Votre compte Google"</li>\n<li>"Les données et paramètres du système et de l\'application"</li>\n<li>"Les applications téléchargées"</li></string>
+ <string name="main_clear_desc" product="tablet" msgid="5778614597513856716">"Cette action effacera toutes les données de la "<b>"mémoire de stockage interne"</b>" de votre tablette, y compris :\n\n"<li>"Votre compte Google"</li>\n<li>"Les données et paramètres du système et de l\'appli"</li>\n<li>"Les applis téléchargées"</li></string>
+ <string name="main_clear_desc" product="default" msgid="1888412491866186706">"Cette action effacera toutes les données de la "<b>"mémoire de stockage interne"</b>" de votre téléphone, y compris :\n\n"<li>"Votre compte Google"</li>\n<li>"Les données et paramètres du système et de l\'appli"</li>\n<li>"Les applis téléchargées"</li></string>
<string name="main_clear_accounts" product="default" msgid="3604029744509330786">\n\n"Vous êtes actuellement connecté aux comptes suivants :\n"</string>
<string name="main_clear_other_users_present" product="default" msgid="7750368595882863399">\n\n"D\'autres personnes utilisent cet appareil.\n"</string>
<string name="main_clear_desc_erase_external_storage" product="nosdcard" msgid="5834269984459195918">\n\n"Pour supprimer la musique, les photos et les autres données de l\'utilisateur, vous devez effacer la "<b>"mémoire de stockage USB"</b>"."</string>
@@ -269,9 +269,9 @@
<string name="about_settings" product="default" msgid="2621311564780208250">"À propos du téléphone"</string>
<string name="about_settings" product="device" msgid="7595574154492383452">"À propos de l\'appareil"</string>
<string name="about_settings" product="emulator" msgid="1099246296173401003">"À propos de l\'appareil émulé"</string>
- <string name="install_all_warning" product="tablet" msgid="1732116924846572063">"Votre tablette et vos données personnelles sont plus vulnérables aux attaques provenant d\'applications inconnues. En installant des applications provenant de cette source, vous acceptez d\'être le seul responsable de tout dommage causé à votre tablette ou de toute perte de données pouvant découler de l\'utilisation de telles applications."</string>
- <string name="install_all_warning" product="default" msgid="4597256179485325694">"Votre téléphone et vos données personnelles sont plus vulnérables aux attaques provenant d\'applications inconnues. En installant des applications provenant de cette source, vous acceptez d\'être le seul responsable de tout dommage causé à votre téléphone ou de toute perte de données pouvant découler de l\'utilisation de telles applications."</string>
- <string name="install_all_warning" product="device" msgid="6293002353591632851">"Votre appareil et vos données personnelles sont plus vulnérables aux attaques provenant d\'applications inconnues. En installant des applications provenant de cette source, vous acceptez d\'être responsable de tout dommage causé à votre appareil ou de toute perte de données pouvant découler de l\'utilisation de telles applications."</string>
+ <string name="install_all_warning" product="tablet" msgid="1732116924846572063">"Votre tablette et vos données personnelles sont plus vulnérables aux attaques provenant d\'applis inconnues. En installant des applis provenant de cette source, vous acceptez d\'être le seul responsable de tout dommage causé à votre tablette ou de toute perte de données pouvant découler de l\'utilisation de telles applis."</string>
+ <string name="install_all_warning" product="default" msgid="4597256179485325694">"Votre téléphone et vos données personnelles sont plus vulnérables aux attaques provenant d\'applis inconnues. En installant des applis provenant de cette source, vous acceptez d\'être le seul responsable de tout dommage causé à votre téléphone ou de toute perte de données pouvant découler de l\'utilisation de telles applis."</string>
+ <string name="install_all_warning" product="device" msgid="6293002353591632851">"Votre appareil et vos données personnelles sont plus vulnérables aux attaques provenant d\'applis inconnues. En installant des applis provenant de cette source, vous acceptez d\'être responsable de tout dommage causé à votre appareil ou de toute perte de données pouvant découler de l\'utilisation de telles applis."</string>
<string name="runningservicedetails_stop_dlg_text" product="tablet" msgid="6321057186549848774">"Si vous arrêtez ce service, certaines fonctionnalités de votre tablette peuvent cesser de fonctionner correctement jusqu\'à ce que vous ayez éteint, puis rallumé votre appareil."</string>
<string name="runningservicedetails_stop_dlg_text" product="default" msgid="6869998550403667737">"Si vous arrêtez ce service, certaines fonctionnalités de votre téléphone peuvent cesser de fonctionner correctement jusqu\'à ce que vous ayez éteint, puis rallumé votre appareil."</string>
<string name="testing_phone_info" product="tablet" msgid="8267746802132630741">"Informations sur la tablette"</string>
@@ -289,13 +289,13 @@
<string name="battery_tip_summary_summary" product="device" msgid="45436555475195632">"L\'appareil utilise une quantité normale d\'énergie en arrière-plan"</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="default" msgid="4134817691837413711">"Dans certaines conditions, comme des températures élevées ou de longues périodes de charge, la charge pourrait être limitée à <xliff:g id="PERCENT">%1$s</xliff:g> pour aider à préserver la santé de la pile.\n\nLorsque ces conditions prendront fin, votre téléphone se rechargera normalement de façon automatique."</string>
<string name="battery_tip_limited_temporarily_dialog_msg" product="tablet" msgid="9123428127699951337">"Dans certaines conditions, comme des températures élevées ou de longues périodes de charge, la charge pourrait être limitée à <xliff:g id="PERCENT">%1$s</xliff:g> pour aider à préserver la santé de la pile.\n\nLorsque ces conditions prendront fin, votre tablette se rechargera normalement de façon automatique."</string>
- <string name="battery_tip_dialog_message" product="default" msgid="7183790460600610222">"Comme vous avez utilisé votre téléphone plus que d\'habitude, votre pile risque de s\'épuiser plus tôt que prévu. \n\nLes applications qui utilisent le plus d\'énergie de la pile :"</string>
- <string name="battery_tip_dialog_message" product="tablet" msgid="2702706858728966181">"Comme vous avez utilisé votre tablette plus que d\'habitude, votre pile risque de s\'épuiser plus tôt que prévu. \n\nLes applications qui utilisent le plus d\'énergie de la pile :"</string>
- <string name="battery_tip_dialog_message" product="device" msgid="6488208467377974021">"Comme vous avez utilisé votre appareil plus que d\'habitude, votre pile risque de s\'épuiser plus tôt que prévu. \n\nLes applications qui utilisent le plus d\'énergie de la pile :"</string>
- <string name="battery_tip_dialog_summary_message" product="default" msgid="5760208650901831793">"Vos applications utilisent une quantité normale d\'énergie. Si les applications utilisent trop d\'énergie, votre téléphone vous suggérera des actions à essayer.\n\nVous pouvez toujours activer la fonction Économiseur de pile si la pile est trop faible."</string>
- <string name="battery_tip_dialog_summary_message" product="tablet" msgid="236339248261391160">"Vos applications utilisent une quantité normale d\'énergie. Si les applications utilisent trop d\'énergie, votre tablette vous suggérera des actions à essayer.\n\nVous pouvez toujours activer la fonction Économiseur de pile si la pile est trop faible."</string>
- <string name="battery_tip_dialog_summary_message" product="device" msgid="7885502661524685786">"Vos applications utilisent une quantité normale d\'énergie. Si les applications utilisent trop d\'énergie, votre appareil vous suggérera des actions à essayer.\n\nVous pouvez toujours activer la fonction Économiseur de pile si la pile est trop faible."</string>
- <string name="smart_battery_summary" product="default" msgid="1210637215867635435">"Restreindre l\'usage de la pile pour les applications que vous n\'utilisez pas souvent"</string>
+ <string name="battery_tip_dialog_message" product="default" msgid="7183790460600610222">"Comme vous avez utilisé votre téléphone plus que d\'habitude, votre pile risque de s\'épuiser plus tôt que prévu. \n\nLes applis qui utilisent le plus d\'énergie de la pile :"</string>
+ <string name="battery_tip_dialog_message" product="tablet" msgid="2702706858728966181">"Comme vous avez utilisé votre tablette plus que d\'habitude, votre pile risque de s\'épuiser plus tôt que prévu. \n\nLes applis qui utilisent le plus d\'énergie de la pile :"</string>
+ <string name="battery_tip_dialog_message" product="device" msgid="6488208467377974021">"Comme vous avez utilisé votre appareil plus que d\'habitude, votre pile risque de s\'épuiser plus tôt que prévu. \n\nLes applis qui utilisent le plus d\'énergie de la pile :"</string>
+ <string name="battery_tip_dialog_summary_message" product="default" msgid="5760208650901831793">"Vos applis utilisent une quantité normale d\'énergie. Si les applis utilisent trop d\'énergie, votre téléphone vous suggérera des actions à essayer.\n\nVous pouvez toujours activer la fonction Économiseur de pile si la pile est trop faible."</string>
+ <string name="battery_tip_dialog_summary_message" product="tablet" msgid="236339248261391160">"Vos applis utilisent une quantité normale d\'énergie. Si les applis utilisent trop d\'énergie, votre tablette vous suggérera des actions à essayer.\n\nVous pouvez toujours activer la fonction Économiseur de pile si la pile est trop faible."</string>
+ <string name="battery_tip_dialog_summary_message" product="device" msgid="7885502661524685786">"Vos applis utilisent une quantité normale d\'énergie. Si les applis utilisent trop d\'énergie, votre appareil vous suggérera des actions à essayer.\n\nVous pouvez toujours activer la fonction Économiseur de pile si la pile est trop faible."</string>
+ <string name="smart_battery_summary" product="default" msgid="1210637215867635435">"Restreindre l\'usage de la pile pour les applis que vous n\'utilisez pas souvent"</string>
<string name="battery_usage_screen_footer" product="default" msgid="8872101342490341865">"L\'utilisation de la pile et le temps d\'utilisation des écrans ne sont pas mesurés pendant la recharge du téléphone"</string>
<string name="battery_usage_screen_footer" product="tablet" msgid="1876984641036532124">"L\'utilisation de la pile et le temps d\'utilisation des écrans ne sont pas mesurés pendant la recharge de la tablette"</string>
<string name="battery_usage_screen_footer" product="device" msgid="6488857833906266507">"L\'utilisation de la pile et le temps d\'utilisation des écrans ne sont pas mesurés pendant la recharge de l\'appareil"</string>
@@ -308,9 +308,9 @@
<string name="data_usage_auto_sync_on_dialog" product="default" msgid="7207326473052484970">"Toutes les modifications que vous apportez à vos comptes sur le Web sont automatiquement copiées sur votre téléphone.\n\nCertains comptes peuvent également copier automatiquement sur le Web toutes les modifications que vous apportez sur le téléphone. Les comptes Google fonctionnent de cette façon."</string>
<string name="data_usage_limit_dialog_mobile" product="tablet" msgid="5609616352941038118">"Votre tablette désactivera les données cellulaires lorsqu\'elle atteindra la limite que vous définissez.\n\nComme c\'est votre tablette qui mesure la consommation des données, et que votre fournisseur de services peut utiliser un système de mesure différent, nous vous conseillons d\'utiliser une limite plus basse."</string>
<string name="data_usage_limit_dialog_mobile" product="default" msgid="4552449053646826676">"Votre téléphone désactivera les données cellulaires lorsqu\'il atteindra la limite que vous définissez.\n\nComme c\'est votre téléphone qui mesure la consommation des données, et que votre fournisseur de services peut utiliser un système de mesure différent, nous vous conseillons de définir une limite plus basse."</string>
- <string name="user_settings_footer_text" product="device" msgid="8543171604218174424">"Partagez votre appareil en ajoutant des utilisateurs. Chaque utilisateur dispose d\'un espace personnel sur votre appareil pour ses écrans d\'accueil personnalisés, ses comptes, ses applications, ses paramètres et plus encore."</string>
- <string name="user_settings_footer_text" product="tablet" msgid="4749331578207116797">"Partagez votre tablette en ajoutant des utilisateurs. Chaque utilisateur dispose d\'un espace personnel sur votre tablette pour ses écrans d\'accueil personnalisés, ses comptes, ses applications, ses paramètres et plus encore."</string>
- <string name="user_settings_footer_text" product="default" msgid="5440172971747221370">"Partagez votre téléphone en ajoutant des utilisateurs. Chaque utilisateur dispose d\'un espace personnel sur votre téléphone pour ses écrans d\'accueil personnalisés, ses comptes, ses applications, ses paramètres et plus encore."</string>
+ <string name="user_settings_footer_text" product="device" msgid="8543171604218174424">"Partagez votre appareil en ajoutant des utilisateurs. Chaque utilisateur dispose d\'un espace personnel sur votre appareil pour ses écrans d\'accueil personnalisés, ses comptes, ses applis, ses paramètres et plus encore."</string>
+ <string name="user_settings_footer_text" product="tablet" msgid="4749331578207116797">"Partagez votre tablette en ajoutant des utilisateurs. Chaque utilisateur dispose d\'un espace personnel sur votre tablette pour ses écrans d\'accueil personnalisés, ses comptes, ses applis, ses paramètres et plus encore."</string>
+ <string name="user_settings_footer_text" product="default" msgid="5440172971747221370">"Partagez votre téléphone en ajoutant des utilisateurs. Chaque utilisateur dispose d\'un espace personnel sur votre téléphone pour ses écrans d\'accueil personnalisés, ses comptes, ses applis, ses paramètres et plus encore."</string>
<string name="user_cannot_manage_message" product="tablet" msgid="5566619500245432179">"Seul le propriétaire de la tablette peut gérer les utilisateurs."</string>
<string name="user_cannot_manage_message" product="default" msgid="8596259161937605316">"Seul le propriétaire de la tablette peut gérer les utilisateurs."</string>
<string name="user_confirm_remove_self_message" product="tablet" msgid="6880861846664267876">"Votre espace et vos données vont disparaître de cette tablette. Cette action est irréversible."</string>
@@ -365,9 +365,9 @@
<string name="audio_sharing_dialog_share_more_content" product="default" msgid="4517503016262565607">"La musique et les vidéos de ce téléphone peuvent être lues sur les écouteurs que vous connectez"</string>
<string name="audio_sharing_dialog_share_more_content" product="tablet" msgid="7742344946644657414">"La musique et les vidéos de cette tablette peuvent être lues sur les écouteurs que vous connectez"</string>
<string name="audio_sharing_dialog_share_more_content" product="device" msgid="3409470560712324580">"La musique et les vidéos de cet appareil peuvent être lues sur les écouteurs que vous connectez"</string>
- <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Pour écouter un flux audio, connectez d\'abord des écouteurs prenant en charge l\'application LE Audio à ce téléphone."</string>
- <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Pour écouter un flux audio, connectez d\'abord des écouteurs prenant en charge l\'application LE Audio à cette tablette."</string>
- <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Pour écouter un flux audio, connectez d\'abord des écouteurs prenant en charge l\'application LE Audio à cet appareil."</string>
+ <string name="audio_streams_dialog_no_le_device_subtitle" product="default" msgid="1388450179345665604">"Pour écouter un flux audio, connectez d\'abord des écouteurs prenant en charge l\'appli LE Audio à ce téléphone."</string>
+ <string name="audio_streams_dialog_no_le_device_subtitle" product="tablet" msgid="6577207951269720001">"Pour écouter un flux audio, connectez d\'abord des écouteurs prenant en charge l\'appli LE Audio à cette tablette."</string>
+ <string name="audio_streams_dialog_no_le_device_subtitle" product="device" msgid="6192141045820029654">"Pour écouter un flux audio, connectez d\'abord des écouteurs prenant en charge l\'appli LE Audio à cet appareil."</string>
<string name="audio_streams_dialog_unsupported_device_subtitle" product="default" msgid="4634360514260385687">"Ce téléphone ne prend pas en charge l\'appli LE Audio, et celle-ci est nécessaire pour effectuer la lecture des flux audio."</string>
<string name="audio_streams_dialog_unsupported_device_subtitle" product="tablet" msgid="234603191628345605">"Cette tablette ne prend pas en charge l\'appli LE Audio, et celle-ci est nécessaire pour effectuer la lecture des flux audio."</string>
<string name="audio_streams_dialog_unsupported_device_subtitle" product="device" msgid="6350485541420926260">"Cet appareil ne prend pas en charge l\'appli LE Audio, et celle-ci est nécessaire pour effectuer la lecture des flux audio."</string>
diff --git a/res-product/values-fr/strings.xml b/res-product/values-fr/strings.xml
index 6b7d0c8..4f4032b 100644
--- a/res-product/values-fr/strings.xml
+++ b/res-product/values-fr/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Veuillez saisir un code pour configurer le déverrouillage par reconnaissance faciale.\n\nUn code protège votre téléphone en cas de perte ou de vol."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Veuillez dessiner un schéma pour configurer le déverrouillage par reconnaissance faciale.\n\nUn schéma protège votre téléphone en cas de perte ou de vol."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Veuillez saisir un mot de passe pour configurer le déverrouillage par reconnaissance faciale.\n\nUn mot de passe protège votre téléphone en cas de perte ou de vol."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Veuillez saisir un code pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn code protège votre tablette en cas de perte ou de vol."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Veuillez dessiner un schéma pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège votre tablette en cas de perte ou de vol."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Veuillez saisir un mot de passe pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège votre tablette en cas de perte ou de vol."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Veuillez saisir un code pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn code protège votre appareil en cas de perte ou de vol."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Veuillez dessiner un schéma pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège votre appareil en cas de perte ou de vol."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Veuillez saisir un mot de passe pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège votre appareil en cas de perte ou de vol."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Veuillez saisir un code pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn code protège votre téléphone en cas de perte ou de vol."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Veuillez dessiner un schéma pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège votre téléphone en cas de perte ou de vol."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Veuillez saisir un mot de passe pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège votre téléphone en cas de perte ou de vol."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Veuillez saisir un code pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn code protège votre tablette en cas de perte ou de vol."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Veuillez dessiner un schéma pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège votre tablette en cas de perte ou de vol."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Veuillez saisir un mot de passe pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège votre tablette en cas de perte ou de vol."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Veuillez saisir un code pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn code protège votre appareil en cas de perte ou de vol."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Veuillez dessiner un schéma pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège votre appareil en cas de perte ou de vol."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Veuillez saisir un mot de passe pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège votre appareil en cas de perte ou de vol."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Veuillez saisir un code pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn code protège votre téléphone en cas de perte ou de vol."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Veuillez dessiner un schéma pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn schéma protège votre téléphone en cas de perte ou de vol."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Veuillez saisir un mot de passe pour configurer le déverrouillage par reconnaissance faciale et par empreinte digitale.\n\nUn mot de passe protège votre téléphone en cas de perte ou de vol."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Les images et le modèle associés à \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" et stockés sur votre téléphone seront supprimés"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Les images et le modèle associés à \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" et stockés sur votre tablette seront supprimés"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Les images et le modèle associés à \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" et stockés sur votre appareil seront supprimés"</string>
diff --git a/res-product/values-gl/strings.xml b/res-product/values-gl/strings.xml
index 003e50f..d41f20d 100644
--- a/res-product/values-gl/strings.xml
+++ b/res-product/values-gl/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Para configurar o desbloqueo facial, necesítase un PIN.\n\nO teléfono estará protexido por un PIN en caso de perda ou roubo."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Para configurar o desbloqueo facial, necesítase un padrón.\n\nO teléfono estará protexido por un padrón en caso de perda ou roubo."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Para configurar o desbloqueo facial, necesítase un contrasinal.\n\nO teléfono estará protexido por un contrasinal en caso de perda ou roubo."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Para configurar o desbloqueo facial e dactilar, necesítase un PIN.\n\nA tableta estará protexida por un PIN en caso de perda ou roubo."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Para configurar o desbloqueo facial e dactilar, necesítase un padrón.\n\nA tableta estará protexida por un padrón en caso de perda ou roubo."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Para configurar o desbloqueo facial e dactilar, necesítase un contrasinal.\n\nA tableta estará protexida por un contrasinal en caso de perda ou roubo."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Para configurar o desbloqueo facial e dactilar, necesítase un PIN.\n\nO dispositivo estará protexido por un PIN en caso de perda ou roubo."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Para configurar o desbloqueo facial e dactilar, necesítase un padrón.\n\nO dispositivo estará protexido por un padrón en caso de perda ou roubo."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Para configurar o desbloqueo facial e dactilar, necesítase un contrasinal.\n\nO dispositivo estará protexido por un contrasinal en caso de perda ou roubo."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Para configurar o desbloqueo facial e dactilar, necesítase un PIN.\n\nO teléfono estará protexido por un PIN en caso de perda ou roubo."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Para configurar o desbloqueo facial e dactilar, necesítase un padrón.\n\nO teléfono estará protexido por un padrón en caso de perda ou roubo."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Para configurar o desbloqueo facial e dactilar, necesítase un contrasinal.\n\nO teléfono estará protexido por un contrasinal en caso de perda ou roubo."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Para configurar o desbloqueo facial e o dactilar, necesítase un PIN.\n\nUsarase para protexer a tableta en caso de perda ou roubo."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Para configurar o desbloqueo facial e o dactilar, necesítase un padrón.\n\nUsarase para protexer a tableta en caso de perda ou roubo."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Para configurar o desbloqueo facial e o dactilar, necesítase un contrasinal.\n\nUsarase para protexer a tableta en caso de perda ou roubo."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Para configurar o desbloqueo facial e o dactilar, necesítase un PIN.\n\nUsarase para protexer o dispositivo en caso de perda ou roubo."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Para configurar o desbloqueo facial e o dactilar, necesítase un padrón.\n\nUsarase para protexer o dispositivo en caso de perda ou roubo."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Para configurar o desbloqueo facial e o dactilar, necesítase un contrasinal.\n\nUsarase para protexer o dispositivo en caso de perda ou roubo."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Para configurar o desbloqueo facial e o dactilar, necesítase un PIN.\n\nUsarase para protexer o teléfono en caso de perda ou roubo."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Para configurar o desbloqueo facial e o dactilar, necesítase un padrón.\n\nUsarase para protexer o teléfono en caso de perda ou roubo."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Para configurar o desbloqueo facial e o dactilar, necesítase un contrasinal.\n\nUsarase para protexer o teléfono en caso de perda ou roubo."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Ao realizar esta acción, eliminaranse as imaxes e o modelo da impresión dixital <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> que estean almacenados no teléfono"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Ao realizar esta acción, eliminaranse as imaxes e o modelo da impresión dixital <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> que estean almacenados na tableta"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Ao realizar esta acción, eliminaranse as imaxes e o modelo da impresión dixital <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> que estean almacenados no teu dispositivo"</string>
diff --git a/res-product/values-gu/strings.xml b/res-product/values-gu/strings.xml
index 5f9669a..d63a47d 100644
--- a/res-product/values-gu/strings.xml
+++ b/res-product/values-gu/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પિન જરૂરી છે.\n\nજો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પિન તેને સુરક્ષિત રાખે છે."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પૅટર્ન જરૂરી છે.\n\nજો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પૅટર્ન તેને સુરક્ષિત રાખે છે."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પાસવર્ડ જરૂરી છે.\n\nજો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પાસવર્ડ તેને સુરક્ષિત રાખે છે."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"ફેસ અનલૉક અને ફિંગરપ્રિન્ટ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પિન જરૂરી છે.\n\nજો તમારું ટૅબ્લેટ ખોવાઈ જાય કે ચોરાઈ જાય, તો પિન તેને સુરક્ષિત રાખે છે."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"ફેસ અનલૉક અને ફિંગરપ્રિન્ટ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પૅટર્ન જરૂરી છે.\n\nજો તમારું ટૅબ્લેટ ખોવાઈ જાય કે ચોરાઈ જાય, તો પૅટર્ન તેને સુરક્ષિત રાખે છે."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"ફેસ અનલૉક અને ફિંગરપ્રિન્ટ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પાસવર્ડ જરૂરી છે.\n\nજો તમારું ટૅબ્લેટ ખોવાઈ જાય કે ચોરાઈ જાય, તો પાસવર્ડ તેને સુરક્ષિત રાખે છે."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"ફેસ અનલૉક અને ફિંગરપ્રિન્ટ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પિન જરૂરી છે.\n\nજો તમારું ડિવાઇસ ખોવાઈ જાય કે ચોરાઈ જાય, તો પિન તેને સુરક્ષિત રાખે છે."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"ફેસ અનલૉક અને ફિંગરપ્રિન્ટ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પૅટર્ન જરૂરી છે.\n\nજો તમારું ડિવાઇસ ખોવાઈ જાય કે ચોરાઈ જાય, તો પૅટર્ન તેને સુરક્ષિત રાખે છે."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"ફેસ અનલૉક અને ફિંગરપ્રિન્ટ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પાસવર્ડ જરૂરી છે.\n\nજો તમારું ડિવાઇસ ખોવાઈ જાય કે ચોરાઈ જાય, તો પાસવર્ડ તેને સુરક્ષિત રાખે છે."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"ફેસ અનલૉક અને ફિંગરપ્રિન્ટ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પિન જરૂરી છે.\n\nજો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પિન તેને સુરક્ષિત રાખે છે."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"ફેસ અનલૉક અને ફિંગરપ્રિન્ટ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પૅટર્ન જરૂરી છે.\n\nજો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પૅટર્ન તેને સુરક્ષિત રાખે છે."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"ફેસ અનલૉક અને ફિંગરપ્રિન્ટ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પાસવર્ડ જરૂરી છે.\n\nજો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પાસવર્ડ તેને સુરક્ષિત રાખે છે."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"ફિંગરપ્રિન્ટ અનલૉક અને ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પિન જરૂરી છે.\n\nજો તમારું ટૅબ્લેટ ખોવાઈ જાય કે ચોરાઈ જાય, તો પિન તેને સુરક્ષિત રાખે છે."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"ફિંગરપ્રિન્ટ અનલૉક અને ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પૅટર્ન જરૂરી છે.\n\nજો તમારું ટૅબ્લેટ ખોવાઈ જાય કે ચોરાઈ જાય, તો પૅટર્ન તેને સુરક્ષિત રાખે છે."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"ફિંગરપ્રિન્ટ અનલૉક અને ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પાસવર્ડ જરૂરી છે.\n\nજો તમારું ટૅબ્લેટ ખોવાઈ જાય કે ચોરાઈ જાય, તો પાસવર્ડ તેને સુરક્ષિત રાખે છે."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"ફિંગરપ્રિન્ટ અનલૉક અને ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પિન જરૂરી છે.\n\nજો તમારું ડિવાઇસ ખોવાઈ જાય કે ચોરાઈ જાય, તો પિન તેને સુરક્ષિત રાખે છે."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"ફિંગરપ્રિન્ટ અનલૉક અને ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પૅટર્ન જરૂરી છે.\n\nજો તમારું ડિવાઇસ ખોવાઈ જાય કે ચોરાઈ જાય, તો પૅટર્ન તેને સુરક્ષિત રાખે છે."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"ફિંગરપ્રિન્ટ અનલૉક અને ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પાસવર્ડ જરૂરી છે.\n\nજો તમારું ડિવાઇસ ખોવાઈ જાય કે ચોરાઈ જાય, તો પાસવર્ડ તેને સુરક્ષિત રાખે છે."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"ફિંગરપ્રિન્ટ અનલૉક અને ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પિન જરૂરી છે.\n\nજો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પિન તેને સુરક્ષિત રાખે છે."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"ફિંગરપ્રિન્ટ અનલૉક અને ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પૅટર્ન જરૂરી છે.\n\nજો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પૅટર્ન તેને સુરક્ષિત રાખે છે."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"ફિંગરપ્રિન્ટ અનલૉક અને ફેસ અનલૉકની સુવિધાનું સેટઅપ કરવા માટે પાસવર્ડ જરૂરી છે.\n\nજો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પાસવર્ડ તેને સુરક્ષિત રાખે છે."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"આ તમારા ફોન પર સ્ટોર કરવામાં આવેલી ફિંગરપ્રિન્ટની છબીઓ અને \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' સાથે સંકળાયેલા મૉડલને ડિલીટ કરે છે"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"આ તમારા ટૅબ્લેટ પર સ્ટોર કરવામાં આવેલી ફિંગરપ્રિન્ટની છબીઓ અને \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' સાથે સંકળાયેલા મૉડલને ડિલીટ કરે છે"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"આ તમારા ડિવાઇસ પર સ્ટોર કરવામાં આવેલી ફિંગરપ્રિન્ટ અને \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' સાથે સંકળાયેલા મૉડલને ડિલીટ કરે છે"</string>
diff --git a/res-product/values-hi/strings.xml b/res-product/values-hi/strings.xml
index 85c6dad..3da48e8 100644
--- a/res-product/values-hi/strings.xml
+++ b/res-product/values-hi/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पिन की ज़रूरत है.\n\nअगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पिन आपके फ़ोन की सुरक्षा करता है."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पैटर्न की ज़रूरत है.\n\nअगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पैटर्न आपके फ़ोन की सुरक्षा करता है."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पासवर्ड की ज़रूरत है.\n\nअगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पासवर्ड आपके फ़ोन की सुरक्षा करता है."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"फ़ेस अनलॉक और फ़िंगरप्रिंट अनलॉक की सुविधा सेट अप करने के लिए, पिन की ज़रूरत है.\n\nअगर आपका टैबलेट खो जाता है या चोरी हो जाता है, तो पिन आपके टैबलेट की सुरक्षा करता है."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"फ़ेस अनलॉक और फ़िंगरप्रिंट अनलॉक की सुविधा सेट अप करने के लिए, पैटर्न की ज़रूरत है.\n\nअगर आपका टैबलेट खो जाता है या चोरी हो जाता है, तो पैटर्न आपके टैबलेट की सुरक्षा करता है."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"फ़ेस अनलॉक और फ़िंगरप्रिंट अनलॉक की सुविधा सेट अप करने के लिए, पासवर्ड की ज़रूरत है.\n\nअगर आपका टैबलेट खो जाता है या चोरी हो जाता है, तो पासवर्ड आपके टैबलेट की सुरक्षा करता है."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"फ़ेस अनलॉक और फ़िंगरप्रिंट अनलॉक की सुविधा सेट अप करने के लिए, पिन की ज़रूरत है.\n\nअगर आपका डिवाइस खो जाता है या चोरी हो जाता है, तो पिन आपके डिवाइस की सुरक्षा करता है."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"फ़ेस अनलॉक और फ़िंगरप्रिंट अनलॉक की सुविधा सेट अप करने के लिए, पैटर्न की ज़रूरत है.\n\nअगर आपका डिवाइस खो जाता है या चोरी हो जाता है, तो पैटर्न आपके डिवाइस की सुरक्षा करता है."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"फ़ेस अनलॉक और फ़िंगरप्रिंट अनलॉक की सुविधा सेट अप करने के लिए, पासवर्ड की ज़रूरत है.\n\nअगर आपका डिवाइस खो जाता है या चोरी हो जाता है, तो पासवर्ड आपके डिवाइस की सुरक्षा करता है."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"फ़ेस अनलॉक और फ़िंगरप्रिंट अनलॉक की सुविधा सेट अप करने के लिए, पिन की ज़रूरत है.\n\nअगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पिन आपके फ़ोन की सुरक्षा करता है."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"फ़ेस अनलॉक और फ़िंगरप्रिंट अनलॉक की सुविधा सेट अप करने के लिए, पैटर्न की ज़रूरत है.\n\nअगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पैटर्न आपके फ़ोन की सुरक्षा करता है."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"फ़ेस अनलॉक और फ़िंगरप्रिंट अनलॉक की सुविधा सेट अप करने के लिए, पासवर्ड की ज़रूरत है.\n\nअगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पासवर्ड आपके फ़ोन की सुरक्षा करता है."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"फ़िंगरप्रिंट अनलॉक और फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पिन की ज़रूरत है.\n\nअगर आपका टैबलेट खो जाता है या चोरी हो जाता है, तो पिन आपके टैबलेट को सुरक्षित रखता है."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"फ़िंगरप्रिंट अनलॉक और फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पैटर्न की ज़रूरत है.\n\nअगर आपका टैबलेट खो जाता है या चोरी हो जाता है, तो पैटर्न आपके टैबलेट को सुरक्षित रखता है."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"फ़िंगरप्रिंट अनलॉक और फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पासवर्ड की ज़रूरत है.\n\nअगर आपका टैबलेट खो जाता है या चोरी हो जाता है, तो पासवर्ड आपके टैबलेट को सुरक्षित रखता है."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"फ़िंगरप्रिंट अनलॉक और फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पिन की ज़रूरत है.\n\nअगर आपका डिवाइस खो जाता है या चोरी हो जाता है, तो पिन आपके डिवाइस को सुरक्षित रखता है."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"फ़िंगरप्रिंट अनलॉक और फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पैटर्न की ज़रूरत है.\n\nअगर आपका डिवाइस खो जाता है या चोरी हो जाता है, तो पैटर्न आपके डिवाइस को सुरक्षित रखता है."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"फ़िंगरप्रिंट अनलॉक और फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पासवर्ड की ज़रूरत है.\n\nअगर आपका डिवाइस खो जाता है या चोरी हो जाता है, तो पासवर्ड आपके डिवाइस को सुरक्षित रखता है."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"फ़िंगरप्रिंट अनलॉक और फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पिन की ज़रूरत है.\n\nअगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पिन आपके फ़ोन को सुरक्षित रखता है."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"फ़िंगरप्रिंट अनलॉकऔर फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पैटर्न की ज़रूरत है.\n\nअगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पैटर्न आपके फ़ोन को सुरक्षित रखता है."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"फ़िंगरप्रिंट अनलॉक और फ़ेस अनलॉक की सुविधा सेट अप करने के लिए, पासवर्ड की ज़रूरत है.\n\nअगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पासवर्ड आपके फ़ोन को सुरक्षित रखता है."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"ऐसा करने से, आपके फ़ोन पर सेव किए गए \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' से जुड़े फ़िंगरप्रिंट की इमेज और मॉडल मिट जाएंगे"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"ऐसा करने से, आपके टैबलेट पर मौजूद \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' से जुड़ी फ़िंगरप्रिंट की इमेज और मॉडल मिट जाएंगे"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"ऐसा करने से, आपके डिवाइस पर मौजूद <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> से जुड़ी फ़िंगरप्रिंट की इमेज और मॉडल मिट जाएंगे"</string>
diff --git a/res-product/values-hr/strings.xml b/res-product/values-hr/strings.xml
index e9a9e64a5..f1e4a0c 100644
--- a/res-product/values-hr/strings.xml
+++ b/res-product/values-hr/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Za postavljanje otključavanja licem potreban je PIN.\n\nPIN štiti telefon u slučaju gubitka ili krađe."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Za postavljanje otključavanja licem potreban je uzorak.\n\nUzorak štiti telefon u slučaju gubitka ili krađe."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Za postavljanje otključavanja licem potrebna je zaporka.\n\nZaporka štiti telefon u slučaju gubitka ili krađe."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Za postavljanje otključavanja licem ili otključavanja otiskom prsta potreban je PIN.\n\nPIN štiti tablet u slučaju gubitka ili krađe."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Za postavljanje otključavanja licem ili otključavanja otiskom prsta potreban je uzorak.\n\nUzorak štiti tablet u slučaju gubitka ili krađe."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Za postavljanje otključavanja licem ili otključavanja otiskom prsta potrebna je zaporka.\n\nZaporka štiti tablet u slučaju gubitka ili krađe."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Za postavljanje otključavanja licem ili otključavanja otiskom prsta potreban je PIN.\n\nPIN štiti uređaj u slučaju gubitka ili krađe."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Za postavljanje otključavanja licem ili otključavanja otiskom prsta potreban je uzorak.\n\nUzorak štiti uređaj u slučaju gubitka ili krađe."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Za postavljanje otključavanja licem ili otključavanja otiskom prsta potrebna je zaporka.\n\nZaporka štiti uređaj u slučaju gubitka ili krađe."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Za postavljanje otključavanja licem ili otključavanja otiskom prsta potreban je PIN.\n\nPIN štiti telefon u slučaju gubitka ili krađe."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Za postavljanje otključavanja licem ili otključavanja otiskom prsta potreban je uzorak.\n\nUzorak štiti telefon u slučaju gubitka ili krađe."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Za postavljanje otključavanja licem ili otključavanja otiskom prsta potrebna je zaporka.\n\nZaporka štiti telefon u slučaju gubitka ili krađe."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Za postavljanje otključavanja otiskom prsta ili otključavanja licem potreban je PIN.\n\nPIN štiti tablet u slučaju gubitka ili krađe."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Za postavljanje otključavanja otiskom prsta ili otključavanja licem potreban je uzorak.\n\nUzorak štiti tablet u slučaju gubitka ili krađe."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Za postavljanje otključavanja otiskom prsta ili otključavanja licem potrebna je zaporka.\n\nZaporka štiti tablet u slučaju gubitka ili krađe."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Za postavljanje otključavanja otiskom prsta ili otključavanja licem potreban je PIN.\n\nPIN štiti uređaj u slučaju gubitka ili krađe."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Za postavljanje otključavanja otiskom prsta ili otključavanja licem potreban je uzorak.\n\nUzorak štiti uređaj u slučaju gubitka ili krađe."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Za postavljanje otključavanja otiskom prsta ili otključavanja licem potrebna je zaporka.\n\nZaporka štiti uređaj u slučaju gubitka ili krađe."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Za postavljanje otključavanja otiskom prsta ili otključavanja licem potreban je PIN.\n\nPIN štiti telefon u slučaju gubitka ili krađe."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Za postavljanje otključavanja otiskom prsta ili otključavanja licem potreban je uzorak.\n\nUzorak štiti telefon u slučaju gubitka ili krađe."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Za postavljanje otključavanja otiskom prsta ili otključavanja licem potrebna je zaporka.\n\nZaporka štiti telefon u slučaju gubitka ili krađe."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Time se brišu slike i model otiska prsta povezani s otiskom prsta <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> koji su pohranjeni na vašem telefonu"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Time se brišu slike i model otiska prsta povezani s otiskom prsta <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> koji su pohranjeni na vašem tabletu"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Time se brišu slike i model otiska prsta povezani s otiskom prsta <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> koji su pohranjeni na vašem uređaju"</string>
diff --git a/res-product/values-hu/strings.xml b/res-product/values-hu/strings.xml
index ae44815..f4191a2 100644
--- a/res-product/values-hu/strings.xml
+++ b/res-product/values-hu/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"PIN-kód szükséges az Arcalapú feloldás beállításához.\n\nPIN-kód védi a telefont, ha elvész vagy ellopják."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Minta szükséges az Arcalapú feloldás beállításához.\n\nMinta védi a telefont, ha elvész vagy ellopják."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Jelszó szükséges az Arcalapú feloldás beállításához.\n\nJelszó védi a telefont, ha elvész vagy ellopják."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"PIN-kód szükséges az Arcalapú feloldás és a Feloldás ujjlenyomattal funkció beállításához.\n\nPIN-kód védi a táblagépet, ha elvész vagy ellopják."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Minta szükséges az Arcalapú feloldás és a Feloldás ujjlenyomattal funkció beállításához.\n\nMinta védi a táblagépet, ha elvész vagy ellopják."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Jelszó szükséges az Arcalapú feloldás és a Feloldás ujjlenyomattal funkció beállításához.\n\nJelszó védi a táblagépet, ha elvész vagy ellopják."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"PIN-kód szükséges az Arcalapú feloldás és a Feloldás ujjlenyomattal funkció beállításához.\n\nPIN-kód védi az eszközt, ha elvész vagy ellopják."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Minta szükséges az Arcalapú feloldás és a Feloldás ujjlenyomattal funkció beállításához.\n\nMinta védi az eszközt, ha elvész vagy ellopják."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Jelszó szükséges az Arcalapú feloldás és a Feloldás ujjlenyomattal funkció beállításához.\n\nJelszó védi az eszközt, ha elvész vagy ellopják."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"PIN-kód szükséges az Arcalapú feloldás és a Feloldás ujjlenyomattal funkció beállításához.\n\nA PIN-kód megvédi a telefont, ha elvész vagy ellopják."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Minta szükséges az Arcalapú feloldás és a Feloldás ujjlenyomattal funkció beállításához.\n\nA minta megvédi a telefont, ha elvész vagy ellopják."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Jelszó szükséges az Arcalapú feloldás és a Feloldás ujjlenyomattal funkció beállításához.\n\nJelszó védi a telefont, ha elvész vagy ellopják."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"PIN-kód szükséges a Feloldás ujjlenyomattal és az Arcalapú feloldás funkció beállításához.\n\nPIN-kód védi a táblagépet, ha elvész vagy ellopják."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Minta szükséges a Feloldás ujjlenyomattal és az Arcalapú feloldás funkció beállításához.\n\nMinta védi a táblagépet, ha elvész vagy ellopják."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Jelszó szükséges a Feloldás ujjlenyomattal és az Arcalapú feloldás funkció beállításához.\n\nJelszó védi a táblagépet, ha elvész vagy ellopják."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"PIN-kód szükséges a Feloldás ujjlenyomattal és az Arcalapú feloldás funkció beállításához.\n\nPIN-kód védi az eszközt, ha elvész vagy ellopják."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Minta szükséges a Feloldás ujjlenyomattal és az Arcalapú feloldás funkció beállításához.\n\nMinta védi az eszközt, ha elvész vagy ellopják."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Jelszó szükséges a Feloldás ujjlenyomattal és az Arcalapú feloldás funkció beállításához.\n\nJelszó védi az eszközt, ha elvész vagy ellopják."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"PIN-kód szükséges a Feloldás ujjlenyomattal és az Arcalapú feloldás funkció beállításához.\n\nPIN-kód védi a telefont, ha elvész vagy ellopják."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Minta szükséges a Feloldás ujjlenyomattal és az Arcalapú feloldás funkció beállításához.\n\nMinta védi a telefont, ha elvész vagy ellopják."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Jelszó szükséges a Feloldás ujjlenyomattal és az Arcalapú feloldás funkció beállításához.\n\nJelszó védi a telefont, ha elvész vagy ellopják."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Ezzel törli a telefonján tárolt „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>” ujjlenyomattal kapcsolatos ujjlenyomatképeket és -modellt."</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Ezzel törli a táblagépén tárolt „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>” ujjlenyomattal kapcsolatos ujjlenyomatképeket és -modellt"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Ezzel törli az eszközén tárolt „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>” ujjlenyomattal kapcsolatos ujjlenyomatképeket és -modellt"</string>
diff --git a/res-product/values-hy/strings.xml b/res-product/values-hy/strings.xml
index b41bec4..3142b8a 100644
--- a/res-product/values-hy/strings.xml
+++ b/res-product/values-hy/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Դեմքով ապակողպումը կարգավորելու համար անհրաժեշտ է PIN կոդ։\n\nPIN կոդի միջոցով դուք կարող եք պաշտպանել հեռախոսը, եթե այն կորչի կամ գողանան։"</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Դեմքով ապակողպումը կարգավորելու համար անհրաժեշտ է նախշ։\n\nՆախշի միջոցով դուք կարող եք պաշտպանել հեռախոսը, եթե այն կորչի կամ գողանան։"</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Դեմքով ապակողպումը կարգավորելու համար անհրաժեշտ է գաղտնաբառ։\n\nԳաղտնաբառի միջոցով դուք կարող եք պաշտպանել հեռախոսը, եթե այն կորչի կամ գողանան։"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է PIN կոդ։\n\nPIN կոդի միջոցով դուք կարող եք պաշտպանել պլանշետը, եթե այն կորչի կամ գողանան։"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է նախշ։\n\nՆախշի միջոցով դուք կարող եք պաշտպանել պլանշետը, եթե այն կորչի կամ գողանան։"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է գաղտնաբառ։\n\nԳաղտնաբառի միջոցով դուք կարող եք պաշտպանել պլանշետը, եթե այն կորչի կամ գողանան։"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է PIN կոդ։\n\nPIN կոդի միջոցով դուք կարող եք պաշտպանել սարքը, եթե այն կորչի կամ գողանան։"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է նախշ։\n\nՆախշի միջոցով դուք կարող եք պաշտպանել սարքը, եթե այն կորչի կամ գողանան։"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է գաղտնաբառ։\n\nԳաղտնաբառի միջոցով դուք կարող եք պաշտպանել սարքը, եթե այն կորչի կամ գողանան։"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է PIN կոդ։\n\nPIN կոդի միջոցով դուք կարող եք պաշտպանել հեռախոսը, եթե այն կորչի կամ գողանան։"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է նախշ։\n\nՆախշի միջոցով դուք կարող եք պաշտպանել հեռախոսը, եթե այն կորչի կամ գողանան։"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է գաղտնաբառ։\n\nԳաղտնաբառի միջոցով դուք կարող եք պաշտպանել հեռախոսը, եթե այն կորչի կամ գողանան։"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է PIN կոդ։\n\nPIN կոդի միջոցով դուք կարող եք պաշտպանել պլանշետը, եթե այն կորչի կամ գողանան։"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է նախշ։\n\nՆախշի միջոցով դուք կարող եք պաշտպանել պլանշետը, եթե այն կորչի կամ գողանան։"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է գաղտնաբառ։\n\nԳաղտնաբառի միջոցով դուք կարող եք պաշտպանել պլանշետը, եթե այն կորչի կամ գողանան։"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է PIN կոդ։\n\nPIN կոդի միջոցով դուք կարող եք պաշտպանել սարքը, եթե այն կորչի կամ գողանան։"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է նախշ։\n\nՆախշի միջոցով դուք կարող եք պաշտպանել սարքը, եթե այն կորչի կամ գողանան։"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է գաղտնաբառ։\n\nԳաղտնաբառի միջոցով դուք կարող եք պաշտպանել սարքը, եթե այն կորչի կամ գողանան։"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է PIN կոդ։\n\nPIN կոդի միջոցով դուք կարող եք պաշտպանել հեռախոսը, եթե այն կորչի կամ գողանան։"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է նախշ։\n\nՆախշի միջոցով դուք կարող եք պաշտպանել հեռախոսը, եթե այն կորչի կամ գողանան։"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Դեմքով և մատնահետքով ապակողպումը կարգավորելու համար անհրաժեշտ է գաղտնաբառ։\n\nԳաղտնաբառի միջոցով դուք կարող եք պաշտպանել հեռախոսը, եթե այն կորչի կամ գողանան։"</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"«<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» մատնահետքի հետ կապված պատկերներն ու նմուշը, որոնք պահված են ձեր հեռախոսում, կջնջվեն"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"«<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» մատնահետքի հետ կապված պատկերներն ու նմուշը, որոնք պահված են ձեր հեռախոսում, կջնջվեն"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"«<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» մատնահետքի պատկերներն ու նմուշը, որոնք պահված են ձեր սարքում, կջնջվեն"</string>
diff --git a/res-product/values-in/strings.xml b/res-product/values-in/strings.xml
index bbdc030..08981cb 100644
--- a/res-product/values-in/strings.xml
+++ b/res-product/values-in/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Perlu PIN untuk menyiapkan Buka dengan Wajah.\n\nPIN melindungi ponsel jika hilang atau dicuri."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Perlu pola untuk menyiapkan Buka dengan Wajah.\n\nPola melindungi ponsel jika hilang atau dicuri."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Perlu sandi untuk menyiapkan Buka dengan Wajah.\n\nSandi melindungi ponsel jika hilang atau dicuri."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Perlu PIN untuk menyiapkan Buka dengan Wajah dan Buka dengan Sidik Jari.\n\nPIN melindungi tablet jika hilang atau dicuri."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Perlu pola untuk menyiapkan Buka dengan Wajah dan Buka dengan Sidik Jari.\n\nPola melindungi tablet jika hilang atau dicuri."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Perlu sandi untuk menyiapkan Buka dengan Wajah dan Buka dengan Sidik Jari.\n\nSandi melindungi tablet jika hilang atau dicuri."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Perlu PIN untuk menyiapkan Buka dengan Wajah dan Buka dengan Sidik Jari.\n\nPIN melindungi perangkat jika hilang atau dicuri."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Perlu pola untuk menyiapkan Buka dengan Wajah dan Buka dengan Sidik Jari.\n\nPola melindungi perangkat jika hilang atau dicuri."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Perlu sandi untuk menyiapkan Buka dengan Wajah dan Buka dengan Sidik Jari.\n\nSandi melindungi perangkat jika hilang atau dicuri."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Perlu PIN untuk menyiapkan Buka dengan Wajah dan Buka dengan Sidik Jari.\n\nPIN melindungi ponsel jika hilang atau dicuri."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Perlu pola untuk menyiapkan Buka dengan Wajah dan Buka dengan Sidik Jari.\n\nPola melindungi ponsel jika hilang atau dicuri."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Perlu sandi untuk menyiapkan Buka dengan Wajah dan Buka dengan Sidik Jari.\n\nSandi melindungi ponsel jika hilang atau dicuri."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Memerlukan PIN untuk menyiapkan Buka dengan Sidik Jari dan Buka dengan Wajah.\n\nPIN melindungi tablet jika tablet hilang atau dicuri."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Memerlukan pola untuk menyiapkan Buka dengan Sidik Jari dan Buka dengan Wajah.\n\nPola melindungi tablet jika tablet hilang atau dicuri."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Memerlukan sandi untuk menyiapkan Buka dengan Sidik Jari dan Buka dengan Wajah.\n\nSandi melindungi tablet jika tablet hilang atau dicuri."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Memerlukan PIN untuk menyiapkan Buka dengan Sidik Jari dan Buka dengan Wajah.\n\nPIN melindungi perangkat jika perangkat hilang atau dicuri."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Memerlukan pola untuk menyiapkan Buka dengan Sidik Jari dan Buka dengan Wajah.\n\nPola melindungi perangkat jika perangkat hilang atau dicuri."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Memerlukan sandi untuk menyiapkan Buka dengan Sidik Jari dan Buka dengan Wajah.\n\nSandi melindungi perangkat jika perangkat hilang atau dicuri."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Memerlukan PIN untuk menyiapkan Buka dengan Sidik Jari dan Buka dengan Wajah.\n\nPIN melindungi ponsel jika ponsel hilang atau dicuri."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Memerlukan pola untuk menyiapkan Buka dengan Sidik Jari dan Buka dengan Wajah.\n\nPola melindungi ponsel jika ponsel hilang atau dicuri."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Memerlukan sandi untuk menyiapkan Buka dengan Sidik Jari dan Buka dengan Wajah.\n\nSandi melindungi ponsel jika ponsel hilang atau dicuri."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Tindakan ini akan menghapus gambar dan model sidik jari yang terkait dengan \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' yang disimpan di ponsel Anda"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Tindakan ini akan menghapus gambar dan model sidik jari yang terkait dengan \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' yang disimpan di tablet Anda"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Tindakan ini akan menghapus gambar dan model sidik jari yang terkait dengan \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' yang disimpan di perangkat Anda"</string>
diff --git a/res-product/values-is/strings.xml b/res-product/values-is/strings.xml
index 6530b7e..0b79678 100644
--- a/res-product/values-is/strings.xml
+++ b/res-product/values-is/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"PIN-númer er áskilið til að setja upp andlitskenni.\n\nPIN-númer verndar símann ef hann týnist eða ef honum er stolið."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Mynstur er áskilið til að setja upp andlitskenni.\n\nMynstur verndar símann ef hann týnist eða ef honum er stolið."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Aðgangsorð er áskilið til að setja upp andlitskenni.\n\nAðgangsorð verndar símann ef hann týnist eða ef honum er stolið."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"PIN-númer er áskilið til að setja upp andlits- og fingrafarskenni.\n\nPIN-númer verndar spjaldtölvuna ef hún týnist eða ef henni er stolið."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Mynstur er áskilið til að setja upp andlits- og fingrafarskenni.\n\nMynstur verndar spjaldtölvuna ef hún týnist eða ef henni er stolið."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Aðgangsorð er áskilið til að setja upp andlits- og fingrafarskenni.\n\nAðgangsorð verndar spjaldtölvuna ef hún týnist eða ef henni er stolið."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"PIN-númer er áskilið til að setja upp andlits- og fingrafarskenni.\n\nPIN-númer verndar tækið ef það týnist eða ef því er stolið."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Mynstur er áskilið til að setja upp andlits- og fingrafarskenni.\n\nMynstur verndar tækið ef það týnist eða ef því er stolið."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Aðgangsorð er áskilið til að setja upp andlits- og fingrafarskenni.\n\nAðgangsorð verndar tækið ef það týnist eða ef því er stolið."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"PIN-númer er áskilið til að setja upp andlits- og fingrafarskenni.\n\nPIN-númer verndar símann ef hann týnist eða ef honum er stolið."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Mynstur er áskilið til að setja upp andlits- og fingrafarskenni.\n\nMynstur verndar símann ef hann týnist eða ef honum er stolið."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Aðgangsorð er áskilið til að setja upp andlits- og fingrafarskenni.\n\nAðgangsorð verndar símann ef hann týnist eða ef honum er stolið."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"PIN-númers er krafist fyrir uppsetningu á andlits- og fingrafarskenni.\n\nPIN-númer verndar spjaldtölvuna ef hún týnist eða henni er stolið."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Mynsturs er krafist fyrir uppsetningu á andlits- og fingrafarskenni.\n\nMynstur verndar spjaldtölvuna ef hún týnist eða henni er stolið."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Aðgangsorðs er krafist fyrir uppsetningu á andlits- og fingrafarskenni.\n\nAðgangsorð verndar spjaldtölvuna ef hún týnist eða henni er stolið."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"PIN-númers er krafist fyrir uppsetningu á andlits- og fingrafarskenni.\n\nPIN-númer verndar tækið ef það týnist eða því er stolið."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Mynsturs er krafist fyrir uppsetningu á andlits- og fingrafarskenni.\n\nMynstur verndar tækið ef það týnist eða því er stolið."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Aðgangsorðs er krafist fyrir uppsetningu á andlits- og fingrafarskenni.\n\nAðgangsorð verndar tækið ef það týnist eða því er stolið."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"PIN-númers er krafist fyrir uppsetningu á andlits- og fingrafarskenni.\n\nPIN-númer verndar símann ef hann týnist eða honum er stolið."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Mynsturs er krafist fyrir uppsetningu á andlits- og fingrafarskenni.\n\nMynstur verndar símann ef hann týnist eða honum er stolið."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Aðgangsorðs er krafist fyrir uppsetningu á andlits- og fingrafarskenni.\n\nAðgangsorð verndar símann ef hann týnist eða honum er stolið."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Þetta eyðir fingrafaramyndum og -líkani sem tengist „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ og er vistað í símanum"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Þetta eyðir fingrafaramyndum og -líkani sem tengist „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ og er vistað í spjaldtölvunni"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Þetta eyðir fingrafaramyndum og -líkani sem tengjast „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ og eru vistuð í tækinu"</string>
diff --git a/res-product/values-it/strings.xml b/res-product/values-it/strings.xml
index f7671e7..b08c28f 100644
--- a/res-product/values-it/strings.xml
+++ b/res-product/values-it/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"È necessario un PIN per configurare lo Sblocco con il Volto.\n\nIl PIN protegge il telefono se viene smarrito o rubato."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"È necessaria una sequenza per configurare lo Sblocco con il Volto.\n\nLa sequenza protegge il telefono se viene smarrito o rubato."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"È necessaria una password per configurare lo Sblocco con il Volto.\n\nLa password protegge il telefono se viene smarrito o rubato."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"È necessario un PIN per configurare lo Sblocco con il Volto e con l\'impronta.\n\nIl PIN protegge il tablet se viene smarrito o rubato."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"È necessaria una sequenza per configurare lo Sblocco con il Volto e con l\'impronta.\n\nLa sequenza protegge il tablet se viene smarrito o rubato."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"È necessaria una password per configurare lo Sblocco con il Volto e con l\'impronta.\n\nLa password protegge il tablet se viene smarrito o rubato."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"È necessario un PIN per configurare lo Sblocco con il Volto e con l\'impronta.\n\nIl PIN protegge il dispositivo se viene smarrito o rubato."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"È necessaria una sequenza per configurare lo Sblocco con il Volto e l\'Impronta.\n\nLa sequenza protegge il dispositivo se viene smarrito o rubato."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"È necessaria una password per configurare lo Sblocco con il Volto e con l\'impronta.\n\nLa password protegge il dispositivo se viene smarrito o rubato."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"È necessario un PIN per configurare lo Sblocco con il Volto e con l\'impronta.\n\nIl PIN protegge il telefono se viene smarrito o rubato."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"È necessaria una sequenza per configurare lo Sblocco con il Volto e l\'Impronta.\n\nLa sequenza protegge il telefono se viene smarrito o rubato."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"È necessaria una password per configurare lo Sblocco con il Volto e con l\'impronta.\n\nLa password protegge il telefono se viene smarrito o rubato."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"È necessario un PIN per configurare lo Sblocco con l\'Impronta e con il Volto.\n\nIl PIN protegge il tablet se viene smarrito o rubato."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"È necessaria una sequenza per configurare lo Sblocco con l\'Impronta e con il Volto.\n\nLa sequenza protegge il tablet se viene smarrito o rubato."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"È necessaria una password per configurare lo Sblocco con l\'Impronta e con il Volto.\n\nLa password protegge il tablet se viene smarrito o rubato."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"È necessario un PIN per configurare lo Sblocco con l\'Impronta e con il Volto.\n\nIl PIN protegge il dispositivo se viene smarrito o rubato."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"È necessaria una sequenza per configurare lo Sblocco con l\'Impronta e con il Volto.\n\nLa sequenza protegge il dispositivo se viene smarrito o rubato."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"È necessaria una password per configurare lo Sblocco con l\'Impronta e con il Volto.\n\nLa password protegge il dispositivo se viene smarrito o rubato."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"È necessario un PIN per configurare lo Sblocco con l\'Impronta e con il Volto.\n\nIl PIN protegge lo smartphone se viene smarrito o rubato."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"È necessaria una sequenza per configurare lo Sblocco con l\'Impronta e con il Volto.\n\nLa sequenza protegge lo smartphone se viene smarrito o rubato."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"È necessaria una password per configurare lo Sblocco con l\'Impronta e con il Volto.\n\nLa password protegge lo smartphone se viene smarrito o rubato."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Vengono eliminati il modello e le immagini dell\'impronta associati a \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" e memorizzati sullo smartphone"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Vengono eliminati il modello e le immagini dell\'impronta associati a \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" e memorizzati sul tablet"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Vengono eliminati il modello e le immagini dell\'impronta associati a \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" e memorizzati sul dispositivo"</string>
@@ -204,7 +204,7 @@
<string name="biometrics_unlock_title" product="tablet" msgid="4239121143654305269">"Puoi sbloccare il tablet usando il tuo volto o la tua impronta. Per motivi di sicurezza, questa opzione richiede un blocco schermo alternativo."</string>
<string name="biometrics_unlock_title" product="device" msgid="3342994085226864170">"Puoi sbloccare il dispositivo usando il tuo volto o la tua impronta. Per motivi di sicurezza, questa opzione richiede un blocco schermo alternativo."</string>
<string name="encrypt_title" product="tablet" msgid="8915795247786124547">"Cripta tablet"</string>
- <string name="encrypt_title" product="default" msgid="511146128799853404">"Cripta telefono"</string>
+ <string name="encrypt_title" product="default" msgid="511146128799853404">"Cripta smartphone"</string>
<string name="suggested_lock_settings_summary" product="tablet" msgid="8821254377043173267">"Imposta un blocco schermo per proteggere il tablet"</string>
<string name="suggested_lock_settings_summary" product="device" msgid="4863929838844014122">"Imposta un blocco schermo per proteggere il dispositivo"</string>
<string name="suggested_lock_settings_summary" product="default" msgid="8050809409337082738">"Imposta un blocco schermo per proteggere il telefono"</string>
diff --git a/res-product/values-iw/strings.xml b/res-product/values-iw/strings.xml
index 5c285e2..11c328f 100644
--- a/res-product/values-iw/strings.xml
+++ b/res-product/values-iw/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"כדי להגדיר את התכונה \'פתיחה ע\"י זיהוי הפנים\', נדרש קוד אימות.\n\nקוד האימות מגן על הטלפון במקרים של אובדן או גניבה."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"כדי להגדיר את התכונה \'פתיחה ע\"י זיהוי הפנים\', נדרש קו ביטול נעילה.\n\nקו ביטול הנעילה מגן על הטלפון במקרים של אובדן או גניבה."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"כדי להגדיר את התכונה \'פתיחה ע\"י זיהוי הפנים\', נדרשת סיסמה.\n\nהסיסמה מגינה על הטלפון במקרים של אובדן או גניבה."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"כדי להגדיר את התכונות \'פתיחה ע\"י זיהוי הפנים\' ו\'ביטול הנעילה בטביעת אצבע\', נדרש קוד אימות.\n\nקוד האימות מגן על הטאבלט במקרים של אובדן או גניבה."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"כדי להגדיר את התכונות \'פתיחה ע\"י זיהוי הפנים\' ו\'ביטול הנעילה בטביעת אצבע\', נדרש קו ביטול נעילה.\n\nקו ביטול הנעילה מגן על הטאבלט במקרים של אובדן או גניבה."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"כדי להגדיר את התכונות \'פתיחה ע\"י זיהוי הפנים\' ו\'ביטול הנעילה בטביעת אצבע\', נדרשת סיסמה.\n\nהסיסמה מגינה על הטאבלט במקרים של אובדן או גניבה."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"כדי להגדיר את התכונות \'פתיחה ע\"י זיהוי הפנים\' ו\'ביטול הנעילה בטביעת אצבע\', נדרש קוד אימות.\n\nקוד האימות מגן על המכשיר במקרים של אובדן או גניבה."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"כדי להגדיר את התכונות \'פתיחה ע\"י זיהוי הפנים\' ו\'ביטול הנעילה בטביעת אצבע\', נדרש קו ביטול נעילה.\n\nקו ביטול הנעילה מגן על המכשיר במקרים של אובדן או גניבה."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"כדי להגדיר את התכונות \'פתיחה ע\"י זיהוי הפנים\' ו\'ביטול הנעילה בטביעת אצבע\', נדרשת סיסמה.\n\nהסיסמה מגינה על המכשיר במקרים של אובדן או גניבה."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"כדי להגדיר את התכונות \'פתיחה ע\"י זיהוי הפנים\' ו\'ביטול הנעילה בטביעת אצבע\', נדרש קוד אימות.\n\nקוד האימות מגן על הטלפון במקרים של אובדן או גניבה."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"כדי להגדיר את התכונות \'פתיחה ע\"י זיהוי הפנים\' ו\'ביטול הנעילה בטביעת אצבע\', נדרש קו ביטול נעילה.\n\nקו ביטול הנעילה מגן על הטלפון במקרים של אובדן או גניבה."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"כדי להגדיר את התכונות \'פתיחה ע\"י זיהוי הפנים\' ו\'ביטול הנעילה בטביעת אצבע\', נדרשת סיסמה.\n\nהסיסמה מגינה על הטלפון במקרים של אובדן או גניבה."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"כדי להגדיר את התכונות \'פתיחה בזיהוי פנים\' ו\'פתיחה בטביעת אצבע\', נדרש קוד אימות.\n\nקוד האימות מגן על הטאבלט במקרים של אובדן או גניבה."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"כדי להגדיר את התכונות \'פתיחה בזיהוי פנים\' ו\'פתיחה בטביעת אצבע\', נדרש קו ביטול נעילה.\n\nקו ביטול הנעילה מגן על הטאבלט במקרים של אובדן או גניבה."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"כדי להגדיר את התכונות \'פתיחה בזיהוי פנים\' ו\'פתיחה בטביעת אצבע\', נדרשת סיסמה.\n\nהסיסמה מגינה על הטאבלט במקרים של אובדן או גניבה."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"כדי להגדיר את התכונות \'פתיחה בזיהוי פנים\' ו\'פתיחה בטביעת אצבע\', נדרש קוד אימות.\n\nקוד האימות מגן על המכשיר במקרים של אובדן או גניבה."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"כדי להגדיר את התכונות \'פתיחה בזיהוי פנים\' ו\'פתיחה בטביעת אצבע\', נדרש קו ביטול נעילה.\n\nקו ביטול הנעילה מגן על המכשיר במקרים של אובדן או גניבה."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"כדי להגדיר את התכונות \'פתיחה בזיהוי פנים\' ו\'פתיחה בטביעת אצבע\', נדרשת סיסמה.\n\nהסיסמה מגינה על המכשיר במקרים של אובדן או גניבה."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"כדי להגדיר את התכונות \'פתיחה בזיהוי פנים\' ו\'פתיחה בטביעת אצבע\', נדרש קוד אימות.\n\nקוד האימות מגן על הטלפון במקרים של אובדן או גניבה."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"כדי להגדיר את התכונות \'פתיחה בזיהוי פנים\' ו\'פתיחה בטביעת אצבע\', נדרש קו ביטול נעילה.\n\nקו ביטול הנעילה מגן על הטלפון במקרים של אובדן או גניבה."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"כדי להגדיר את התכונות \'פתיחה בזיהוי פנים\' ו\'פתיחה בטביעת אצבע\', נדרשת סיסמה.\n\nהסיסמה מגינה על הטלפון במקרים של אובדן או גניבה."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"הפעולה הזו מוחקת את התבנית והתמונות של טביעת האצבע המשויכות אל <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>, שמאוחסנות בטלפון שלך"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"הפעולה הזו מוחקת את התבנית והתמונות של טביעת האצבע המשויכות אל <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>, שמאוחסנות בטאבלט שלך"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"הפעולה הזו מוחקת את התבנית והתמונות של טביעת האצבע שמשויכות אל <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> ושמורה במכשיר שלך"</string>
diff --git a/res-product/values-ja/strings.xml b/res-product/values-ja/strings.xml
index beefc63..464d42a 100644
--- a/res-product/values-ja/strings.xml
+++ b/res-product/values-ja/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"顔認証を設定するには PIN が必要です。\n\nPIN は紛失・盗難時にスマートフォンを保護します。"</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"顔認証を設定するにはパターンが必要です。\n\nパターンは紛失・盗難時にスマートフォンを保護します。"</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"顔認証を設定するにはパスワードが必要です。\n\nパスワードは、紛失したり盗難に遭ったりした場合にスマートフォンを保護するものです。"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"顔認証と指紋認証を設定するには PIN が必要です。\n\nPIN は紛失・盗難時にタブレットを保護します。"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"顔認証と指紋認証を設定するにはパターンが必要です。\n\nパターンは紛失・盗難時にタブレットを保護します。"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"顔認証と指紋認証を設定するにはパスワードが必要です。\n\nパスワードは、紛失したり盗難に遭ったりした場合にタブレットを保護するものです。"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"顔認証と指紋認証を設定するには PIN が必要です。\n\nPIN は紛失・盗難時にデバイスを保護します。"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"顔認証と指紋認証を設定するにはパターンが必要です。\n\nパターンは紛失・盗難時にデバイスを保護します。"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"顔認証と指紋認証を設定するにはパスワードが必要です。\n\nパスワードは、紛失したり盗難に遭ったりした場合にデバイスを保護するものです。"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"顔認証と指紋認証を設定するには PIN が必要です。\n\nPIN は紛失・盗難時にスマートフォンを保護します。"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"顔認証と指紋認証を設定するにはパターンが必要です。\n\nパターンは紛失・盗難時にスマートフォンを保護します。"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"顔認証と指紋認証を設定するにはパスワードが必要です。\n\nパスワードは、紛失したり盗難に遭ったりした場合にスマートフォンを保護するものです。"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"指紋認証と顔認証を設定するには PIN が必要です。\n\nPIN は紛失・盗難時にタブレットを保護します。"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"指紋認証と顔認証を設定するにはパターンが必要です。\n\nパターンは紛失・盗難時にタブレットを保護します。"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"指紋認証と顔認証を設定するにはパスワードが必要です。\n\nパスワードは、紛失したり盗難に遭ったりした場合にタブレットを保護するものです。"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"指紋認証と顔認証を設定するには PIN が必要です。\n\nPIN は紛失・盗難時にデバイスを保護します。"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"指紋認証と顔認証を設定するにはパターンが必要です。\n\nパターンは紛失・盗難時にデバイスを保護します。"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"指紋認証と顔認証を設定するにはパスワードが必要です。\n\nパスワードは、紛失したり盗難に遭ったりした場合にデバイスを保護するものです。"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"指紋認証と顔認証を設定するには PIN が必要です。\n\nPIN は紛失・盗難時にスマートフォンを保護します。"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"指紋認証と顔認証を設定するにはパターンが必要です。\n\nパターンは紛失・盗難時にスマートフォンを保護します。"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"指紋認証と顔認証を設定するにはパスワードが必要です。\n\nパスワードは、紛失したり盗難に遭ったりした場合にスマートフォンを保護するものです。"</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"「<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>」に関連付けられた指紋の画像とモデルがスマートフォンから削除されます"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"「<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>」に関連付けられた指紋の画像とモデルがタブレットから削除されます"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"「<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>」に関連付けられた指紋の画像とモデルがデバイスから削除されます"</string>
diff --git a/res-product/values-ka/strings.xml b/res-product/values-ka/strings.xml
index 764d445..d87d5ad 100644
--- a/res-product/values-ka/strings.xml
+++ b/res-product/values-ka/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"სახით განბლოკვის დასაყენებლად საჭიროა PIN-კოდი.\n\nPIN-კოდი დაიცავს ტელეფონს, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"სახით განბლოკვის დასაყენებლად საჭიროა ნიმუში.\n\nნიმუში დაიცავს ტელეფონს, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"სახით განბლოკვის დასაყენებლად საჭიროა პაროლი.\n\nპაროლი დაიცავს ტელეფონს, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"სახით და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა PIN-კოდი.\n\nPIN-კოდი დაიცავს ტაბლეტს, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"სახით და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა ნიმუში.\n\nნიმუში დაიცავს ტაბლეტს, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"სახით და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა პაროლი.\n\nპაროლი დაიცავს ტაბლეტს, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"სახით და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა PIN-კოდი.\n\nPIN-კოდი დაიცავს მოწყობილობას, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"სახით და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა ნიმუში.\n\nნიმუში დაიცავს მოწყობილობას, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"სახით და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა პაროლი.\n\nპაროლი დაიცავს მოწყობილობას, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"სახით და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა PIN-კოდი.\n\nPIN-კოდი დაიცავს ტელეფონს, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"სახით და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა ნიმუში.\n\nნიმუში დაიცავს ტელეფონს, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"სახით და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა პაროლი.\n\nპაროლი დაიცავს ტელეფონს, თუ ის დაიკარგება ან მას მოგპარავენ."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"სახითა და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა PIN-კოდი.\n\nPIN-კოდი დაიცავს ტაბლეტს, თუ მას დაკარგავთ ან მოგპარავენ."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"სახითა და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა ნიმუში.\n\nნიმუში დაიცავს ტაბლეტს, თუ მას დაკარგავთ ან მოგპარავენ."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"სახითა და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა პაროლი.\n\nპაროლი დაიცავს ტაბლეტს, თუ მას დაკარგავთ ან მოგპარავენ."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"სახითა და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა PIN-კოდი.\n\nPIN-კოდი დაიცავს მოწყობილობას, თუ მას დაკარგავთ ან მოგპარავენ."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"სახითა და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა ნიმუში.\n\nნიმუში დაიცავს მოწყობილობას, თუ მას დაკარგავთ ან მოგპარავენ."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"სახითა და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა პაროლი.\n\nპაროლი დაიცავს მოწყობილობას, თუ მას დაკარგავთ ან მოგპარავენ."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"სახით და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა PIN-კოდი.\n\nPIN-კოდი დაიცავს ტელეფონს, თუ მას დაკარგავთ ან მოგპარავენ."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"სახითა და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა ნიმუში.\n\nნიმუში დაიცავს ტელეფონს, თუ მას დაკარგავთ ან მოგპარავენ."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"სახითა და ანაბეჭდით განბლოკვის დასაყენებლად საჭიროა პაროლი.\n\nპაროლი დაიცავს ტელეფონს, თუ მას დაკარგავთ ან მოგპარავენ."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"ამ მოქმედებით წაიშლება თითის ანაბეჭდის სურათები და თქვენს ტელეფონზე შენახული მოდელები, რომლებიც ასოცირებულია „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“-თან"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"ამ მოქმედებით წაიშლება თითის ანაბეჭდის სურათები და თქვენს ტაბლეტზე შენახული მოდელები, რომლებიც ასოცირებულია „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“-თან"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"ამ მოქმედებით წაიშლება თითის ანაბეჭდის სურათები და თქვენს მოწყობილობაზე შენახული მოდელები, რომლებიც ასოცირებულია „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“-თან"</string>
diff --git a/res-product/values-kk/strings.xml b/res-product/values-kk/strings.xml
index bfd8f6b..d3e2027 100644
--- a/res-product/values-kk/strings.xml
+++ b/res-product/values-kk/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Бет тану функциясын реттеу үшін PIN коды қажет.\n\nТелефон жоғалған немесе ұрланған жағдайда, PIN коды оны қорғайды."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Бет тану функциясын реттеу үшін өрнек қажет.\n\nТелефон жоғалған немесе ұрланған жағдайда, өрнек оны қорғайды."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Бет тану функциясын реттеу үшін құпия сөз қажет.\n\nТелефон жоғалған немесе ұрланған жағдайда, құпия сөз оны қорғайды."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Бет тану және саусақ ізімен ашу функциясын реттеу үшін PIN коды қажет.\n\nПланшет жоғалған немесе ұрланған жағдайда, PIN коды оны қорғайды."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Бет тану және саусақ ізімен ашу функциясын реттеу үшін өрнек қажет.\n\nПланшет жоғалған немесе ұрланған жағдайда, өрнек оны қорғайды."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Бет тану және саусақ ізімен ашу функциясын реттеу үшін құпия сөз қажет.\n\nПланшет жоғалған немесе ұрланған жағдайда, құпия сөз оны қорғайды."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Бет тану және саусақ ізімен ашу функциясын реттеу үшін PIN коды қажет.\n\nҚұрылғы жоғалған немесе ұрланған жағдайда, PIN коды оны қорғайды."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Бет тану және саусақ ізімен ашу функциясын реттеу үшін өрнек қажет.\n\nҚұрылғы жоғалған немесе ұрланған жағдайда, өрнек оны қорғайды."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Бет тану және саусақ ізімен ашу функциясын реттеу үшін құпия сөз қажет.\n\nҚұрылғы жоғалған немесе ұрланған жағдайда, құпия сөз оны қорғайды."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Бет тану және саусақ ізімен ашу функциясын реттеу үшін PIN коды қажет.\n\nТелефон жоғалған немесе ұрланған жағдайда, PIN коды оны қорғайды."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Бет тану және саусақ ізімен ашу функциясын реттеу үшін өрнек қажет.\n\nТелефон жоғалған немесе ұрланған жағдайда, өрнек оны қорғайды."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Бет тану және саусақ ізімен ашу функциясын реттеу үшін құпия сөз қажет.\n\nТелефон жоғалған немесе ұрланған жағдайда, құпия сөз оны қорғайды."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Саусақ ізімен ашу және Бет тану функциясын реттеу үшін PIN коды керек.\n\nПланшет жоғалған немесе ұрланған жағдайда, PIN коды оны қорғайды."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Саусақ ізімен ашу және Бет тану функциясын реттеу үшін өрнек керек.\n\nПланшет жоғалған немесе ұрланған жағдайда, өрнек оны қорғайды."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Саусақ ізімен ашу және Бет тану функциясын реттеу үшін құпия сөз керек.\n\nПланшет жоғалған немесе ұрланған жағдайда, құпия сөз оны қорғайды."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Саусақ ізімен ашу және Бет тану функциясын реттеу үшін PIN коды керек.\n\nҚұрылғы жоғалған немесе ұрланған жағдайда, PIN коды оны қорғайды."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Саусақ ізімен ашу және Бет тану функциясын реттеу үшін өрнек керек.\n\nҚұрылғы жоғалған немесе ұрланған жағдайда, өрнек оны қорғайды."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Саусақ ізімен ашу және Бет тану функциясын реттеу үшін құпия сөз керек.\n\nҚұрылғы жоғалған немесе ұрланған жағдайда, құпия сөз оны қорғайды."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Саусақ ізімен ашу және Бет тану функциясын реттеу үшін PIN коды керек.\n\nТелефон жоғалған немесе ұрланған жағдайда, PIN коды оны қорғайды."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Саусақ ізімен ашу және Бет тану функциясын реттеу үшін өрнек керек.\n\nТелефон жоғалған немесе ұрланған жағдайда, өрнек оны қорғайды."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Саусақ ізімен ашу және Бет тану функциясын реттеу үшін құпия сөз керек.\n\nТелефон жоғалған немесе ұрланған жағдайда, құпия сөз оны қорғайды."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"\"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" ізінің телефонда сақталған суреттері мен үлгісі жойылады"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"\"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" ізінің планшетте сақталған суреттері мен үлгісі жойылады"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"\"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" ізінің құрылғыда сақталған суреттері мен үлгісі жойылады"</string>
diff --git a/res-product/values-km/strings.xml b/res-product/values-km/strings.xml
index 6190458..9c45736 100644
--- a/res-product/values-km/strings.xml
+++ b/res-product/values-km/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"តម្រូវឱ្យមានកូដ PIN ដើម្បីរៀបចំការដោះសោតាមទម្រង់មុខ។\n\nកូដ PIN ការពារទូរសព្ទ ប្រសិនបើបាត់ទូរសព្ទ ឬត្រូវបានគេលួច។"</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"តម្រូវឱ្យមានលំនាំ ដើម្បីរៀបចំការដោះសោតាមទម្រង់មុខ។\n\nលំនាំការពារទូរសព្ទ ប្រសិនបើបាត់ទូរសព្ទ ឬត្រូវបានគេលួច។"</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"តម្រូវឱ្យមានពាក្យសម្ងាត់ ដើម្បីរៀបចំការដោះសោតាមទម្រង់មុខ។\n\nពាក្យសម្ងាត់ការពារទូរសព្ទ ប្រសិនបើបាត់ទូរសព្ទ ឬត្រូវបានគេលួច។"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"តម្រូវឱ្យមានកូដ PIN ដើម្បីរៀបចំការដោះសោដោយស្កេនមុខ និងការដោះសោដោយស្កេនស្នាមម្រាមដៃ។\n\nកូដ PIN ការពារថេប្លេត ប្រសិនបើបាត់ថេប្លេត ឬត្រូវបានគេលួច។"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"តម្រូវឱ្យមានលំនាំ ដើម្បីរៀបចំការដោះសោតាមទម្រង់មុខ និងការដោះសោដោយប្រើស្នាមម្រាមដៃ។\n\nលំនាំការពារថេប្លេត ប្រសិនបើបាត់ថេប្លេត ឬត្រូវបានគេលួច។"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"តម្រូវឱ្យមានពាក្យសម្ងាត់ ដើម្បីរៀបចំការដោះសោតាមទម្រង់មុខ និងការដោះសោដោយប្រើស្នាមម្រាមដៃ។\n\nពាក្យសម្ងាត់ការពារថេប្លេត ប្រសិនបើបាត់ថេប្លេត ឬត្រូវបានគេលួច។"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"តម្រូវឱ្យមានកូដ PIN ដើម្បីរៀបចំការដោះសោដោយស្កេនមុខ និងការដោះសោដោយស្កេនស្នាមម្រាមដៃ។\n\nកូដ PIN ការពារឧបករណ៍ ប្រសិនបើបាត់ឧបករណ៍ ឬត្រូវបានគេលួច។"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"តម្រូវឱ្យមានលំនាំ ដើម្បីរៀបចំការដោះសោតាមទម្រង់មុខ និងការដោះសោដោយប្រើស្នាមម្រាមដៃ។\n\nលំនាំការពារឧបករណ៍ ប្រសិនបើបាត់ឧបករណ៍ ឬត្រូវបានគេលួច។"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"តម្រូវឱ្យមានពាក្យសម្ងាត់ ដើម្បីរៀបចំការដោះសោតាមទម្រង់មុខ និងការដោះសោដោយប្រើស្នាមម្រាមដៃ។\n\nពាក្យសម្ងាត់ការពារឧបករណ៍ ប្រសិនបើបាត់ឧបករណ៍ ឬត្រូវបានគេលួច។"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"តម្រូវឱ្យមានកូដ PIN ដើម្បីរៀបចំការដោះសោដោយស្កេនមុខ និងការដោះសោដោយស្កេនស្នាមម្រាមដៃ។\n\nកូដ PIN ការពារទូរសព្ទ ប្រសិនបើបាត់ទូរសព្ទ ឬត្រូវបានគេលួច។"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"តម្រូវឱ្យមានលំនាំ ដើម្បីរៀបចំការដោះសោដោយស្កេនមុខ និងការដោះសោដោយស្កេនស្នាមម្រាមដៃ។\n\nលំនាំការពារទូរសព្ទ ប្រសិនបើបាត់ទូរសព្ទ ឬត្រូវបានគេលួច។"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"តម្រូវឱ្យមានពាក្យសម្ងាត់ ដើម្បីរៀបចំការដោះសោដោយស្កេនមុខ និងការដោះសោដោយស្កេនស្នាមម្រាមដៃ។\n\nពាក្យសម្ងាត់ការពារទូរសព្ទ ប្រសិនបើបាត់ទូរសព្ទ ឬត្រូវបានគេលួច។"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"តម្រូវឱ្យមានកូដ PIN ដើម្បីរៀបចំការដោះសោដោយស្កេនស្នាមម្រាមដៃ និងការដោះសោដោយស្កេនមុខ។\n\nកូដ PIN ការពារថេប្លេត ប្រសិនបើបាត់ថេប្លេត ឬត្រូវបានគេលួច។"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"តម្រូវឱ្យមានលំនាំ ដើម្បីរៀបចំការដោះសោដោយស្កេនស្នាមម្រាមដៃ និងការដោះសោដោយស្កេនមុខ។\n\nលំនាំការពារថេប្លេត ប្រសិនបើបាត់ថេប្លេត ឬត្រូវបានគេលួច។"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"តម្រូវឱ្យមានពាក្យសម្ងាត់ ដើម្បីរៀបចំការដោះសោដោយស្កេនស្នាមម្រាមដៃ និងការដោះសោដោយស្កេនមុខ។\n\nពាក្យសម្ងាត់ការពារថេប្លេត ប្រសិនបើបាត់ថេប្លេត ឬត្រូវបានគេលួច។"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"តម្រូវឱ្យមានកូដ PIN ដើម្បីរៀបចំការដោះសោដោយស្កេនស្នាមម្រាមដៃ និងការដោះសោដោយស្កេនមុខ។\n\nកូដ PIN ការពារឧបករណ៍ ប្រសិនបើបាត់ឧបករណ៍ ឬត្រូវបានគេលួច។"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"តម្រូវឱ្យមានលំនាំ ដើម្បីរៀបចំការដោះសោដោយស្កេនស្នាមម្រាមដៃ និងការដោះសោដោយស្កេនមុខ។\n\nលំនាំការពារឧបករណ៍ ប្រសិនបើបាត់ឧបករណ៍ ឬត្រូវបានគេលួច។"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"តម្រូវឱ្យមានពាក្យសម្ងាត់ ដើម្បីរៀបចំការដោះសោដោយស្កេនស្នាមម្រាមដៃ និងការដោះសោដោយស្កេនមុខ។\n\nពាក្យសម្ងាត់ការពារឧបករណ៍ ប្រសិនបើបាត់ឧបករណ៍ ឬត្រូវបានគេលួច។"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"តម្រូវឱ្យមានកូដ PIN ដើម្បីរៀបចំការដោះសោដោយស្កេនស្នាមម្រាមដៃ និងការដោះសោដោយស្កេនមុខ។\n\nកូដ PIN ការពារទូរសព្ទ ប្រសិនបើបាត់ទូរសព្ទ ឬត្រូវបានគេលួច។"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"តម្រូវឱ្យមានលំនាំ ដើម្បីរៀបចំការដោះសោដោយស្កេនស្នាមម្រាមដៃ និងការដោះសោដោយស្កេនមុខ។\n\nលំនាំការពារទូរសព្ទ ប្រសិនបើបាត់ទូរសព្ទ ឬត្រូវបានគេលួច។"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"តម្រូវឱ្យមានពាក្យសម្ងាត់ ដើម្បីរៀបចំការដោះសោដោយស្កេនស្នាមម្រាមដៃ និងការដោះសោដោយស្កេនមុខ។\n\nពាក្យសម្ងាត់ការពារទូរសព្ទ ប្រសិនបើបាត់ទូរសព្ទ ឬត្រូវបានគេលួច។"</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"សកម្មភាពនេះលុបគំរូ និងរូបភាពស្នាមម្រាមដៃ ដែលពាក់ព័ន្ធនឹង \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ដែលត្រូវបានរក្សាទុកនៅលើទូរសព្ទរបស់អ្នក"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"សកម្មភាពនេះលុបគំរូ និងរូបភាពស្នាមម្រាមដៃ ដែលពាក់ព័ន្ធនឹង \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ដែលត្រូវបានរក្សាទុកនៅលើថេប្លេតរបស់អ្នក"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"សកម្មភាពនេះលុបគំរូ និងរូបភាពស្នាមម្រាមដៃ ដែលពាក់ព័ន្ធនឹង \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ដែលត្រូវបានរក្សាទុកនៅលើឧបករណ៍របស់អ្នក"</string>
diff --git a/res-product/values-kn/strings.xml b/res-product/values-kn/strings.xml
index cd61786..03d3fe8 100644
--- a/res-product/values-kn/strings.xml
+++ b/res-product/values-kn/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪಿನ್ ಅಗತ್ಯವಿದೆ.\n\nಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪಿನ್ ರಕ್ಷಿಸುತ್ತದೆ."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪ್ಯಾಟರ್ನ್ ಅಗತ್ಯವಿದೆ.\n\nಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪ್ಯಾಟರ್ನ್ ರಕ್ಷಿಸುತ್ತದೆ."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪಾಸ್ವರ್ಡ್ ಅಗತ್ಯವಿದೆ.\n\nಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪಾಸ್ವರ್ಡ್ ರಕ್ಷಿಸುತ್ತದೆ."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪಿನ್ ಅಗತ್ಯವಿದೆ.\n\nಟ್ಯಾಬ್ಲೆಟ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪಿನ್ ರಕ್ಷಿಸುತ್ತದೆ."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪ್ಯಾಟರ್ನ್ ಅಗತ್ಯವಿದೆ.\n\nಟ್ಯಾಬ್ಲೆಟ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪ್ಯಾಟರ್ನ್ ರಕ್ಷಿಸುತ್ತದೆ."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪಾಸ್ವರ್ಡ್ ಅಗತ್ಯವಿದೆ.\n\nಟ್ಯಾಬ್ಲೆಟ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪಾಸ್ವರ್ಡ್ ರಕ್ಷಿಸುತ್ತದೆ."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪಿನ್ ಅಗತ್ಯವಿದೆ.\n\nಸಾಧನ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪಿನ್ ರಕ್ಷಿಸುತ್ತದೆ."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪ್ಯಾಟರ್ನ್ ಅಗತ್ಯವಿದೆ.\n\nಸಾಧನ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪ್ಯಾಟರ್ನ್ ರಕ್ಷಿಸುತ್ತದೆ."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪಾಸ್ವರ್ಡ್ ಅಗತ್ಯವಿದೆ.\n\nಸಾಧನ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪಾಸ್ವರ್ಡ್ ರಕ್ಷಿಸುತ್ತದೆ."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪಿನ್ ಅಗತ್ಯವಿದೆ.\n\nಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪಿನ್ ರಕ್ಷಿಸುತ್ತದೆ."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪ್ಯಾಟರ್ನ್ ಅಗತ್ಯವಿದೆ.\n\nಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪ್ಯಾಟರ್ನ್ ರಕ್ಷಿಸುತ್ತದೆ."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಪಾಸ್ವರ್ಡ್ ಅಗತ್ಯವಿದೆ.\n\nಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪಾಸ್ವರ್ಡ್ ರಕ್ಷಿಸುತ್ತದೆ."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ ಪ್ರಿಂಟ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಪಿನ್ ಅಗತ್ಯವಿದೆ.\n\nಟ್ಯಾಬ್ಲೆಟ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಪಿನ್ ಅದನ್ನು ರಕ್ಷಿಸುತ್ತದೆ."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ ಪ್ರಿಂಟ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಪ್ಯಾಟರ್ನ್ ಅಗತ್ಯವಿದೆ.\n\nಟ್ಯಾಬ್ಲೆಟ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಪ್ಯಾಟರ್ನ್ ಅದನ್ನು ರಕ್ಷಿಸುತ್ತದೆ."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ ಪ್ರಿಂಟ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಪಾಸ್ವರ್ಡ್ ಅಗತ್ಯವಿದೆ.\n\nಟ್ಯಾಬ್ಲೆಟ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಪಾಸ್ವರ್ಡ್ ಅದನ್ನು ರಕ್ಷಿಸುತ್ತದೆ."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ ಪ್ರಿಂಟ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಪಿನ್ ಅಗತ್ಯವಿದೆ.\n\nಸಾಧನ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಪಿನ್ ಅದನ್ನು ರಕ್ಷಿಸುತ್ತದೆ."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ ಪ್ರಿಂಟ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಪ್ಯಾಟರ್ನ್ ಅಗತ್ಯವಿದೆ.\n\nಸಾಧನ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಪ್ಯಾಟರ್ನ್ ಅದನ್ನು ರಕ್ಷಿಸುತ್ತದೆ."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ ಪ್ರಿಂಟ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಪಾಸ್ವರ್ಡ್ ಅಗತ್ಯವಿದೆ.\n\nಸಾಧನ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಪಾಸ್ವರ್ಡ್ ಅದನ್ನು ರಕ್ಷಿಸುತ್ತದೆ."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ ಪ್ರಿಂಟ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಪಿನ್ ಅಗತ್ಯವಿದೆ.\n\nಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಪಿನ್ ಅದನ್ನು ರಕ್ಷಿಸುತ್ತದೆ."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ ಪ್ರಿಂಟ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಪ್ಯಾಟರ್ನ್ ಅಗತ್ಯವಿದೆ.\n\nಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಪ್ಯಾಟರ್ನ್ ಅದನ್ನು ರಕ್ಷಿಸುತ್ತದೆ."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"ಫೇಸ್ ಅನ್ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್ ಪ್ರಿಂಟ್ ಅನ್ಲಾಕ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಪಾಸ್ವರ್ಡ್ ಅಗತ್ಯವಿದೆ.\n\nಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಪಾಸ್ವರ್ಡ್ ಅದನ್ನು ರಕ್ಷಿಸುತ್ತದೆ."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"ನಿಮ್ಮ ಫೋನ್ನಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ಗೆ ಸಂಬಂಧಿಸಿದ ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಚಿತ್ರಗಳು ಮತ್ತು ಮಾಡೆಲ್ ಅನ್ನು ಇದು ಅಳಿಸುತ್ತದೆ"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ನಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ಗೆ ಸಂಬಂಧಿಸಿದ ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಚಿತ್ರಗಳು ಮತ್ತು ಮಾಡೆಲ್ ಅನ್ನು ಇದು ಅಳಿಸುತ್ತದೆ"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ಗೆ ಸಂಬಂಧಿಸಿದ ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಚಿತ್ರಗಳು ಮತ್ತು ಮಾಡೆಲ್ ಅನ್ನು ಇದು ಅಳಿಸುತ್ತದೆ"</string>
diff --git a/res-product/values-ko/strings.xml b/res-product/values-ko/strings.xml
index c173981..15da50b939 100644
--- a/res-product/values-ko/strings.xml
+++ b/res-product/values-ko/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"얼굴 인식 잠금 해제를 설정하려면 PIN이 필요합니다.\n\nPIN을 사용하면 휴대전화를 분실하거나 도난당했을 때 휴대전화를 보호할 수 있습니다."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"얼굴 인식 잠금 해제를 설정하려면 패턴이 필요합니다.\n\n패턴을 사용하면 휴대전화를 분실하거나 도난당했을 때 휴대전화를 보호할 수 있습니다."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"얼굴 인식 잠금 해제를 설정하려면 비밀번호가 필요합니다.\n\n비밀번호를 사용하면 휴대전화를 분실하거나 도난당했을 때 보호할 수 있습니다."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"얼굴 인식 잠금 해제 및 지문 잠금 해제를 설정하려면 PIN이 필요합니다.\n\nPIN을 사용하면 태블릿을 분실하거나 도난당했을 때 태블릿을 보호할 수 있습니다."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"얼굴 인식 잠금 해제 및 지문 잠금 해제를 설정하려면 패턴이 필요합니다.\n\n패턴을 사용하면 태블릿을 분실하거나 도난당했을 때 태블릿을 보호할 수 있습니다."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"얼굴 인식 잠금 해제 및 지문 잠금 해제를 설정하려면 비밀번호가 필요합니다.\n\n비밀번호를 사용하면 태블릿을 분실하거나 도난당했을 때 태블릿을 보호할 수 있습니다."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"얼굴 인식 잠금 해제 및 지문 잠금 해제를 설정하려면 PIN이 필요합니다.\n\nPIN을 사용하면 기기를 분실하거나 도난당했을 때 기기를 보호할 수 있습니다."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"얼굴 인식 잠금 해제 및 지문 잠금 해제를 설정하려면 패턴이 필요합니다.\n\n패턴을 사용하면 기기를 분실하거나 도난당했을 때 기기를 보호할 수 있습니다."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"얼굴 인식 잠금 해제 및 지문 잠금 해제를 설정하려면 비밀번호가 필요합니다.\n\n비밀번호를 사용하면 기기를 분실하거나 도난당했을 때 기기를 보호할 수 있습니다."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"얼굴 인식 잠금 해제 및 지문 잠금 해제를 설정하려면 PIN이 필요합니다.\n\nPIN을 사용하면 휴대전화를 분실하거나 도난당했을 때 보호할 수 있습니다."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"얼굴 인식 잠금 해제 및 지문 잠금 해제를 설정하려면 패턴이 필요합니다.\n\n패턴을 사용하면 휴대전화를 분실하거나 도난당했을 때 보호할 수 있습니다."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"얼굴 인식 잠금 해제 및 지문 잠금 해제를 설정하려면 비밀번호가 필요합니다.\n\n비밀번호를 사용하면 휴대전화를 분실하거나 도난당했을 때 보호할 수 있습니다."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"지문 잠금 해제 및 얼굴 인식 잠금 해제를 설정하려면 PIN이 필요합니다.\n\nPIN을 사용하면 태블릿을 분실하거나 도난당했을 때 태블릿을 보호할 수 있습니다."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"지문 잠금 해제 및 얼굴 인식 잠금 해제를 설정하려면 패턴이 필요합니다.\n\n패턴을 사용하면 태블릿을 분실하거나 도난당했을 때 태블릿을 보호할 수 있습니다."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"지문 잠금 해제 및 얼굴 인식 잠금 해제를 설정하려면 비밀번호가 필요합니다.\n\n비밀번호를 사용하면 태블릿을 분실하거나 도난당했을 때 태블릿을 보호할 수 있습니다."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"지문 잠금 해제 및 얼굴 인식 잠금 해제를 설정하려면 PIN이 필요합니다.\n\nPIN을 사용하면 기기를 분실하거나 도난당했을 때 기기를 보호할 수 있습니다."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"지문 잠금 해제 및 얼굴 인식 잠금 해제를 설정하려면 패턴이 필요합니다.\n\n패턴을 사용하면 기기를 분실하거나 도난당했을 때 기기를 보호할 수 있습니다."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"지문 잠금 해제 및 얼굴 인식 잠금 해제를 설정하려면 비밀번호가 필요합니다.\n\n비밀번호를 사용하면 기기를 분실하거나 도난당했을 때 기기를 보호할 수 있습니다."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"지문 잠금 해제 및 얼굴 인식 잠금 해제를 설정하려면 PIN이 필요합니다.\n\nPIN을 사용하면 휴대전화를 분실하거나 도난당했을 때 휴대전화를 보호할 수 있습니다."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"지문 잠금 해제 및 얼굴 인식 잠금 해제를 설정하려면 패턴이 필요합니다.\n\n패턴을 사용하면 휴대전화를 분실하거나 도난당했을 때 휴대전화를 보호할 수 있습니다."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"지문 잠금 해제 및 얼굴 인식 잠금 해제를 설정하려면 비밀번호가 필요합니다.\n\n비밀번호를 사용하면 휴대전화를 분실하거나 도난당했을 때 보호할 수 있습니다."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"휴대전화에 저장된 \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' 지문과 관련된 지문 이미지와 모델이 삭제됩니다"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"태블릿에 저장된 \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' 지문과 관련된 지문 이미지와 모델이 삭제됩니다"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"기기에 저장된 \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' 지문과 관련된 지문 이미지와 모델이 삭제됩니다"</string>
diff --git a/res-product/values-ky/strings.xml b/res-product/values-ky/strings.xml
index 10d8f62..7eb25de 100644
--- a/res-product/values-ky/strings.xml
+++ b/res-product/values-ky/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Жүзүнөн таанып ачуу функциясын кошуу үчүн PIN код талап кылынат.\n\nPIN код жоголгон же уурдалган телефондогу нерселерди коргойт."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Жүзүнөн таанып ачуу функциясын кошуу үчүн графикалык ачкыч талап кылынат.\n\nГрафикалык ачкыч жоголгон же уурдалган телефондогу нерселерди коргойт."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Жүзүнөн таанып ачуу функциясын кошуу үчүн сырсөз талап кылынат.\n\nСырсөз жоголгон же уурдалган телефонуңуздагы нерселерди коргойт."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Жүзүнөн таанып ачуу жана манжа изи менен ачуу функцияларын коюу үчүн PIN код талап кылынат.\n\nPIN код планшет жоголсо же уурдалса, аны коргойт."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Жүзүнөн таанып ачуу жана манжа изи менен ачуу функцияларын коюу үчүн графикалык ачкыч талап кылынат.\n\nГрафикалык ачкыч планшет жоголсо же уурдалса, аны коргойт."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Жүзүнөн таанып ачуу жана манжа изи менен ачуу функцияларын коюу үчүн сырсөз талап кылынат.\n\nСырсөз планшет жоголсо же уурдалса, аны коргойт."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Жүзүнөн таанып ачуу жана манжа изи менен ачуу функцияларын коюу үчүн PIN код талап кылынат.\n\nPIN код түзмөк жоголсо же уурдалса, аны коргойт."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Жүзүнөн таанып ачуу жана манжа изи менен ачуу функцияларын коюу үчүн графикалык ачкыч талап кылынат.\n\nГрафикалык ачкыч түзмөк жоголсо же уурдалса, аны коргойт."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Жүзүнөн таанып ачуу жана манжа изи менен ачуу функцияларын коюу үчүн сырсөз талап кылынат.\n\nСырсөз түзмөк жоголсо же уурдалса, аны коргойт."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Жүзүнөн таанып ачуу жана манжа изи менен ачуу функцияларын коюу үчүн PIN код талап кылынат.\n\nPIN код жоголгон же уурдалган телефондогу нерселерди коргойт."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Жүзүнөн таанып ачуу жана манжа изи менен ачуу функцияларын коюу үчүн графикалык ачкыч талап кылынат.\n\nГрафикалык ачкыч жоголгон же уурдалган телефондогу нерселерди коргойт."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Жүзүнөн таанып ачуу жана манжа изи менен ачуу функцияларын коюу үчүн сырсөз талап кылынат.\n\nСырсөз жоголгон же уурдалган телефонуңуздагы нерселерди коргойт."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Манжа изи менен ачуу жана Жүзүнөн таанып ачуу функцияларын коюу үчүн PIN код талап кылынат.\n\nPIN код планшет жоголсо же уурдалса, аны коргойт."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Манжа изи менен ачуу жана Жүзүнөн таанып ачуу функцияларын коюу үчүн графикалык ачкыч талап кылынат.\n\nГрафикалык ачкыч планшет жоголсо же уурдалса, аны коргойт."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Манжа изи менен ачуу жана Жүзүнөн таанып ачуу функцияларын коюу үчүн сырсөз талап кылынат.\n\nСырсөз планшет жоголсо же уурдалса, аны коргойт."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Манжа изи менен ачуу жана Жүзүнөн таанып ачуу функцияларын коюу үчүн PIN код талап кылынат.\n\nPIN код түзмөк жоголсо же уурдалса, аны коргойт."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Манжа изи менен ачуу жана Жүзүнөн таанып ачуу функцияларын коюу үчүн графикалык ачкыч талап кылынат.\n\nГрафикалык ачкыч түзмөк жоголсо же уурдалса, аны коргойт."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Манжа изи менен ачуу жана Жүзүнөн таанып ачуу функцияларын коюу үчүн сырсөз талап кылынат.\n\nСырсөз түзмөк жоголсо же уурдалса, аны коргойт."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Манжа изи менен ачуу жана Жүзүнөн таанып ачуу функцияларын коюу үчүн PIN код талап кылынат.\n\nPIN код жоголгон же уурдалган телефондогу нерселерди коргойт."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Манжа изи менен ачуу жана Жүзүнөн таанып ачуу функцияларын коюу үчүн графикалык ачкыч талап кылынат.\n\nГрафикалык ачкыч жоголгон же уурдалган телефондогу нерселерди коргойт."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Манжа изи менен ачуу жана Жүзүнөн таанып ачуу функцияларын коюу үчүн сырсөз талап кылынат.\n\nСырсөз жоголгон же уурдалган телефонуңуздагы нерселерди коргойт."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Ушуну менен телефонуңуздагы \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" менен байланышкан манжа изинин сүрөттөрү менен үлгүсү өчөт"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Ушуну менен планшетиңиздеги \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" менен байланышкан манжа изинин сүрөттөрү менен үлгүсү өчөт"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Ушуну менен түзмөгүңүздөгү \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" менен байланышкан манжа изинин сүрөттөрү менен үлгүсү өчөт"</string>
diff --git a/res-product/values-lo/strings.xml b/res-product/values-lo/strings.xml
index 4db22ac..44ec957 100644
--- a/res-product/values-lo/strings.xml
+++ b/res-product/values-lo/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"ຕ້ອງໃຊ້ PIN ເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ.\n\nPIN ຈະປົກປ້ອງໂທລະສັບຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"ຕ້ອງໃຊ້ຮູບແບບເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ.\n\nຮູບແບບຈະປົກປ້ອງໂທລະສັບຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"ຕ້ອງໃຊ້ລະຫັດຜ່ານເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ.\n\nລະຫັດຜ່ານຈະປົກປ້ອງໂທລະສັບຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"ຕ້ອງໃຊ້ PIN ເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ ແລະ ການປົດລັອກດ້ວຍລາຍນິ້ວມື.\n\nPIN ຈະປົກປ້ອງແທັບເລັດຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"ຕ້ອງໃຊ້ຮູບແບບເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ ແລະ ການປົດລັອກດ້ວຍລາຍນິ້ວມື.\n\nຮູບແບບຈະປົກປ້ອງແທັບເລັດຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"ຕ້ອງໃຊ້ລະຫັດຜ່ານເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ ແລະ ການປົດລັອກດ້ວຍລາຍນິ້ວມື.\n\nລະຫັດຜ່ານຈະປົກປ້ອງແທັບເລັດຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"ຕ້ອງໃຊ້ PIN ເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ ແລະ ການປົດລັອກດ້ວຍລາຍນິ້ວມື.\n\nPIN ຈະປົກປ້ອງອຸປະກອນຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"ຕ້ອງໃຊ້ຮູບແບບເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ ແລະ ການປົດລັອກດ້ວຍລາຍນິ້ວມື.\n\nຮູບແບບຈະປົກປ້ອງອຸປະກອນຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"ຕ້ອງໃຊ້ລະຫັດຜ່ານເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ ແລະ ການປົດລັອກດ້ວຍລາຍນິ້ວມື.\n\nລະຫັດຜ່ານຈະປົກປ້ອງອຸປະກອນຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"ຕ້ອງໃຊ້ PIN ເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ ແລະ ການປົດລັອກດ້ວຍລາຍນິ້ວມື.\n\nPIN ຈະປົກປ້ອງໂທລະສັບຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"ຕ້ອງໃຊ້ຮູບແບບເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ ແລະ ການປົດລັອກດ້ວຍລາຍນິ້ວມື.\n\nຮູບແບບຈະປົກປ້ອງໂທລະສັບຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"ຕ້ອງໃຊ້ລະຫັດຜ່ານເພື່ອຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ ແລະ ການປົດລັອກດ້ວຍລາຍນິ້ວມື.\n\nລະຫັດຜ່ານຈະປົກປ້ອງໂທລະສັບຫາກມັນເສຍ ຫຼື ຖືກລັກ."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"ຕ້ອງໃຊ້ PIN ເພື່ອຕັ້ງຄ່າປົດລັອກດ້ວຍລາຍນິ້ວມື ແລະ ການປົດລັອກດ້ວຍໜ້າ.\n\nPIN ຈະຊ່ວຍປົກປ້ອງແທັບເລັດໃນກໍລະນີທີ່ເສຍ ຫຼື ຖືກລັກ."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"ຕ້ອງໃຊ້ຮູບແບບເພື່ອຕັ້ງຄ່າປົດລັອກດ້ວຍລາຍນິ້ວມື ແລະ ການປົດລັອກດ້ວຍໜ້າ.\n\nຮູບແບບຈະຊ່ວຍປົກປ້ອງແທັບເລັດໃນກໍລະນີທີ່ເສຍ ຫຼື ຖືກລັກ."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"ຕ້ອງໃຊ້ລະຫັດຜ່ານເພື່ອຕັ້ງຄ່າປົດລັອກດ້ວຍລາຍນິ້ວມື ແລະ ການປົດລັອກດ້ວຍໜ້າ.\n\nລະຫັດຜ່ານຈະຊ່ວຍປົກປ້ອງແທັບເລັດໃນກໍລະນີທີ່ເສຍ ຫຼື ຖືກລັກ."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"ຕ້ອງໃຊ້ PIN ເພື່ອຕັ້ງຄ່າປົດລັອກດ້ວຍລາຍນິ້ວມື ແລະ ການປົດລັອກດ້ວຍໜ້າ.\n\nPIN ຈະຊ່ວຍປົກປ້ອງອຸປະກອນໃນກໍລະນີທີ່ເສຍ ຫຼື ຖືກລັກ."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"ຕ້ອງໃຊ້ຮູບແບບເພື່ອຕັ້ງຄ່າປົດລັອກດ້ວຍລາຍນິ້ວມື ແລະ ການປົດລັອກດ້ວຍໜ້າ.\n\nຮູບແບບຈະຊ່ວຍປົກປ້ອງອຸປະກອນໃນກໍລະນີທີ່ເສຍ ຫຼື ຖືກລັກ."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"ຕ້ອງໃຊ້ລະຫັດຜ່ານເພື່ອຕັ້ງຄ່າປົດລັອກດ້ວຍລາຍນິ້ວມື ແລະ ການປົດລັອກດ້ວຍໜ້າ.\n\nລະຫັດຜ່ານຈະຊ່ວຍປົກປ້ອງອຸປະກອນໃນກໍລະນີທີ່ເສຍ ຫຼື ຖືກລັກ."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"ຕ້ອງໃຊ້ PIN ເພື່ອຕັ້ງຄ່າປົດລັອກດ້ວຍລາຍນິ້ວມື ແລະ ການປົດລັອກດ້ວຍໜ້າ.\n\nPIN ຈະຊ່ວຍປົກປ້ອງໂທລະສັບໃນກໍລະນີທີ່ເສຍ ຫຼື ຖືກລັກ."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"ຕ້ອງໃຊ້ຮູບແບບເພື່ອຕັ້ງຄ່າປົດລັອກດ້ວຍລາຍນິ້ວມື ແລະ ການປົດລັອກດ້ວຍໜ້າ.\n\nຮູບແບບຈະຊ່ວຍປົກປ້ອງໂທລະສັບໃນກໍລະນີທີ່ເສຍ ຫຼື ຖືກລັກ."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"ຕ້ອງໃຊ້ລະຫັດຜ່ານເພື່ອຕັ້ງຄ່າປົດລັອກດ້ວຍລາຍນິ້ວມື ແລະ ການປົດລັອກດ້ວຍໜ້າ.\n\nລະຫັດຜ່ານຈະຊ່ວຍປົກປ້ອງໂທລະສັບໃນກໍລະນີທີ່ເສຍ ຫຼື ຖືກລັກ."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"ນີ້ຈະລຶບຮູບ ແລະ ຮູບແບບລາຍນິ້ວມືທີ່ເຊື່ອມໂຍງກັບ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ທີ່ຈັດເກັບໄວ້ຢູ່ໂທລະສັບຂອງທ່ານອອກ"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"ນີ້ຈະລຶບຮູບ ແລະ ຮູບແບບລາຍນິ້ວມືທີ່ເຊື່ອມໂຍງກັບ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ທີ່ຈັດເກັບໄວ້ຢູ່ແທັບເລັດຂອງທ່ານອອກ"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"ນີ້ຈະລຶບຮູບ ແລະ ຮູບແບບລາຍນິ້ວມືທີ່ເຊື່ອມໂຍງກັບ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ທີ່ຈັດເກັບໄວ້ຢູ່ອຸປະກອນຂອງທ່ານອອກ"</string>
diff --git a/res-product/values-lt/strings.xml b/res-product/values-lt/strings.xml
index 9688a06..d9584d2 100644
--- a/res-product/values-lt/strings.xml
+++ b/res-product/values-lt/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Norint nustatyti atrakinimą pagal veidą, būtinas PIN kodas.\n\nPIN kodas apsaugo pamestą ar pavogtą telefoną."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Norint nustatyti atrakinimą pagal veidą, būtinas atrakinimo piešinys.\n\nAtrakinimo piešinys apsaugo pamestą ar pavogtą telefoną."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Norint nustatyti atrakinimą pagal veidą, būtinas slaptažodis.\n\nSlaptažodis apsaugo pamestą ar pavogtą telefoną."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Norint nustatyti atrakinimą pagal veidą ir atrakinimą kontroliniu kodu, būtinas PIN kodas.\n\nPIN kodas apsaugo pamestą ar pavogtą planšetinį kompiuterį."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Norint nustatyti atrakinimą pagal veidą ir atrakinimą kontroliniu kodu, būtinas atrakinimo piešinys.\n\nAtrakinimo piešinys apsaugo pamestą ar pavogtą planšetinį kompiuterį."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Norint nustatyti atrakinimą pagal veidą ir atrakinimą kontroliniu kodu, būtinas slaptažodis.\n\nSlaptažodis apsaugo pamestą ar pavogtą planšetinį kompiuterį."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Norint nustatyti atrakinimą pagal veidą ir atrakinimą kontroliniu kodu, būtinas PIN kodas.\n\nPIN kodas apsaugo pamestą ar pavogtą įrenginį."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Norint nustatyti atrakinimą pagal veidą ir atrakinimą kontroliniu kodu, būtinas atrakinimo piešinys.\n\nAtrakinimo piešinys apsaugo pamestą ar pavogtą įrenginį."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Norint nustatyti atrakinimą pagal veidą ir atrakinimą kontroliniu kodu, būtinas slaptažodis.\n\nSlaptažodis apsaugo pamestą ar pavogtą įrenginį."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Norint nustatyti atrakinimą pagal veidą ir atrakinimą kontroliniu kodu, būtinas PIN kodas.\n\nPIN kodas apsaugo pamestą ar pavogtą telefoną."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Norint nustatyti atrakinimą pagal veidą ir atrakinimą kontroliniu kodu, būtinas atrakinimo piešinys.\n\nAtrakinimo piešinys apsaugo pamestą ar pavogtą telefoną."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Norint nustatyti atrakinimą pagal veidą ir atrakinimą kontroliniu kodu, būtinas slaptažodis.\n\nSlaptažodis apsaugo pamestą ar pavogtą telefoną."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Norint nustatyti atrakinimą piršto atspaudu ir atrakinimą pagal veidą, būtinas PIN kodas.\n\nPIN kodas apsaugo pamestą ar pavogtą planšetinį kompiuterį."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Norint nustatyti atrakinimą piršto atspaudu ir atrakinimą pagal veidą, būtinas atrakinimo piešinys.\n\nAtrakinimo piešinys apsaugo pamestą ar pavogtą planšetinį kompiuterį."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Norint nustatyti atrakinimą piršto atspaudu ir atrakinimą pagal veidą, būtinas slaptažodis.\n\nSlaptažodis apsaugo pamestą ar pavogtą planšetinį kompiuterį."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Norint nustatyti atrakinimą piršto atspaudu ir atrakinimą pagal veidą, būtinas PIN kodas.\n\nPIN kodas apsaugo pamestą ar pavogtą įrenginį."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Norint nustatyti atrakinimą piršto atspaudu ir atrakinimą pagal veidą, būtinas atrakinimo piešinys.\n\nAtrakinimo piešinys apsaugo pamestą ar pavogtą įrenginį."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Norint nustatyti atrakinimą piršto atspaudu ir atrakinimą pagal veidą, būtinas slaptažodis.\n\nSlaptažodis apsaugo pamestą ar pavogtą įrenginį."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Norint nustatyti atrakinimą piršto atspaudu ir atrakinimą pagal veidą, būtinas PIN kodas.\n\nPIN kodas apsaugo pamestą ar pavogtą telefoną."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Norint nustatyti atrakinimą piršto atspaudu ir atrakinimą pagal veidą, būtinas atrakinimo piešinys.\n\nAtrakinimo piešinys apsaugo pamestą ar pavogtą telefoną."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Norint nustatyti atrakinimą piršto atspaudu ir atrakinimą pagal veidą, būtinas slaptažodis.\n\nSlaptažodis apsaugo pamestą ar pavogtą telefoną."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Bus ištrinti telefone saugomi piršto atspaudo vaizdai ir modelis, susieti su „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Bus ištrinti planšetiniame kompiuteryje saugomi kontrolinio kodo vaizdai ir modelis, susieti su „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Bus ištrinti įrenginyje saugomi kontrolinio kodo vaizdai ir modelis, susieti su „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“"</string>
diff --git a/res-product/values-lv/strings.xml b/res-product/values-lv/strings.xml
index a6ddbcf..2b86b9c 100644
--- a/res-product/values-lv/strings.xml
+++ b/res-product/values-lv/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Lai iestatītu autorizāciju pēc sejas, ir jābūt iestatītam PIN.\n\nPIN aizsargā tālruni, ja tas tiek nozaudēts vai nozagts."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Lai iestatītu autorizāciju pēc sejas, ir jābūt iestatītai kombinācijai.\n\nKombinācija aizsargā tālruni, ja tas tiek nozaudēts vai nozagts."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Lai iestatītu autorizāciju pēc sejas, ir jābūt iestatītai parolei.\n\nParole aizsargā tālruni, ja tas tiek nozaudēts vai nozagts."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Lai iestatītu autorizāciju pēc sejas un autorizāciju ar pirksta nospiedumu, ir jābūt iestatītam PIN.\n\nPIN aizsargā planšetdatoru, ja tas tiek nozaudēts vai nozagts."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Lai iestatītu autorizāciju pēc sejas un autorizāciju ar pirksta nospiedumu, ir jābūt iestatītai kombinācijai.\n\nKombinācija aizsargā planšetdatoru, ja tas tiek nozaudēts vai nozagts."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Lai iestatītu autorizāciju pēc sejas un autorizāciju ar pirksta nospiedumu, ir jābūt iestatītai parolei.\n\nParole aizsargā planšetdatoru, ja tas tiek nozaudēts vai nozagts."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Lai iestatītu autorizāciju pēc sejas un autorizāciju ar pirksta nospiedumu, ir jābūt iestatītam PIN.\n\nPIN aizsargā ierīci, ja tā tiek nozaudēta vai nozagta."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Lai iestatītu autorizāciju pēc sejas un autorizāciju ar pirksta nospiedumu, ir jābūt iestatītai kombinācijai.\n\nKombinācija aizsargā ierīci, ja tā tiek nozaudēta vai nozagta."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Lai iestatītu autorizāciju pēc sejas un autorizāciju ar pirksta nospiedumu, ir jābūt iestatītai parolei.\n\nParole aizsargā ierīci, ja tā tiek nozaudēta vai nozagta."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Lai iestatītu autorizāciju pēc sejas un autorizāciju ar pirksta nospiedumu, ir jābūt iestatītam PIN.\n\nPIN aizsargā tālruni, ja tas tiek nozaudēts vai nozagts."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Lai iestatītu autorizāciju pēc sejas un autorizāciju ar pirksta nospiedumu, ir jābūt iestatītai kombinācijai.\n\nKombinācija aizsargā tālruni, ja tas tiek nozaudēts vai nozagts."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Lai iestatītu autorizāciju pēc sejas un autorizāciju ar pirksta nospiedumu, ir jābūt iestatītai parolei.\n\nParole aizsargā tālruni, ja tas tiek nozaudēts vai nozagts."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Lai iestatītu autorizāciju ar pirksta nospiedumu un autorizāciju pēc sejas, ir jābūt iestatītam PIN.\n\nPIN aizsargā planšetdatoru, ja tas tiek nozaudēts vai nozagts."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Lai iestatītu autorizāciju ar pirksta nospiedumu un autorizāciju pēc sejas, ir jābūt iestatītai kombinācijai.\n\nKombinācija aizsargā planšetdatoru, ja tas tiek nozaudēts vai nozagts."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Lai iestatītu autorizāciju ar pirksta nospiedumu un autorizāciju pēc sejas, ir jābūt iestatītai parolei.\n\nParole aizsargā planšetdatoru, ja tas tiek nozaudēts vai nozagts."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Lai iestatītu autorizāciju ar pirksta nospiedumu un autorizāciju pēc sejas, ir jābūt iestatītam PIN.\n\nPIN aizsargā ierīci, ja tā tiek nozaudēta vai nozagta."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Lai iestatītu autorizāciju ar pirksta nospiedumu un autorizāciju pēc sejas, ir jābūt iestatītai kombinācijai.\n\nKombinācija aizsargā ierīci, ja tā tiek nozaudēta vai nozagta."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Lai iestatītu autorizāciju ar pirksta nospiedumu un autorizāciju pēc sejas, ir jābūt iestatītai parolei.\n\nParole aizsargā ierīci, ja tā tiek nozaudēta vai nozagta."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Lai iestatītu autorizāciju ar pirksta nospiedumu un autorizāciju pēc sejas, ir jābūt iestatītam PIN.\n\nPIN aizsargā tālruni, ja tas tiek nozaudēts vai nozagts."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Lai iestatītu autorizāciju ar pirksta nospiedumu un autorizāciju pēc sejas, ir jābūt iestatītai kombinācijai.\n\nKombinācija aizsargā tālruni, ja tas tiek nozaudēts vai nozagts."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Lai iestatītu autorizāciju ar pirksta nospiedumu un autorizāciju pēc sejas, ir jābūt iestatītai parolei.\n\nParole aizsargā tālruni, ja tas tiek nozaudēts vai nozagts."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Tādējādi tiks dzēsti jūsu tālrunī saglabātie pirksta nospieduma attēli un modelis, kas saistīti ar pirksta nospiedumu “<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”."</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Tādējādi tiks dzēsti jūsu planšetdatorā saglabātie pirksta nospieduma attēli un modelis, kas saistīti ar pirksta nospiedumu “<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Tādējādi tiks dzēsti jūsu ierīcē glabātie pirksta nospieduma attēli un modelis, kas saistīti ar “<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”"</string>
diff --git a/res-product/values-mk/strings.xml b/res-product/values-mk/strings.xml
index 1e03880..8e1548f 100644
--- a/res-product/values-mk/strings.xml
+++ b/res-product/values-mk/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Потребен е PIN-код за да поставите „Отклучување со лик“.\n\nPIN-кодот го заштитува телефонот ако го изгубите или ви го украдат."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Потребна е шема за да поставите „Отклучување со лик“.\n\nШемата го заштитува телефонот ако го изгубите или ви го украдат."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Потребна е лозинка за да поставите „Отклучување со лик“.\n\nЛозинката го заштитува телефонот ако го изгубите или ви го украдат."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Потребен е PIN-код за да поставите „Отклучување со лик“ и „Отклучување со отпечаток“.\n\nPIN-кодот го заштитува таблетот ако го изгубите или ви го украдат."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Потребна е шема за да поставите „Отклучување со лик“ и „Отклучување со отпечаток“.\n\nШемата го заштитува таблетот ако го изгубите или ви го украдат."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Потребна е лозинка за да поставите „Отклучување со лик“ и „Отклучување со отпечаток“.\n\nЛозинката го заштитува таблетот ако го изгубите или ви го украдат."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Потребен е PIN-код за да поставите „Отклучување со лик“ и „Отклучување со отпечаток“.\n\nPIN-кодот го заштитува уредот ако го изгубите или ви го украдат."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Потребна е шема за да поставите „Отклучување со лик“ и „Отклучување со отпечаток“.\n\nШемата го заштитува уредот ако го изгубите или ви го украдат."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Потребна е лозинка за да поставите „Отклучување со лик“ и „Отклучување со отпечаток“.\n\nЛозинката го заштитува уредот ако го изгубите или ви го украдат."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Потребен е PIN-код за да поставите „Отклучување со лик“ и „Отклучување со отпечаток“.\n\nPIN-кодот го заштитува телефонот ако го изгубите или ви го украдат."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Потребна е шема за да поставите „Отклучување со лик“ и „Отклучување со отпечаток“.\n\nШемата го заштитува телефонот ако го изгубите или ви го украдат."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Потребна е лозинка за да поставите „Отклучување со лик“ и „Отклучување со отпечаток“.\n\nЛозинката го заштитува телефонот ако го изгубите или ви го украдат."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Потребен е PIN-код за да поставите „Отклучување со отпечаток“ и „Отклучување со лик“.\n\nPIN-кодот го штити таблетот при губење или кражба."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Потребна е шема за да поставите „Отклучување со отпечаток“ и „Отклучување со лик“.\n\nШемата го штити таблетот при губење или кражба."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Потребна е лозинка за да поставите „Отклучување со отпечаток“ и „Отклучување со лик“.\n\nЛозинката го штити таблетот при губење или кражба."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Потребен е PIN-код за да поставите „Отклучување со отпечаток“ и „Отклучување со лик“.\n\nPIN-кодот го штити уредот при губење или кражба."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Потребна е шема за да поставите „Отклучување со отпечаток“ и „Отклучување со лик“.\n\nШемата го штити уредот при губење или кражба."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Потребна е лозинка за да поставите „Отклучување со отпечаток“ и „Отклучување со лик“.\n\nЛозинката го штити уредот при губење или кражба."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Потребен е PIN-код за да поставите „Отклучување со отпечаток“ и „Отклучување со лик“.\n\nPIN-кодот го штити телефонот при губење или кражба."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Потребна е шема за да поставите „Отклучување со отпечаток“ и „Отклучување со лик“.\n\nШемата го штити телефонот при губење или кражба."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Потребна е лозинка за да поставите „Отклучување со отпечаток“ и „Отклучување со лик“.\n\nЛозинката го штити телефонот при губење или кражба."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Ова ги брише сликите и моделот на отпечатокот „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ што се складирани на телефонот"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Ова ги брише сликите и моделот на отпечатокот „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ што се складирани на таблетот"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Ова ги брише сликите и моделот на отпечатокот „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“ што се складирани на уредот"</string>
diff --git a/res-product/values-ml/strings.xml b/res-product/values-ml/strings.xml
index e0d09ea..00c732a 100644
--- a/res-product/values-ml/strings.xml
+++ b/res-product/values-ml/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"ഫെയ്സ് അൺലോക്ക് സജ്ജീകരിക്കാൻ പിൻ ആവശ്യമാണ്.\n\nഫോൺ നഷ്ടപ്പെടുകയോ മോഷ്ടിക്കപ്പെടുകയോ ചെയ്താൽ പിൻ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"ഫെയ്സ് അൺലോക്ക് സജ്ജീകരിക്കാൻ പാറ്റേൺ ആവശ്യമാണ്.\n\nഫോൺ നഷ്ടപ്പെടുകയോ മോഷ്ടിക്കപ്പെടുകയോ ചെയ്താൽ പാറ്റേൺ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"ഫെയ്സ് അൺലോക്ക് സജ്ജീകരിക്കാൻ പാസ്വേഡ് ആവശ്യമാണ്.\n\nഫോൺ നഷ്ടപ്പെടുകയോ മോഷ്ടിക്കപ്പെടുകയോ ചെയ്താൽ പാസ്വേഡ് അതിനെ പരിരക്ഷിക്കുന്നു."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"ഫെയ്സ് അൺലോക്കും ഫിംഗർപ്രിന്റ് അൺലോക്കും സജ്ജീകരിക്കാൻ പിൻ ആവശ്യമാണ്.\n\nടാബ്ലെറ്റ് നഷ്ടപ്പെടുകയോ മോഷ്ടിക്കപ്പെടുകയോ ചെയ്താൽ പിൻ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"ഫെയ്സ് അൺലോക്കും ഫിംഗർപ്രിന്റ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാറ്റേൺ ആവശ്യമാണ്.\n\nടാബ്ലെറ്റ് നഷ്ടപ്പെടുകയോ മോഷ്ടിക്കപ്പെടുകയോ ചെയ്താൽ പാറ്റേൺ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"ഫെയ്സ് അൺലോക്കും ഫിംഗർപ്രിന്റ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാസ്വേഡ് ആവശ്യമാണ്.\n\nടാബ്ലെറ്റ് നഷ്ടപ്പെടുകയോ മോഷ്ടിക്കപ്പെടുകയോ ചെയ്താൽ പാസ്വേഡ് അതിനെ പരിരക്ഷിക്കുന്നു."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"ഫെയ്സ് അൺലോക്കും ഫിംഗർപ്രിന്റ് അൺലോക്കും സജ്ജീകരിക്കാൻ പിൻ ആവശ്യമാണ്.\n\nഉപകരണം നഷ്ടപ്പെടുകയോ മോഷ്ടിക്കപ്പെടുകയോ ചെയ്താൽ പിൻ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"ഫെയ്സ് അൺലോക്കും ഫിംഗർപ്രിന്റ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാറ്റേൺ ആവശ്യമാണ്.\n\nഉപകരണം നഷ്ടപ്പെടുകയോ മോഷ്ടിക്കപ്പെടുകയോ ചെയ്താൽ പാറ്റേൺ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"ഫെയ്സ് അൺലോക്കും ഫിംഗർപ്രിന്റ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാസ്വേഡ് ആവശ്യമാണ്.\n\nഉപകരണം നഷ്ടപ്പെടുകയോ മോഷ്ടിക്കപ്പെടുകയോ ചെയ്താൽ പാസ്വേഡ് അതിനെ പരിരക്ഷിക്കുന്നു."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"ഫെയ്സ് അൺലോക്കും ഫിംഗർപ്രിന്റ് അൺലോക്കും സജ്ജീകരിക്കാൻ പിൻ ആവശ്യമാണ്.\n\nഫോൺ നഷ്ടപ്പെടുകയോ മോഷ്ടിക്കപ്പെടുകയോ ചെയ്താൽ പിൻ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"ഫെയ്സ് അൺലോക്കും ഫിംഗർപ്രിന്റ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാറ്റേൺ ആവശ്യമാണ്.\n\nഫോൺ നഷ്ടപ്പെടുകയോ മോഷ്ടിക്കപ്പെടുകയോ ചെയ്താൽ പാറ്റേൺ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"ഫെയ്സ് അൺലോക്കും ഫിംഗർപ്രിന്റ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാസ്വേഡ് ആവശ്യമാണ്.\n\nഫോൺ നഷ്ടപ്പെടുകയോ മോഷ്ടിക്കപ്പെടുകയോ ചെയ്താൽ പാസ്വേഡ് അതിനെ പരിരക്ഷിക്കുന്നു."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"ഫിംഗർപ്രിന്റ് അൺലോക്കും ഫെയ്സ് അൺലോക്കും സജ്ജീകരിക്കാൻ പിൻ ആവശ്യമാണ്.\n\nടാബ്ലെറ്റ് നഷ്ടപ്പെടുകയോ മോഷ്ടിക്കപ്പെടുകയോ ചെയ്താൽ പിൻ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"ഫിംഗർപ്രിന്റ് അൺലോക്കും ഫെയ്സ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാറ്റേൺ ആവശ്യമാണ്.\n\nടാബ്ലെറ്റ് നഷ്ടപ്പെടുകയോ മോഷ്ടിക്കപ്പെടുകയോ ചെയ്താൽ പാറ്റേൺ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"ഫിംഗർപ്രിന്റ് അൺലോക്കും ഫെയ്സ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാസ്വേഡ് ആവശ്യമാണ്.\n\nടാബ്ലെറ്റ് നഷ്ടപ്പെടുകയോ മോഷ്ടിക്കപ്പെടുകയോ ചെയ്താൽ പാസ്വേഡ് അതിനെ പരിരക്ഷിക്കുന്നു."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"ഫിംഗർപ്രിന്റ് അൺലോക്കും ഫെയ്സ് അൺലോക്കും സജ്ജീകരിക്കാൻ പിൻ ആവശ്യമാണ്.\n\nഉപകരണം നഷ്ടപ്പെടുകയോ മോഷ്ടിക്കപ്പെടുകയോ ചെയ്താൽ പിൻ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"ഫിംഗർപ്രിന്റ് അൺലോക്കും ഫെയ്സ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാറ്റേൺ ആവശ്യമാണ്.\n\nഉപകരണം നഷ്ടപ്പെടുകയോ മോഷ്ടിക്കപ്പെടുകയോ ചെയ്താൽ പാറ്റേൺ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"ഫിംഗർപ്രിന്റ് അൺലോക്കും ഫെയ്സ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാസ്വേഡ് ആവശ്യമാണ്.\n\nഉപകരണം നഷ്ടപ്പെടുകയോ മോഷ്ടിക്കപ്പെടുകയോ ചെയ്താൽ പാസ്വേഡ് അതിനെ പരിരക്ഷിക്കുന്നു."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"ഫിംഗർപ്രിന്റ് അൺലോക്കും ഫെയ്സ് അൺലോക്കും സജ്ജീകരിക്കാൻ പിൻ ആവശ്യമാണ്.\n\nഫോൺ നഷ്ടപ്പെടുകയോ മോഷ്ടിക്കപ്പെടുകയോ ചെയ്താൽ പിൻ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"ഫിംഗർപ്രിന്റ് അൺലോക്കും ഫെയ്സ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാറ്റേൺ ആവശ്യമാണ്.\n\nഫോൺ നഷ്ടപ്പെടുകയോ മോഷ്ടിക്കപ്പെടുകയോ ചെയ്താൽ പാറ്റേൺ അതിനെ പരിരക്ഷിക്കുന്നു."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"ഫിംഗർപ്രിന്റ് അൺലോക്കും ഫെയ്സ് അൺലോക്കും സജ്ജീകരിക്കാൻ പാസ്വേഡ് ആവശ്യമാണ്.\n\nഫോൺ നഷ്ടപ്പെടുകയോ മോഷ്ടിക്കപ്പെടുകയോ ചെയ്താൽ പാസ്വേഡ് അതിനെ പരിരക്ഷിക്കുന്നു."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"\'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' എന്നതുമായി ബന്ധപ്പെട്ട് നിങ്ങളുടെ ഫോണിൽ സംഭരിച്ചിരിക്കുന്ന ഫിംഗർപ്രിന്റ് ചിത്രങ്ങളും മോഡലും ഇത് ഇല്ലാതാക്കുന്നു"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"\'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' എന്നതുമായി ബന്ധപ്പെട്ട് നിങ്ങളുടെ ടാബ്ലെറ്റിൽ സംഭരിച്ചിരിക്കുന്ന ഫിംഗർപ്രിന്റ് ചിത്രങ്ങളും മോഡലും ഇത് ഇല്ലാതാക്കുന്നു"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"\'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' എന്നതുമായി ബന്ധപ്പെട്ട് നിങ്ങളുടെ ഉപകരണത്തിൽ സംഭരിച്ചിരിക്കുന്ന ഫിംഗർപ്രിന്റ് ചിത്രങ്ങളും മോഡലും ഇത് ഇല്ലാതാക്കുന്നു"</string>
diff --git a/res-product/values-mn/strings.xml b/res-product/values-mn/strings.xml
index e7ad331..48d5e42 100644
--- a/res-product/values-mn/strings.xml
+++ b/res-product/values-mn/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Царайгаар түгжээ тайлахыг тохируулахын тулд ПИН шаардлагатай.\n\nУтсыг гээсэн эсвэл хулгайд алдсан тохиолдолд ПИН үүнийг хамгаалдаг."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Царайгаар түгжээ тайлахыг тохируулахын тулд хээ шаардлагатай.\n\nУтсыг гээсэн эсвэл хулгайд алдсан тохиолдолд хээ үүнийг хамгаалдаг."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Царайгаар түгжээ тайлахыг тохируулахын тулд нууц үг шаардлагатай.\n\nУтсыг гээсэн эсвэл хулгайд алдсан тохиолдолд нууц үг үүнийг хамгаалдаг."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Царайгаар түгжээ тайлах болон Хурууны хээгээр түгжээ тайлахыг тохируулахын тулд ПИН шаардлагатай.\n\nТаблетыг гээсэн эсвэл хулгайд алдсан тохиолдолд ПИН үүнийг хамгаалдаг."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Царайгаар түгжээ тайлах болон Хурууны хээгээр түгжээ тайлахыг тохируулахын тулд хээ шаардлагатай.\n\nТаблетыг гээсэн эсвэл хулгайд алдсан тохиолдолд хээ үүнийг хамгаалдаг."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Царайгаар түгжээ тайлах болон Хурууны хээгээр түгжээ тайлахыг тохируулахын тулд нууц үг шаардлагатай.\n\nТаблетыг гээсэн эсвэл хулгайд алдсан тохиолдолд нууц үг үүнийг хамгаалдаг."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Царайгаар түгжээ тайлах болон Хурууны хээгээр түгжээ тайлахыг тохируулахын тулд ПИН шаардлагатай.\n\nТөхөөрөмжийг гээсэн эсвэл хулгайд алдсан тохиолдолд ПИН үүнийг хамгаалдаг."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Царайгаар түгжээ тайлах болон Хурууны хээгээр түгжээ тайлахыг тохируулахын тулд хээ шаардлагатай.\n\nТөхөөрөмжийг гээсэн эсвэл хулгайд алдсан тохиолдолд хээ үүнийг хамгаалдаг."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Царайгаар түгжээ тайлах болон Хурууны хээгээр түгжээ тайлахыг тохируулахын тулд нууц үг шаардлагатай.\n\nТөхөөрөмжийг гээсэн эсвэл хулгайд алдсан тохиолдолд нууц үг үүнийг хамгаалдаг."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Царайгаар түгжээ тайлах болон Хурууны хээгээр түгжээ тайлахыг тохируулахын тулд ПИН шаардлагатай.\n\nУтсыг гээсэн эсвэл хулгайд алдсан тохиолдолд ПИН үүнийг хамгаалдаг."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Царайгаар түгжээ тайлах болон Хурууны хээгээр түгжээ тайлахыг тохируулахын тулд хээ шаардлагатай.\n\nУтсыг гээсэн эсвэл хулгайд алдсан тохиолдолд хээ үүнийг хамгаалдаг."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Царайгаар түгжээ тайлах болон Хурууны хээгээр түгжээ тайлахыг тохируулахын тулд нууц үг шаардлагатай.\n\nУтсыг гээсэн эсвэл хулгайд алдсан тохиолдолд нууц үг үүнийг хамгаалдаг."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Хурууны хээгээр түгжээ тайлах болон Царайгаар түгжээ тайлахыг тохируулахад ПИН шаардлагатай.\n\nТаблетыг гээсэн эсвэл хулгайд алдсан тохиолдолд ПИН хамгаалдаг."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Хурууны хээгээр түгжээ тайлах болон Царайгаар түгжээ тайлахыг тохируулахад хээ шаардлагатай.\n\nТаблетыг гээсэн эсвэл хулгайд алдсан тохиолдолд хээ хамгаалдаг."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Хурууны хээгээр түгжээ тайлах болон Царайгаар түгжээ тайлахыг тохируулахад нууц үг шаардлагатай.\n\nТаблетыг гээсэн эсвэл хулгайд алдсан тохиолдолд нууц үг хамгаалдаг."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Хурууны хээгээр түгжээ тайлах болон Царайгаар түгжээ тайлахыг тохируулахад ПИН шаардлагатай.\n\nТөхөөрөмжийг гээсэн эсвэл хулгайд алдсан тохиолдолд ПИН хамгаалдаг."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Хурууны хээгээр түгжээ тайлах болон Царайгаар түгжээ тайлахыг тохируулахад хээ шаардлагатай.\n\nТөхөөрөмжийг гээсэн эсвэл хулгайд алдсан тохиолдолд хээ хамгаалдаг."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Хурууны хээгээр түгжээ тайлах болон Царайгаар түгжээ тайлахыг тохируулахад нууц үг шаардлагатай.\n\nТөхөөрөмжийг гээсэн эсвэл хулгайд алдсан тохиолдолд нууц үг хамгаалдаг."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Хурууны хээгээр түгжээ тайлах болон Царайгаар түгжээ тайлахыг тохируулахад ПИН шаардлагатай.\n\nУтсыг гээсэн эсвэл хулгайд алдсан тохиолдолд ПИН хамгаалдаг."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Хурууны хээгээр түгжээ тайлах болон Царайгаар түгжээ тайлахыг тохируулахад хээ шаардлагатай.\n\nУтсыг гээсэн эсвэл хулгайд алдсан тохиолдолд хээ хамгаалдаг."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Хурууны хээгээр түгжээ тайлах болон Царайгаар түгжээ тайлахыг тохируулахад нууц үг шаардлагатай.\n\nУтсыг гээсэн эсвэл хулгайд алдсан тохиолдолд нууц үг хамгаалдаг."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Энэ нь таны утсан дээр хадгалсан \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'-тай холбоотой хурууны хээний зургууд болон загварыг устгана"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Энэ нь таны таблет дээр хадгалсан \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'-тай холбоотой хурууны хээний зургууд болон загварыг устгана"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Энэ нь таны төхөөрөмж дээр хадгалсан \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'-тай холбоотой хурууны хээний зургууд болон загварыг устгана"</string>
diff --git a/res-product/values-mr/strings.xml b/res-product/values-mr/strings.xml
index a210786..ef8e745 100644
--- a/res-product/values-mr/strings.xml
+++ b/res-product/values-mr/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"फेस अनलॉक सेट करण्यासाठी पिन आवश्यक आहे.\n\nफोन हरवल्यास किंवा चोरीला गेल्यास, पिन त्याचे संरक्षण करतो."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"फेस अनलॉक सेट करण्यासाठी पॅटर्न आवश्यक आहे.\n\nफोन हरवल्यास किंवा चोरीला गेल्यास, पॅटर्न त्याचे संरक्षण करते."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"फेस अनलॉक सेट करण्यासाठी पासवर्ड आवश्यक आहे.\n\nफोन हरवल्यास किंवा चोरीला गेल्यास, पासवर्ड त्याचे संरक्षण करतो."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"फेस अनलॉक आणि फिंगरप्रिंट अनलॉक सेट करण्यासाठी पिन आवश्यक आहे.\n\nटॅबलेट हरवल्यास किंवा चोरीला गेल्यास, पिन त्याचे संरक्षण करतो."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"फेस अनलॉक आणि फिंगरप्रिंट अनलॉक सेट करण्यासाठी पॅटर्न आवश्यक आहे.\n\nटॅबलेट हरवल्यास किंवा चोरीला गेल्यास, पॅटर्न त्याचे संरक्षण करते."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"फेस अनलॉक आणि फिंगरप्रिंट अनलॉक सेट करण्यासाठी पासवर्ड आवश्यक आहे.\n\nटॅबलेट हरवल्यास किंवा चोरीला गेल्यास, पासवर्ड त्याचे संरक्षण करतो."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"फेस अनलॉक आणि फिंगरप्रिंट अनलॉक सेट करण्यासाठी पिन आवश्यक आहे.\n\nडिव्हाइस हरवल्यास किंवा चोरीला गेल्यास, पिन त्याचे संरक्षण करतो."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"फेस अनलॉक आणि फिंगरप्रिंट अनलॉक सेट करण्यासाठी पॅटर्न आवश्यक आहे.\n\nडिव्हाइस हरवल्यास किंवा चोरीला गेल्यास, पॅटर्न त्याचे संरक्षण करते."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"फेस अनलॉक आणि फिंगरप्रिंट अनलॉक सेट करण्यासाठी पासवर्ड आवश्यक आहे.\n\nडिव्हाइस हरवल्यास किंवा चोरीला गेल्यास, पासवर्ड त्याचे संरक्षण करतो."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"फेस अनलॉक आणि फिंगरप्रिंट अनलॉक सेट करण्यासाठी पिन आवश्यक आहे.\n\nफोन हरवल्यास किंवा चोरीला गेल्यास, पिन त्याचे संरक्षण करतो."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"फेस अनलॉक आणि फिंगरप्रिंट अनलॉक सेट करण्यासाठी पॅटर्न आवश्यक आहे.\n\nफोन हरवल्यास किंवा चोरीला गेल्यास, पॅटर्न त्याचे संरक्षण करते."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"फेस अनलॉक आणि फिंगरप्रिंट अनलॉक सेट करण्यासाठी पासवर्ड आवश्यक आहे.\n\nफोन हरवल्यास किंवा चोरीला गेल्यास, पासवर्ड त्याचे संरक्षण करतो."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"फिंगरप्रिंट अनलॉक आणि फेस अनलॉक सेट करण्यासाठी पिन आवश्यक आहे.\n\nतुमचा टॅबलेट हरवल्यास किंवा चोरीला गेल्यास, पिन त्याचे संरक्षण करतो."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"फिंगरप्रिंट अनलॉक आणि फेस अनलॉक सेट करण्यासाठी पॅटर्न आवश्यक आहे.\n\nतुमचा टॅबलेट हरवल्यास किंवा चोरीला गेल्यास, पॅटर्न त्याचे संरक्षण करतो."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"फिंगरप्रिंट अनलॉक आणि फेस अनलॉक सेट करण्यासाठी पासवर्ड आवश्यक आहे.\n\nतुमचा टॅबलेट हरवल्यास किंवा चोरीला गेल्यास, पासवर्ड त्याचे संरक्षण करतो."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"फिंगरप्रिंट अनलॉक आणि फेस अनलॉक सेट करण्यासाठी पिन आवश्यक आहे.\n\nतुमचे डिव्हाइस हरवल्यास किंवा चोरीला गेल्यास, पिन त्याचे संरक्षण करतो."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"फिंगरप्रिंट अनलॉक आणि फेस अनलॉक सेट करण्यासाठी पॅटर्न आवश्यक आहे.\n\nतुमचे डिव्हाइस हरवल्यास किंवा चोरीला गेल्यास, पॅटर्न त्याचे संरक्षण करतो."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"फिंगरप्रिंट अनलॉक आणि फेस अनलॉक सेट करण्यासाठी पासवर्ड आवश्यक आहे.\n\nतुमचे डिव्हाइस हरवल्यास किंवा चोरीला गेल्यास, पासवर्ड त्याचे संरक्षण करतो."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"फिंगरप्रिंट अनलॉक आणि फेस अनलॉक सेट करण्यासाठी पिन आवश्यक आहे.\n\nतुमचा फोन हरवल्यास किंवा चोरीला गेल्यास, पिन त्याचे संरक्षण करतो."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"फिंगरप्रिंट अनलॉक आणि फेस अनलॉक सेट करण्यासाठी पॅटर्न आवश्यक आहे.\n\nतुमचा फोन हरवल्यास किंवा चोरीला गेल्यास, पॅटर्न त्याचे संरक्षण करतो."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"फिंगरप्रिंट अनलॉक आणि फेस अनलॉक सेट करण्यासाठी पासवर्ड आवश्यक आहे.\n\nतुमचा फोन हरवल्यास किंवा चोरीला गेल्यास, पासवर्ड त्याचे संरक्षण करतो."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"हे तुमच्या फोनवर स्टोअर केलेल्या फिंगरप्रिंट इमेज आणि \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' शी संबंधित असलेले मॉडेल हटवते"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"हे तुमच्या टॅबलेटवर स्टोअर केलेल्या फिंगरप्रिंट इमेज आणि \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' शी संबंधित असलेले मॉडेल हटवते"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"हे तुमच्या डिव्हाइसवर स्टोअर केलेल्या फिंगरप्रिंट इमेज आणि \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' शी संबंधित असलेले मॉडेल हटवते"</string>
diff --git a/res-product/values-ms/strings.xml b/res-product/values-ms/strings.xml
index ec25e3d..d44395e 100644
--- a/res-product/values-ms/strings.xml
+++ b/res-product/values-ms/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"PIN diperlukan untuk menyediakan Buka Kunci Wajah.\n\nPIN melindungi telefon jika telefon hilang atau dicuri."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Corak diperlukan untuk menyediakan Buka Kunci Wajah.\n\nCorak melindungi telefon jika telefon hilang atau dicuri."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Kata laluan diperlukan untuk menyediakan Buka Kunci Wajah.\n\nKata laluan melindungi telefon jika telefon hilang atau dicuri."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"PIN diperlukan untuk menyediakan Buka Kunci Wajah dan Buka Kunci Cap Jari.\n\nPIN melindungi tablet jika tablet hilang atau dicuri."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Corak diperlukan untuk menyediakan Buka Kunci Wajah dan Buka Kunci Cap Jari.\n\nCorak melindungi tablet jika tablet hilang atau dicuri."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Kata laluan diperlukan untuk menyediakan Buka Kunci Wajah dan Buka Kunci Cap Jari.\n\nKata laluan melindungi tablet jika tablet hilang atau dicuri."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"PIN diperlukan untuk menyediakan Buka Kunci Wajah dan Buka Kunci Cap Jari.\n\nPIN melindungi peranti jika peranti hilang atau dicuri."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Corak diperlukan untuk menyediakan Buka Kunci Wajah dan Buka Kunci Cap Jari.\n\nCorak melindungi peranti jika peranti hilang atau dicuri."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Kata laluan diperlukan untuk menyediakan Buka Kunci Wajah dan Buka Kunci Cap Jari.\n\nKata laluan melindungi peranti jika peranti hilang atau dicuri."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"PIN diperlukan untuk menyediakan Buka Kunci Wajah dan Buka Kunci Cap Jari.\n\nPIN melindungi telefon jika telefon hilang atau dicuri."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Corak diperlukan untuk menyediakan Buka Kunci Wajah dan Buka Kunci Cap Jari.\n\nCorak melindungi telefon jika telefon hilang atau dicuri."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Kata laluan diperlukan untuk menyediakan Buka Kunci Wajah dan Buka Kunci Cap Jari.\n\nKata laluan melindungi telefon jika telefon hilang atau dicuri."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"PIN diperlukan untuk menyediakan Buka Kunci Cap Jari dan Buka Kunci Wajah.\n\nPIN melindungi tablet jika tablet hilang atau dicuri."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Corak diperlukan untuk menyediakan Buka Kunci Cap Jari dan Buka Kunci Wajah.\n\nCorak melindungi tablet jika tablet hilang atau dicuri."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Kata laluan diperlukan untuk menyediakan Buka Kunci Cap Jari dan Buka Kunci Wajah.\n\nKata laluan melindungi tablet jika tablet hilang atau dicuri."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"PIN diperlukan untuk menyediakan Buka Kunci Cap Jari dan Buka Kunci Wajah.\n\nPIN melindungi peranti jika peranti hilang atau dicuri."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Corak diperlukan untuk menyediakan Buka Kunci Cap Jari dan Buka Kunci Wajah.\n\nCorak melindungi peranti jika peranti hilang atau dicuri."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Kata laluan diperlukan untuk menyediakan Buka Kunci Cap Jari dan Buka Kunci Wajah.\n\nKata laluan melindungi peranti jika peranti hilang atau dicuri."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"PIN diperlukan untuk menyediakan Buka Kunci Cap Jari dan Buka Kunci Wajah.\n\nPIN melindungi telefon jika telefon hilang atau dicuri."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Corak diperlukan untuk menyediakan Buka Kunci Cap Jari dan Buka Kunci Wajah.\n\nCorak melindungi telefon jika telefon hilang atau dicuri."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Kata laluan diperlukan untuk menyediakan Buka Kunci Cap Jari dan Buka Kunci Wajah.\n\nKata laluan melindungi telefon jika telefon hilang atau dicuri."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Tindakan ini akan memadamkan imej dan model cap jari yang berkaitan dengan \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' yang disimpan dalam telefon anda"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Tindakan ini akan memadamkan imej dan model cap jari yang berkaitan dengan \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' yang disimpan dalam tablet anda"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Ini akan memadamkan imej cap jari dan model yang berkaitan dengan \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' yang disimpan dalam peranti anda"</string>
diff --git a/res-product/values-my/strings.xml b/res-product/values-my/strings.xml
index 21799ca..5a3e4bc 100644
--- a/res-product/values-my/strings.xml
+++ b/res-product/values-my/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပင်နံပါတ် လိုအပ်သည်။\n\nဤဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပင်နံပါတ်က ကာကွယ်ပေးသည်။"</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပုံစံ လိုအပ်သည်။\n\nဤဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပုံစံက ကာကွယ်ပေးသည်။"</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် စကားဝှက် လိုအပ်သည်။\n\nဤဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို စကားဝှက်က ကာကွယ်ပေးသည်။"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပင်နံပါတ် လိုအပ်သည်။\n\nဤတက်ဘလက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပင်နံပါတ်က ကာကွယ်ပေးသည်။"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပုံစံ လိုအပ်သည်။\n\nဤတက်ဘလက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပုံစံက ကာကွယ်ပေးသည်။"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် စကားဝှက် လိုအပ်သည်။\n\nဤတက်ဘလက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို စကားဝှက်က ကာကွယ်ပေးသည်။"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပင်နံပါတ် လိုအပ်သည်။\n\nဤစက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပင်နံပါတ်က ကာကွယ်ပေးသည်။"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပုံစံ လိုအပ်သည်။\n\nဤစက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပုံစံက ကာကွယ်ပေးသည်။"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် စကားဝှက် လိုအပ်သည်။\n\nဤစက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို စကားဝှက်က ကာကွယ်ပေးသည်။"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပင်နံပါတ် လိုအပ်သည်။\n\nဤဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပင်နံပါတ်က ကာကွယ်ပေးသည်။"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပုံစံ လိုအပ်သည်။\n\nဤဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပုံစံက ကာကွယ်ပေးသည်။"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် စကားဝှက် လိုအပ်သည်။\n\nဤဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို စကားဝှက်က ကာကွယ်ပေးသည်။"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပင်နံပါတ် လိုအပ်သည်။\n\nဤတက်ဘလက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပင်နံပါတ်က ကာကွယ်ပေးသည်။"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပုံဖော်ခြင်း လိုအပ်သည်။\n\nဤတက်ဘလက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပုံဖော်ခြင်းက ကာကွယ်ပေးသည်။"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် စကားဝှက် လိုအပ်သည်။\n\nဤတက်ဘလက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို စကားဝှက်က ကာကွယ်ပေးသည်။"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပင်နံပါတ် လိုအပ်သည်။\n\nဤစက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပင်နံပါတ်က ကာကွယ်ပေးသည်။"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ နှင့် မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပုံဖော်ခြင်း လိုအပ်သည်။\n\nဤစက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပုံဖော်ခြင်းက ကာကွယ်ပေးသည်။"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် စကားဝှက် လိုအပ်သည်။\n\nဤစက်ပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို စကားဝှက်က ကာကွယ်ပေးသည်။"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပင်နံပါတ် လိုအပ်သည်။\n\nဤဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပင်နံပါတ်က ကာကွယ်ပေးသည်။"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် ပုံဖော်ခြင်း လိုအပ်သည်။\n\nဤဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပုံဖော်ခြင်းက ကာကွယ်ပေးသည်။"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ ကို ထည့်သွင်းရန် စကားဝှက် လိုအပ်သည်။\n\nဤဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို စကားဝှက်က ကာကွယ်ပေးသည်။"</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"သင့်ဖုန်းတွင်သိုလှောင်ထားသည့် ‘<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>’ နှင့် ဆက်စပ်သည့် လက်ဗွေပုံများနှင့် နမူနာကို ဖျက်ပါမည်"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"သင့်တက်ဘလက်တွင်သိုလှောင်ထားသည့် ‘<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>’ နှင့် ဆက်စပ်သည့် လက်ဗွေပုံများနှင့် နမူနာကို ဖျက်ပါမည်"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"သင့်စက်တွင်သိုလှောင်ထားသည့် \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' နှင့် ဆက်စပ်သည့် လက်ဗွေပုံများနှင့် နမူနာကို ဖျက်ပါမည်"</string>
diff --git a/res-product/values-nb/strings.xml b/res-product/values-nb/strings.xml
index b5a9df0..3da2ea8 100644
--- a/res-product/values-nb/strings.xml
+++ b/res-product/values-nb/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"En PIN-kode kreves for å konfigurere ansiktslås.\n\nEn PIN-kode beskytter telefonen hvis den blir mistet eller stjålet."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Et mønster kreves for å konfigurere ansiktslås.\n\nEt mønster beskytter telefonen hvis den blir mistet eller stjålet."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Et passord kreves for å konfigurere ansiktslås.\n\nEt passord beskytter telefonen hvis den blir mistet eller stjålet."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"En PIN-kode kreves for å konfigurere ansiktslås og opplåsing med fingeravtrykk.\n\nEn PIN-kode beskytter nettbrettet hvis det blir mistet eller stjålet."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Et mønster kreves for å konfigurere ansiktslås og opplåsing med fingeravtrykk.\n\nEt mønster beskytter nettbrettet hvis det blir mistet eller stjålet."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Et passord kreves for å konfigurere ansiktslås og opplåsing med fingeravtrykk.\n\nEt passord beskytter nettbrettet hvis det blir mistet eller stjålet."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"En PIN-kode kreves for å konfigurere ansiktslås og opplåsing med fingeravtrykk.\n\nEn PIN-kode beskytter enheten hvis den blir mistet eller stjålet."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Et mønster kreves for å konfigurere ansiktslås og opplåsing med fingeravtrykk.\n\nEt mønster beskytter enheten hvis den blir mistet eller stjålet."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Et passord kreves for å konfigurere ansiktslås og opplåsing med fingeravtrykk.\n\nEt passord beskytter enheten hvis den blir mistet eller stjålet."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"En PIN-kode kreves for å konfigurere ansiktslås og opplåsing med fingeravtrykk.\n\nEn PIN-kode beskytter telefonen hvis den blir mistet eller stjålet."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Et mønster kreves for å konfigurere ansiktslås og opplåsing med fingeravtrykk.\n\nEt mønster beskytter telefonen hvis den blir mistet eller stjålet."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Et passord kreves for å konfigurere ansiktslås og opplåsing med fingeravtrykk.\n\nEt passord beskytter telefonen hvis den blir mistet eller stjålet."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"En PIN-kode kreves for å konfigurere opplåsing med fingeravtrykk og ansiktslås.\n\nNår du har en PIN-kode, er nettbrettet beskyttet hvis du mister det eller det blir stjålet."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Et mønster kreves for å konfigurere opplåsing med fingeravtrykk og ansiktslås.\n\nNår du har et mønster, er nettbrettet beskyttet hvis du mister det eller det blir stjålet."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Et passord kreves for å konfigurere opplåsing med fingeravtrykk og ansiktslås.\n\nNår du har et passord, er nettbrettet beskyttet hvis du mister det eller det blir stjålet."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"En PIN-kode kreves for å konfigurere opplåsing med fingeravtrykk og ansiktslås.\n\nNår du har en PIN-kode, er enheten beskyttet hvis du mister den eller den blir stjålet."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Et mønster kreves for å konfigurere opplåsing med fingeravtrykk og ansiktslås.\n\nNår du har et mønster, er enheten beskyttet hvis du mister den eller den blir stjålet."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Et passord kreves for å konfigurere opplåsing med fingeravtrykk og ansiktslås.\n\nNår du har et passord, er enheten beskyttet hvis du mister den eller den blir stjålet."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"En PIN-kode kreves for å konfigurere opplåsing med fingeravtrykk og ansiktslås.\n\nNår du har en PIN-kode, er telefonen beskyttet hvis du mister den eller den blir stjålet."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Et mønster kreves for å konfigurere opplåsing med fingeravtrykk og ansiktslås.\n\nNår du har et mønster, er telefonen beskyttet hvis du mister den eller den blir stjålet."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Et passord kreves for å konfigurere opplåsing med fingeravtrykk og ansiktslås.\n\nNår du har et passord, er telefonen beskyttet hvis du mister den eller den blir stjålet."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Dette sletter fingeravtrykkbildene og -modellen tilknyttet «<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» som er lagret på telefonen"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Dette sletter fingeravtrykkbildene og -modellen tilknyttet «<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» som er lagret på nettbrettet"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Dette sletter fingeravtrykkbildene og -modellen tilknyttet «<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>» som er lagret på enheten"</string>
diff --git a/res-product/values-ne/strings.xml b/res-product/values-ne/strings.xml
index fa40d6c..5e5b965 100644
--- a/res-product/values-ne/strings.xml
+++ b/res-product/values-ne/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"फेस अनलक सेटअप गर्न तपाईंले PIN सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको फोन हराएको वा चोरी भएको खण्डमा PIN ले उक्त फोन सुरक्षित राख्छ।"</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"फेस अनलक सेटअप गर्न तपाईंले प्याटर्न सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको फोन हराएको वा चोरी भएको खण्डमा प्याटर्नले उक्त फोन सुरक्षित राख्छ।"</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"फेस अनलक सेटअप गर्न तपाईंले पासवर्ड सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको फोन हराएको वा चोरी भएको खण्डमा पासवर्डले उक्त फोन सुरक्षित राख्छ।"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"फेस अनलक र फिंगरप्रिन्ट अनलक सेटअप गर्न तपाईंले PIN सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको ट्याब्लेट हराएको वा चोरी भएको खण्डमा PIN ले उक्त ट्याब्लेट सुरक्षित राख्छ।"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"फेस अनलक र फिंगरप्रिन्ट अनलक सेटअप गर्न तपाईंले प्याटर्न सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको ट्याब्लेट हराएको वा चोरी भएको खण्डमा प्याटर्नले उक्त ट्याब्लेट सुरक्षित राख्छ।"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"फेस अनलक र फिंगरप्रिन्ट अनलक सेटअप गर्न तपाईंले पासवर्ड सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको ट्याब्लेट हराएको वा चोरी भएको खण्डमा पासवर्डले उक्त ट्याब्लेट सुरक्षित राख्छ।"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"फेस अनलक र फिंगरप्रिन्ट अनलक सेटअप गर्न तपाईंले PIN सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको डिभाइस हराएको वा चोरी भएको खण्डमा PIN ले उक्त डिभाइस सुरक्षित राख्छ।"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"फेस अनलक र फिंगरप्रिन्ट अनलक सेटअप गर्न तपाईंले प्याटर्न सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको डिभाइस हराएको वा चोरी भएको खण्डमा प्याटर्नले उक्त डिभाइस सुरक्षित राख्छ।"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"फेस अनलक र फिंगरप्रिन्ट अनलक सेटअप गर्न तपाईंले पासवर्ड सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको डिभाइस हराएको वा चोरी भएको खण्डमा पासवर्डले उक्त डिभाइस सुरक्षित राख्छ।"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"फेस अनलक र फिंगरप्रिन्ट अनलक सेटअप गर्न तपाईंले PIN सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको फोन हराएको वा चोरी भएको खण्डमा PIN ले उक्त फोन सुरक्षित राख्छ।"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"फेस अनलक र फिंगरप्रिन्ट अनलक सेटअप गर्न तपाईंले प्याटर्न सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको फोन हराएको वा चोरी भएको खण्डमा प्याटर्नले उक्त फोन सुरक्षित राख्छ।"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"फेस अनलक र फिंगरप्रिन्ट अनलक सेटअप गर्न तपाईंले पासवर्ड सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको फोन हराएको वा चोरी भएको खण्डमा पासवर्डले उक्त फोन सुरक्षित राख्छ।"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"फिंगरप्रिन्ट अनलक र फेस अनलक सेटअप गर्न तपाईंले PIN सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको ट्याब्लेट हराएको वा चोरी भएको खण्डमा PIN ले उक्त ट्याब्लेट सुरक्षित राख्छ।"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"फिंगरप्रिन्ट अनलक र फेस अनलक सेटअप गर्न तपाईंले प्याटर्न सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको ट्याब्लेट हराएको वा चोरी भएको खण्डमा प्याटर्नले उक्त ट्याब्लेट सुरक्षित राख्छ।"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"फिंगरप्रिन्ट अनलक र फेस अनलक सेटअप गर्न तपाईंले पासवर्ड सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको ट्याब्लेट हराएको वा चोरी भएको खण्डमा पासवर्डले उक्त ट्याब्लेट सुरक्षित राख्छ।"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"फिंगरप्रिन्ट अनलक र फेस अनलक सेटअप गर्न तपाईंले PIN सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको डिभाइस हराएको वा चोरी भएको खण्डमा PIN ले उक्त डिभाइस सुरक्षित राख्छ।"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"फिंगरप्रिन्ट अनलक र फेस अनलक सेटअप गर्न तपाईंले प्याटर्न सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको डिभाइस हराएको वा चोरी भएको खण्डमा प्याटर्नले उक्त डिभाइस सुरक्षित राख्छ।"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"फिंगरप्रिन्ट अनलक र फेस अनलक सेटअप गर्न तपाईंले पासवर्ड सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको डिभाइस हराएको वा चोरी भएको खण्डमा पासवर्डले उक्त डिभाइस सुरक्षित राख्छ।"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"फिंगरप्रिन्ट अनलक र फेस अनलक सेटअप गर्न तपाईंले PIN सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको फोन हराएको वा चोरी भएको खण्डमा PIN ले उक्त फोन सुरक्षित राख्छ।"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"फिंगरप्रिन्ट अनलक र फेस अनलक सेटअप गर्न तपाईंले प्याटर्न सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको फोन हराएको वा चोरी भएको खण्डमा प्याटर्नले उक्त फोन सुरक्षित राख्छ।"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"फिंगरप्रिन्ट अनलक र फेस अनलक सेटअप गर्न तपाईंले पासवर्ड सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको फोन हराएको वा चोरी भएको खण्डमा पासवर्डले उक्त फोन सुरक्षित राख्छ।"</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"यो फिंगरप्रिन्ट मेटाइयो भने तपाईंको फोनमा भण्डारण गरिएका \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' सँग सम्बन्धित फिंगरप्रिन्टका फोटो र मोडेल मेटाइन्छन्"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"यो फिंगरप्रिन्ट मेटाइयो भने तपाईंको ट्याब्लेटमा भण्डारण गरिएका \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' सँग सम्बन्धित फिंगरप्रिन्टका फोटो र मोडेल मेटाइन्छन्"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"यो फिंगरप्रिन्ट मेटाइयो भने तपाईंको डिभाइसमा भण्डारण गरिएका \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' सँग सम्बन्धित फिंगरप्रिन्टका फोटो र मोडेल मेटाइन्छन्"</string>
diff --git a/res-product/values-nl/strings.xml b/res-product/values-nl/strings.xml
index bdd1ba5..ee1b141 100644
--- a/res-product/values-nl/strings.xml
+++ b/res-product/values-nl/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Je hebt een pincode nodig voor het instellen van Ontgrendelen via gezichtsherkenning.\n\nEen pincode beschermt de telefoon bij verlies of diefstal."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Je hebt een patroon nodig voor het instellen van Ontgrendelen via gezichtsherkenning.\n\nEen patroon beschermt de telefoon bij verlies of diefstal."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Je hebt een wachtwoord nodig voor het instellen van Ontgrendelen via gezichtsherkenning.\n\nEen wachtwoord beschermt de telefoon bij verlies of diefstal."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Je hebt een pincode nodig voor het instellen van Ontgrendelen via gezichtsherkenning en Ontgrendelen met vingerafdruk.\n\nEen pincode beschermt de tablet bij verlies of diefstal."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Je hebt een patroon nodig voor het instellen van Ontgrendelen via gezichtsherkenning en Ontgrendelen met vingerafdruk.\n\nEen patroon beschermt de tablet bij verlies of diefstal."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Je hebt een wachtwoord nodig voor het instellen van Ontgrendelen via gezichtsherkenning en Ontgrendelen met vingerafdruk.\n\nEen wachtwoord beschermt de tablet bij verlies of diefstal."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Je hebt een pincode nodig voor het instellen van Ontgrendelen via gezichtsherkenning en Ontgrendelen met vingerafdruk.\n\nEen pincode beschermt het apparaat bij verlies of diefstal."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Je hebt een patroon nodig voor het instellen van Ontgrendelen via gezichtsherkenning en Ontgrendelen met vingerafdruk.\n\nEen patroon beschermt het apparaat bij verlies of diefstal."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Je hebt een wachtwoord nodig voor het instellen van Ontgrendelen via gezichtsherkenning en Ontgrendelen met vingerafdruk.\n\nEen wachtwoord beschermt het apparaat bij verlies of diefstal."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Je hebt een pincode nodig voor het instellen van Ontgrendelen via gezichtsherkenning en Ontgrendelen met vingerafdruk.\n\nEen pincode beschermt de telefoon bij verlies of diefstal."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Je hebt een patroon nodig voor het instellen van Ontgrendelen via gezichtsherkenning en Ontgrendelen met vingerafdruk.\n\nEen patroon beschermt de telefoon bij verlies of diefstal."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Je hebt een wachtwoord nodig voor het instellen van Ontgrendelen via gezichtsherkenning en Ontgrendelen met vingerafdruk.\n\nEen wachtwoord beschermt de telefoon bij verlies of diefstal."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Je hebt een pincode nodig voor het instellen van Ontgrendelen met vingerafdruk en Ontgrendelen via gezichtsherkenning.\n\nEen pincode beschermt de tablet bij verlies of diefstal."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Je hebt een patroon nodig voor het instellen van Ontgrendelen met vingerafdruk en Ontgrendelen via gezichtsherkenning.\n\nEen patroon beschermt de tablet bij verlies of diefstal."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Je hebt een wachtwoord nodig voor het instellen van Ontgrendelen met vingerafdruk en Ontgrendelen via gezichtsherkenning.\n\nEen wachtwoord beschermt de tablet bij verlies of diefstal."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Je hebt een pincode nodig voor het instellen van Ontgrendelen met vingerafdruk en Ontgrendelen via gezichtsherkenning.\n\nEen pincode beschermt het apparaat bij verlies of diefstal."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Je hebt een patroon nodig voor het instellen van Ontgrendelen met vingerafdruk en Ontgrendelen via gezichtsherkenning.\n\nEen patroon beschermt het apparaat bij verlies of diefstal."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Je hebt een wachtwoord nodig voor het instellen van Ontgrendelen met vingerafdruk en Ontgrendelen via gezichtsherkenning.\n\nEen wachtwoord beschermt het apparaat bij verlies of diefstal."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Je hebt een pincode nodig voor het instellen van Ontgrendelen met vingerafdruk en Ontgrendelen via gezichtsherkenning.\n\nEen pincode beschermt de telefoon bij verlies of diefstal."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Je hebt een patroon nodig voor het instellen van Ontgrendelen met vingerafdruk en Ontgrendelen via gezichtsherkenning.\n\nEen patroon beschermt de telefoon bij verlies of diefstal."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Je hebt een wachtwoord nodig voor het instellen van Ontgrendelen met vingerafdruk en Ontgrendelen via gezichtsherkenning.\n\nEen wachtwoord beschermt de telefoon bij verlies of diefstal."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Hiermee verwijder je de afbeeldingen en het model van je vingerafdruk die aan <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> zijn gekoppeld en op je telefoon zijn opgeslagen"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Hiermee verwijder je de afbeeldingen en het model van je vingerafdruk die aan <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> zijn gekoppeld en op je tablet zijn opgeslagen"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Hiermee verwijder je de afbeeldingen en het model van je vingerafdruk die aan <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> zijn gekoppeld en op je apparaat zijn opgeslagen"</string>
diff --git a/res-product/values-or/strings.xml b/res-product/values-or/strings.xml
index 732f99a..3b8fb8a 100644
--- a/res-product/values-or/strings.xml
+++ b/res-product/values-or/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"ଫେସ୍ ଅନଲକ୍ ସେଟ୍ ଅପ୍ କରିବା ପାଇଁ ଏକ PIN ଆବଶ୍ୟକ।\n\nଯଦି ଫୋନଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ PIN ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"ଫେସ୍ ଅନଲକ୍ ସେଟ୍ ଅପ୍ କରିବା ପାଇଁ ଏକ ପାଟର୍ନ ଆବଶ୍ୟକ।\n\nଯଦି ଫୋନଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାଟର୍ନ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"ଫେସ୍ ଅନଲକ୍ ସେଟ୍ ଅପ୍ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଫୋନଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାସୱାର୍ଡ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"ଫେସ୍ ଅନଲକ୍ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ୍ ସେଟ୍ ଅପ୍ କରିବା ପାଇଁ ଏକ PIN ଆବଶ୍ୟକ।\n\nଯଦି ଟାବଲେଟଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ PIN ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"ଫେସ୍ ଅନଲକ୍ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ୍ ସେଟ୍ ଅପ୍ କରିବା ପାଇଁ ଏକ ପାଟର୍ନ ଆବଶ୍ୟକ।\n\nଯଦି ଟାବଲେଟଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାଟର୍ନ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"ଫେସ୍ ଅନଲକ୍ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ୍ ସେଟ୍ ଅପ୍ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଟାବଲେଟଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାସୱାର୍ଡ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"ଫେସ୍ ଅନଲକ୍ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ୍ ସେଟ୍ ଅପ୍ କରିବା ପାଇଁ ଏକ PIN ଆବଶ୍ୟକ।\n\nଯଦି ଡିଭାଇସଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ PIN ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"ଫେସ୍ ଅନଲକ୍ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ୍ ସେଟ୍ ଅପ୍ କରିବା ପାଇଁ ଏକ ପାଟର୍ନ ଆବଶ୍ୟକ।\n\nଯଦି ଡିଭାଇସଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାଟର୍ନ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"ଫେସ୍ ଅନଲକ୍ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ୍ ସେଟ୍ ଅପ୍ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଡିଭାଇସଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାସୱାର୍ଡ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"ଫେସ୍ ଅନଲକ୍ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ୍ ସେଟ୍ ଅପ୍ କରିବା ପାଇଁ ଏକ PIN ଆବଶ୍ୟକ।\n\nଯଦି ଫୋନଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ PIN ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"ଫେସ୍ ଅନଲକ୍ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ୍ ସେଟ୍ ଅପ୍ କରିବା ପାଇଁ ଏକ ପାଟର୍ନ ଆବଶ୍ୟକ।\n\nଯଦି ଫୋନଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାଟର୍ନ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"ଫେସ ଅନଲକ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ ସେଟ ଅପ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଫୋନଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏହି ପାସୱାର୍ଡ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ ଏବଂ ଫେସ ଅନଲକ ସେଟ ଅପ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଟାବଲେଟଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ PIN ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ ଏବଂ ଫେସ ଅନଲକ ସେଟ ଅପ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଟାବଲେଟଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାଟର୍ନ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ ଏବଂ ଫେସ ଅନଲକ ସେଟ ଅପ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଟାବଲେଟଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାସୱାର୍ଡ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ ଏବଂ ଫେସ ଅନଲକ ସେଟ ଅପ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଡିଭାଇସଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ PIN ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ ଏବଂ ଫେସ ଅନଲକ ସେଟ ଅପ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଡିଭାଇସଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାଟର୍ନ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ ଏବଂ ଫେସ ଅନଲକ ସେଟ ଅପ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଡିଭାଇସଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାସୱାର୍ଡ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ ଏବଂ ଫେସ ଅନଲକ ସେଟ ଅପ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଫୋନଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ PIN ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ ଏବଂ ଫେସ ଅନଲକ ସେଟ ଅପ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଫୋନଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାଟର୍ନ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ ଏବଂ ଫେସ ଅନଲକ ସେଟ ଅପ କରିବା ପାଇଁ ଏକ ପାସୱାର୍ଡ ଆବଶ୍ୟକ।\n\nଯଦି ଫୋନଟି ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାସୱାର୍ଡ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।"</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"ଏହା ଆପଣଙ୍କ ଫୋନରେ ଷ୍ଟୋର କରାଯାଇଥିବା \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ସହ ସମ୍ବନ୍ଧିତ ଟିପଚିହ୍ନର ଇମେଜ ଏବଂ ମଡେଲଗୁଡ଼ିକୁ ଡିଲିଟ କରେ"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"ଏହା ଆପଣଙ୍କ ଟାବଲେଟରେ ଷ୍ଟୋର କରାଯାଇଥିବା \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ସହ ସମ୍ବନ୍ଧିତ ଟିପଚିହ୍ନର ଇମେଜ ଏବଂ ମଡେଲଗୁଡ଼ିକୁ ଡିଲିଟ କରେ"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"ଏହା ଆପଣଙ୍କ ଡିଭାଇସରେ ଷ୍ଟୋର କରାଯାଇଥିବା \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ସହ ସମ୍ବନ୍ଧିତ ଟିପଚିହ୍ନର ଇମେଜ ଏବଂ ମଡେଲଗୁଡ଼ିକୁ ଡିଲିଟ କରେ"</string>
diff --git a/res-product/values-pa/strings.xml b/res-product/values-pa/strings.xml
index eb57ca7..546d2e0 100644
--- a/res-product/values-pa/strings.xml
+++ b/res-product/values-pa/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਿੰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਫ਼ੋਨ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਿੰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪੈਟਰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਫ਼ੋਨ ਦੇ ਗੁੰਮ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪੈਟਰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਾਸਵਰਡ ਲੋੜੀਂਦਾ ਹੈ।\n\nਫ਼ੋਨ ਦੇ ਗੁੰਮ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਾਸਵਰਡ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"ਫ਼ੇਸ ਅਣਲਾਕ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਿੰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਟੈਬਲੈੱਟ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਿੰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"ਫ਼ੇਸ ਅਣਲਾਕ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪੈਟਰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਟੈਬਲੈੱਟ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪੈਟਰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"ਫ਼ੇਸ ਅਣਲਾਕ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਾਸਵਰਡ ਲੋੜੀਂਦਾ ਹੈ।\n\nਟੈਬਲੈੱਟ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਾਸਵਰਡ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"ਫ਼ੇਸ ਅਣਲਾਕ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਿੰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਡੀਵਾਈਸ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਿੰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"ਫ਼ੇਸ ਅਣਲਾਕ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪੈਟਰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਡੀਵਾਈਸ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪੈਟਰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"ਫ਼ੇਸ ਅਣਲਾਕ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਾਸਵਰਡ ਲੋੜੀਂਦਾ ਹੈ।\n\nਡੀਵਾਈਸ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਾਸਵਰਡ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"ਫ਼ੇਸ ਅਣਲਾਕ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਿੰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਫ਼ੋਨ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਿੰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"ਫ਼ੇਸ ਅਣਲਾਕ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪੈਟਰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਫ਼ੋਨ ਦੇ ਗੁੰਮ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪੈਟਰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"ਫ਼ੇਸ ਅਣਲਾਕ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਾਸਵਰਡ ਲੋੜੀਂਦਾ ਹੈ।\n\nਫ਼ੋਨ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਾਸਵਰਡ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਅਤੇ ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਿੰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਟੈਬਲੈੱਟ ਦੇ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਿੰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਅਤੇ ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪੈਟਰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਟੈਬਲੈੱਟ ਦੇ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪੈਟਰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਅਤੇ ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਾਸਵਰਡ ਲੋੜੀਂਦਾ ਹੈ।\n\nਟੈਬਲੈੱਟ ਦੇ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਾਸਵਰਡ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਅਤੇ ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਿੰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਡੀਵਾਈਸ ਦੇ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਿੰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਅਤੇ ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪੈਟਰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਡੀਵਾਈਸ ਦੇ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪੈਟਰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਅਤੇ ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਾਸਵਰਡ ਲੋੜੀਂਦਾ ਹੈ।\n\nਡੀਵਾਈਸ ਦੇ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਾਸਵਰਡ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਅਤੇ ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਿੰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਫ਼ੋਨ ਦੇ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਿੰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਅਤੇ ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪੈਟਰਨ ਲੋੜੀਂਦਾ ਹੈ।\n\nਫ਼ੋਨ ਦੇ ਗੁੰਮ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪੈਟਰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਅਤੇ ਫ਼ੇਸ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਪਾਸਵਰਡ ਲੋੜੀਂਦਾ ਹੈ।\n\nਫ਼ੋਨ ਦੇ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਾਸਵਰਡ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।"</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"ਇਹ ਤੁਹਾਡੇ ਫ਼ੋਨ \'ਤੇ ਸਟੋਰ ਕੀਤੇ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ਨਾਲ ਸੰਬੰਧਿਤ ਫਿੰਗਰਪ੍ਰਿੰਟ ਚਿੱਤਰਾਂ ਅਤੇ ਮਾਡਲ ਨੂੰ ਮਿਟਾ ਦਿੰਦਾ ਹੈ"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"ਇਹ ਤੁਹਾਡੇ ਟੈਬਲੈੱਟ \'ਤੇ ਸਟੋਰ ਕੀਤੇ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ਨਾਲ ਸੰਬੰਧਿਤ ਫਿੰਗਰਪ੍ਰਿੰਟ ਚਿੱਤਰਾਂ ਅਤੇ ਮਾਡਲ ਨੂੰ ਮਿਟਾ ਦਿੰਦਾ ਹੈ"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"ਇਹ ਤੁਹਾਡੇ ਡੀਵਾਈਸ \'ਤੇ ਸਟੋਰ ਕੀਤੇ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ਨਾਲ ਸੰਬੰਧਿਤ ਫਿੰਗਰਪ੍ਰਿੰਟ ਚਿੱਤਰਾਂ ਅਤੇ ਮਾਡਲ ਨੂੰ ਮਿਟਾ ਦਿੰਦੀ ਹੈ"</string>
diff --git a/res-product/values-pl/strings.xml b/res-product/values-pl/strings.xml
index 198cc31..67be811 100644
--- a/res-product/values-pl/strings.xml
+++ b/res-product/values-pl/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Do skonfigurowania rozpoznawania twarzy wymagany jest kod PIN.\n\nKod PIN ochroni telefon, jeśli zostanie zgubiony lub skradziony."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Do skonfigurowania rozpoznawania twarzy wymagany jest wzór.\n\nWzór ochroni telefon, jeśli zostanie zgubiony lub skradziony."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Do skonfigurowania rozpoznawania twarzy wymagane jest hasło.\n\nHasło ochroni telefon, jeśli zostanie zgubiony lub skradziony."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Do skonfigurowania rozpoznawania twarzy i odblokowywania odciskiem palca wymagany jest kod PIN.\n\nKod PIN ochroni tablet, jeśli zostanie zgubiony lub skradziony."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Do skonfigurowania rozpoznawania twarzy i odblokowywania odciskiem palca wymagany jest wzór.\n\nWzór ochroni tablet, jeśli zostanie zgubiony lub skradziony."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Do skonfigurowania rozpoznawania twarzy i odblokowywania odciskiem palca wymagane jest hasło.\n\nHasło ochroni tablet, jeśli zostanie zgubiony lub skradziony."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Do skonfigurowania rozpoznawania twarzy i odblokowywania odciskiem palca wymagany jest kod PIN.\n\nKod PIN ochroni urządzenie, jeśli zostanie zgubione lub skradzione."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Do skonfigurowania rozpoznawania twarzy i odblokowywania odciskiem palca wymagany jest wzór.\n\nWzór ochroni urządzenie, jeśli zostanie zgubione lub skradzione."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Do skonfigurowania rozpoznawania twarzy i odblokowywania odciskiem palca wymagane jest hasło.\n\nHasło ochroni urządzenie, jeśli zostanie zgubione lub skradzione."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Do skonfigurowania rozpoznawania twarzy i odblokowywania odciskiem palca wymagany jest kod PIN.\n\nKod PIN ochroni telefon, jeśli zostanie zgubiony lub skradziony."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Do skonfigurowania rozpoznawania twarzy i odblokowywania odciskiem palca wymagany jest wzór.\n\nWzór ochroni telefon, jeśli zostanie zgubiony lub skradziony."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Do skonfigurowania rozpoznawania twarzy i odblokowywania odciskiem palca wymagane jest hasło.\n\nHasło ochroni telefon, jeśli zostanie zgubiony lub skradziony."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Do skonfigurowania odblokowywania odciskiem palca i rozpoznawania twarzy wymagany jest kod PIN.\n\nKod PIN ochroni tablet, jeśli zostanie zgubiony lub skradziony."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Do skonfigurowania odblokowywania odciskiem palca i rozpoznawania twarzy wymagany jest wzór.\n\nWzór ochroni tablet, jeśli zostanie zgubiony lub skradziony."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Do skonfigurowania odblokowywania odciskiem palca i rozpoznawania twarzy wymagane jest hasło.\n\nHasło ochroni tablet, jeśli zostanie zgubiony lub skradziony."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Do skonfigurowania odblokowywania odciskiem palca i rozpoznawania twarzy wymagany jest kod PIN.\n\nKod PIN ochroni urządzenie, jeśli zostanie zgubione lub skradzione."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Do skonfigurowania odblokowywania odciskiem palca i rozpoznawania twarzy wymagany jest wzór.\n\nWzór ochroni urządzenie, jeśli zostanie zgubione lub skradzione."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Do skonfigurowania odblokowywania odciskiem palca i rozpoznawania twarzy wymagane jest hasło.\n\nHasło ochroni urządzenie, jeśli zostanie zgubione lub skradzione."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Do skonfigurowania odblokowywania odciskiem palca i rozpoznawania twarzy wymagany jest kod PIN.\n\nKod PIN ochroni telefon, jeśli zostanie zgubiony lub skradziony."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Do skonfigurowania odblokowywania odciskiem palca i rozpoznawania twarzy wymagany jest wzór.\n\nWzór ochroni telefon, jeśli zostanie zgubiony lub skradziony."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Do skonfigurowania odblokowywania odciskiem palca i rozpoznawania twarzy wymagane jest hasło.\n\nHasło ochroni telefon, jeśli zostanie zgubiony lub skradziony."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Ta czynność usuwa zapisane na telefonie obrazy i model odcisku palca powiązane z identyfikatorem „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”."</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Ta czynność usuwa zapisane na tablecie obrazy i model odcisku palca powiązane z identyfikatorem „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Ta czynność usuwa zapisane na urządzeniu obrazy i model odcisku palca powiązane z identyfikatorem „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”"</string>
diff --git a/res-product/values-pt-rBR/strings.xml b/res-product/values-pt-rBR/strings.xml
index 6f4c0f3..79b14c4 100644
--- a/res-product/values-pt-rBR/strings.xml
+++ b/res-product/values-pt-rBR/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Você precisa usar um PIN para poder configurar o Desbloqueio facial.\n\nO uso de um PIN protege o smartphone em caso de perda ou roubo."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Você precisa usar um padrão para poder configurar o Desbloqueio facial.\n\nO uso de um padrão protege o smartphone em caso de perda ou roubo."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Você precisa usar uma senha para poder configurar o Desbloqueio facial.\n\nO uso de uma senha protege o smartphone em caso de perda ou roubo."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Você precisa usar um PIN para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um PIN protege o tablet em caso de perda ou roubo."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Você precisa usar um padrão para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um padrão protege o tablet em caso de perda ou roubo."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Você precisa usar uma senha para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de uma senha protege o tablet em caso de perda ou roubo."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Você precisa usar um PIN para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um PIN protege o dispositivo em caso de perda ou roubo."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Você precisa usar um padrão para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um padrão protege o dispositivo em caso de perda ou roubo."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Você precisa usar uma senha para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de uma senha protege o dispositivo em caso de perda ou roubo."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Você precisa usar um PIN para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um PIN protege o smartphone em caso de perda ou roubo."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Você precisa usar um padrão para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um padrão protege o smartphone em caso de perda ou roubo."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Você precisa usar uma senha para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de uma senha protege o smartphone em caso de perda ou roubo."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Você precisa usar um PIN para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um PIN protege o tablet em caso de perda ou roubo."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Você precisa usar um padrão para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um padrão protege o tablet em caso de perda ou roubo."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Você precisa usar uma senha para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de uma senha protege o tablet em caso de perda ou roubo."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Você precisa usar um PIN para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um PIN protege o dispositivo em caso de perda ou roubo."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Você precisa usar um padrão para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um padrão protege o dispositivo em caso de perda ou roubo."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Você precisa usar uma senha para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de uma senha protege o dispositivo em caso de perda ou roubo."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Você precisa usar um PIN para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um PIN protege o smartphone em caso de perda ou roubo."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Você precisa usar um padrão para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um padrão protege o smartphone em caso de perda ou roubo."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Você precisa usar uma senha para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de uma senha protege o smartphone em caso de perda ou roubo."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Essa ação exclui as imagens e o modelo de impressão digital associados a \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que estão armazenados no seu smartphone"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Essa ação exclui as imagens e o modelo de impressão digital associados a \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que estão armazenados no seu tablet"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Essa ação exclui as imagens e o modelo de impressão digital associados a \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que estão armazenados no seu dispositivo"</string>
diff --git a/res-product/values-pt-rPT/strings.xml b/res-product/values-pt-rPT/strings.xml
index 4c9f391..75795e0 100644
--- a/res-product/values-pt-rPT/strings.xml
+++ b/res-product/values-pt-rPT/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"É necessário um PIN para configurar o Desbloqueio facial.\n\nUm PIN protege o telemóvel em caso de perda ou roubo."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"É necessário um padrão para configurar o Desbloqueio facial.\n\nUm padrão protege o telemóvel em caso de perda ou roubo."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"É necessária uma palavra-passe para configurar o Desbloqueio facial.\n\nUma palavra-passe protege o telemóvel em caso de perda ou roubo."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"É necessário um PIN para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm PIN protege o tablet em caso de perda ou roubo."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"É necessário um padrão para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm padrão protege o tablet em caso de perda ou roubo."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"É necessária uma palavra-passe para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUma palavra-passe protege o tablet em caso de perda ou roubo."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"É necessário um PIN para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm PIN protege o dispositivo em caso de perda ou roubo."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"É necessário um padrão para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm padrão protege o dispositivo em caso de perda ou roubo."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"É necessária uma palavra-passe para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUma palavra-passe protege o dispositivo em caso de perda ou roubo."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"É necessário um PIN para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm PIN protege o telemóvel em caso de perda ou roubo."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"É necessário um padrão para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm padrão protege o telemóvel em caso de perda ou roubo."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"É necessária uma palavra-passe para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUma palavra-passe protege o telemóvel em caso de perda ou roubo."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"É necessário um PIN para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm PIN protege o tablet em caso de perda ou roubo."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"É necessário um padrão para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm padrão protege o tablet em caso de perda ou roubo."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"É necessária uma palavra-passe para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUma palavra-passe protege o tablet em caso de perda ou roubo."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"É necessário um PIN para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm PIN protege o dispositivo em caso de perda ou roubo."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"É necessário um padrão para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm padrão protege o dispositivo em caso de perda ou roubo."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"É necessária uma palavra-passe para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUma palavra-passe protege o dispositivo em caso de perda ou roubo."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"É necessário um PIN para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm PIN protege o telemóvel em caso de perda ou roubo."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"É necessário um padrão para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUm padrão protege o telemóvel em caso de perda ou roubo."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"É necessária uma palavra-passe para configurar o Desbloqueio facial e o Desbloqueio por impressão digital.\n\nUma palavra-passe protege o telemóvel em caso de perda ou roubo."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Esta ação elimina as imagens da impressão digital e o modelo associado ao \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que estão armazenados no telemóvel"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Esta ação elimina as imagens da impressão digital e o modelo associado ao \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que estão armazenados no tablet"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Esta ação elimina as imagens da impressão digital e o modelo associado ao \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que estão armazenados no dispositivo"</string>
diff --git a/res-product/values-pt/strings.xml b/res-product/values-pt/strings.xml
index 6f4c0f3..79b14c4 100644
--- a/res-product/values-pt/strings.xml
+++ b/res-product/values-pt/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Você precisa usar um PIN para poder configurar o Desbloqueio facial.\n\nO uso de um PIN protege o smartphone em caso de perda ou roubo."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Você precisa usar um padrão para poder configurar o Desbloqueio facial.\n\nO uso de um padrão protege o smartphone em caso de perda ou roubo."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Você precisa usar uma senha para poder configurar o Desbloqueio facial.\n\nO uso de uma senha protege o smartphone em caso de perda ou roubo."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Você precisa usar um PIN para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um PIN protege o tablet em caso de perda ou roubo."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Você precisa usar um padrão para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um padrão protege o tablet em caso de perda ou roubo."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Você precisa usar uma senha para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de uma senha protege o tablet em caso de perda ou roubo."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Você precisa usar um PIN para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um PIN protege o dispositivo em caso de perda ou roubo."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Você precisa usar um padrão para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um padrão protege o dispositivo em caso de perda ou roubo."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Você precisa usar uma senha para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de uma senha protege o dispositivo em caso de perda ou roubo."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Você precisa usar um PIN para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um PIN protege o smartphone em caso de perda ou roubo."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Você precisa usar um padrão para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de um padrão protege o smartphone em caso de perda ou roubo."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Você precisa usar uma senha para poder configurar o Desbloqueio facial e por impressão digital.\n\nO uso de uma senha protege o smartphone em caso de perda ou roubo."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Você precisa usar um PIN para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um PIN protege o tablet em caso de perda ou roubo."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Você precisa usar um padrão para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um padrão protege o tablet em caso de perda ou roubo."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Você precisa usar uma senha para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de uma senha protege o tablet em caso de perda ou roubo."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Você precisa usar um PIN para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um PIN protege o dispositivo em caso de perda ou roubo."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Você precisa usar um padrão para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um padrão protege o dispositivo em caso de perda ou roubo."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Você precisa usar uma senha para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de uma senha protege o dispositivo em caso de perda ou roubo."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Você precisa usar um PIN para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um PIN protege o smartphone em caso de perda ou roubo."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Você precisa usar um padrão para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de um padrão protege o smartphone em caso de perda ou roubo."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Você precisa usar uma senha para poder configurar o \"Desbloqueio por impressão digital\" e o \"Desbloqueio facial\".\n\nO uso de uma senha protege o smartphone em caso de perda ou roubo."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Essa ação exclui as imagens e o modelo de impressão digital associados a \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que estão armazenados no seu smartphone"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Essa ação exclui as imagens e o modelo de impressão digital associados a \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que estão armazenados no seu tablet"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Essa ação exclui as imagens e o modelo de impressão digital associados a \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" que estão armazenados no seu dispositivo"</string>
diff --git a/res-product/values-ro/strings.xml b/res-product/values-ro/strings.xml
index 0b5d920..597f058 100644
--- a/res-product/values-ro/strings.xml
+++ b/res-product/values-ro/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Pentru a configura Deblocarea facială, este necesar un PIN.\n\nPIN-ul îți protejează telefonul dacă este pierdut sau furat."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Pentru a configura Deblocarea facială, este necesar un model.\n\nModelul îți protejează telefonul dacă este pierdut sau furat."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Pentru a configura Deblocarea facială, este necesară o parolă.\n\nParola îți protejează telefonul dacă este pierdut sau furat."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Pentru a configura Deblocarea facială și Deblocarea cu amprenta, este necesar un PIN.\n\nPIN-ul îți protejează tableta dacă este pierdută sau furată."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Pentru a configura Deblocarea facială și Deblocarea cu amprenta, este necesar un model.\n\nModelul îți protejează tableta dacă este pierdută sau furată."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Pentru a configura Deblocarea facială și Deblocarea cu amprenta, este necesară o parolă.\n\nParola îți protejează tableta dacă este pierdută sau furată."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Pentru a configura Deblocarea facială și Deblocarea cu amprenta, este necesar un PIN.\n\nPIN-ul îți protejează dispozitivul dacă este pierdut sau furat."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Pentru a configura Deblocarea facială și Deblocarea cu amprenta, este necesar un model.\n\nModelul îți protejează dispozitivul dacă este pierdut sau furat."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Pentru a configura Deblocarea facială și Deblocarea cu amprenta, este necesară o parolă.\n\nParola îți protejează dispozitivul dacă este pierdut sau furat."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Pentru a configura Deblocarea facială și Deblocarea cu amprenta, este necesar un PIN.\n\nPIN-ul îți protejează telefonul dacă este pierdut sau furat."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Pentru a configura Deblocarea facială și Deblocarea cu amprenta, este necesar un model.\n\nModelul îți protejează telefonul dacă este pierdut sau furat."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Pentru a configura Deblocarea facială și Deblocarea cu amprenta, este necesară o parolă.\n\nParola îți protejează telefonul dacă este pierdut sau furat."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Pentru a configura Deblocarea cu amprenta și Deblocarea facială, este necesar un PIN.\n\nPIN-ul îți protejează tableta dacă este pierdută sau furată."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Pentru a configura Deblocarea cu amprenta și Deblocarea facială, este necesar un model.\n\nModelul îți protejează tableta dacă este pierdută sau furată."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Pentru a configura Deblocarea cu amprenta și Deblocarea facială, este necesară o parolă.\n\nParola îți protejează tableta dacă este pierdută sau furată."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Pentru a configura Deblocarea cu amprenta și Deblocarea facială, este necesar un PIN.\n\nPIN-ul îți protejează dispozitivul dacă este pierdut sau furat."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Pentru a configura Deblocarea cu amprenta și Deblocarea facială, este necesar un model.\n\nModelul îți protejează dispozitivul dacă este pierdut sau furat."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Pentru a configura Deblocarea cu amprenta și Deblocarea facială, este necesară o parolă.\n\nParola îți protejează dispozitivul dacă este pierdut sau furat."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Pentru a configura Deblocarea cu amprenta și Deblocarea facială, este necesar un PIN.\n\nPIN-ul îți protejează telefonul dacă este pierdut sau furat."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Pentru a configura Deblocarea cu amprenta și Deblocarea facială, este necesar un model.\n\nModelul îți protejează telefonul dacă este pierdut sau furat."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Pentru a configura Deblocarea cu amprenta și Deblocarea facială, este necesară o parolă.\n\nParola îți protejează telefonul dacă este pierdut sau furat."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Astfel, imaginile amprentelor și modelul de amprentă asociate cu <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> stocate pe telefon vor fi șterse"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Astfel, imaginile amprentelor și modelul de amprentă asociate cu <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> stocate pe tabletă vor fi șterse"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Astfel, imaginile amprentelor și modelul de amprentă asociate cu <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> stocate pe acest dispozitiv vor fi șterse"</string>
diff --git a/res-product/values-ru/strings.xml b/res-product/values-ru/strings.xml
index f6d3ebb..cc7f255 100644
--- a/res-product/values-ru/strings.xml
+++ b/res-product/values-ru/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Чтобы настроить фейсконтроль, нужен PIN-код.\n\nОн защитит данные в случае потери или кражи телефона."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Чтобы настроить фейсконтроль, нужен графический ключ.\n\nОн защитит данные в случае потери или кражи телефона."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Чтобы настроить фейсконтроль, нужен пароль.\n\nОн защитит данные в случае потери или кражи телефона."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен PIN-код.\n\nОн защитит данные в случае потери или кражи планшета."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен графический ключ.\n\nОн защитит данные в случае потери или кражи планшета."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен пароль.\n\nОн защитит данные в случае потери или кражи планшета."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен PIN-код.\n\nОн защитит данные в случае потери или кражи устройства."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен графический ключ.\n\nОн защитит данные в случае потери или кражи устройства."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен пароль.\n\nОн защитит данные в случае потери или кражи устройства."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен PIN-код.\n\nОн защитит данные в случае потери или кражи телефона."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен графический ключ.\n\nОн защитит данные в случае потери или кражи телефона."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен пароль.\n\nОн защитит данные в случае потери или кражи телефона."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен PIN-код.\n\nОн защитит данные в случае потери или кражи планшета."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен графический ключ.\n\nОн защитит данные в случае потери или кражи планшета."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен пароль.\n\nОн защитит данные в случае потери или кражи планшета."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен PIN-код.\n\nОн защитит данные в случае потери или кражи устройства."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен графический ключ.\n\nОн защитит данные в случае потери или кражи устройства."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен пароль.\n\nОн защитит данные в случае потери или кражи устройства."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен PIN-код.\n\nОн защитит данные в случае потери или кражи телефона."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен графический ключ.\n\nОн защитит данные в случае потери или кражи телефона."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Чтобы настроить фейсконтроль и разблокировку по отпечатку пальца, нужен пароль.\n\nОн защитит данные в случае потери или кражи телефона."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Изображения и модель отпечатка \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" будут удалены с телефона."</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Изображения и модель отпечатка \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" будут удалены с планшета"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Изображения и модель отпечатка \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" будут удалены с устройства"</string>
diff --git a/res-product/values-si/strings.xml b/res-product/values-si/strings.xml
index e766758..97177f1 100644
--- a/res-product/values-si/strings.xml
+++ b/res-product/values-si/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"මුහුණෙන් අගුළු හැරීම පිහිටුවීමට PIN එකක් අවශ්යයි.\n\nPIN එකක් දුරකථනය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"මුහුණෙන් අගුළු හැරීම පිහිටුවීමට රටාවක් අවශ්යයි.\n\nරටාවක් දුරකථනය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"මුහුණෙන් අගුළු හැරීම පිහිටුවීමට මුරපදයක් අවශ්යයි.\n\nමුරපදයක් දුරකථනය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"මුහුණෙන් අගුළු හැරීම සහ ඇඟිලි සලකුණු අගුලු හැරීම පිහිටුවීමට PIN එකක් අවශ්යයි.\n\nPIN එකක් ටැබ්ලටය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"මුහුණෙන් අගුළු හැරීම සහ ඇඟිලි සලකුණු අගුලු හැරීම පිහිටුවීමට රටාවක් අවශ්යයි.\n\nරටාවක් ටැබ්ලටය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"මුහුණෙන් අගුළු හැරීම සහ ඇඟිලි සලකුණු අගුලු හැරීම පිහිටුවීමට මුරපදයක් අවශ්යයි.\n\nමුරපදයක් ටැබ්ලටය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"මුහුණෙන් අගුළු හැරීම සහ ඇඟිලි සලකුණු අගුලු හැරීම පිහිටුවීමට PIN එකක් අවශ්යයි.\n\nPIN එකක් උපාංගය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"මුහුණෙන් අගුළු හැරීම සහ ඇඟිලි සලකුණු අගුලු හැරීම පිහිටුවීමට රටාවක් අවශ්යයි.\n\nරටාවක් උපාංගය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"මුහුණෙන් අගුළු හැරීම සහ ඇඟිලි සලකුණු අගුලු හැරීම පිහිටුවීමට මුරපදයක් අවශ්යයි.\n\nමුරපදයක් උපාංගය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"මුහුණෙන් අගුළු හැරීම සහ ඇඟිලි සලකුණු අගුලු හැරීම පිහිටුවීමට PIN එකක් අවශ්යයි.\n\nPIN එකක් දුරකථනය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"මුහුණෙන් අගුළු හැරීම සහ ඇඟිලි සලකුණු අගුලු හැරීම පිහිටුවීමට රටාවක් අවශ්යයි.\n\nරටාවක් දුරකථනය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"මුහුණෙන් අගුළු හැරීම සහ ඇඟිලි සලකුණු අගුලු හැරීම පිහිටුවීමට මුරපදයක් අවශ්යයි.\n\nමුරපදයක් දුරකථනය නැති වුවහොත් හෝ සොරකම් කළහොත් එය ආරක්ෂා කරයි."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"ඇඟිලි සලකුණු අගුළු හැරීම සහ මුහුණෙන් අගුළු හැරීම පිහිටුවීමට මුරපදයක් අවශ්යයි.\n\nPIN එකක් ටැබ්ලටය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"ඇඟිලි සලකුණු අගුළු හැරීම සහ මුහුණෙන් අගුළු හැරීම පිහිටුවීමට මුරපදයක් අවශ්යයි.\n\nරටාවක් ටැබ්ලටය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"ඇඟිලි සලකුණු අගුළු හැරීම සහ මුහුණෙන් අගුළු හැරීම පිහිටුවීමට මුරපදයක් අවශ්යයි.\n\nමුරපදයක් ටැබ්ලටය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"ඇඟිලි සලකුණු අගුළු හැරීම සහ මුහුණෙන් අගුළු හැරීම පිහිටුවීමට මුරපදයක් අවශ්යයි.\n\nPIN එකක් උපාංගය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"ඇඟිලි සලකුණු අගුළු හැරීම සහ මුහුණෙන් අගුළු හැරීම පිහිටුවීමට මුරපදයක් අවශ්යයි.\n\nරටාවක් උපාංගය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"ඇඟිලි සලකුණු අගුළු හැරීම සහ මුහුණෙන් අගුළු හැරීම පිහිටුවීමට මුරපදයක් අවශ්යයි.\n\nමුරපදයක් උපාංගය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"ඇඟිලි සලකුණු අගුළු හැරීම සහ මුහුණෙන් අගුළු හැරීම පිහිටුවීමට මුරපදයක් අවශ්යයි.\n\nPIN එකක් දුරකථනය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"ඇඟිලි සලකුණු අගුළු හැරීම සහ මුහුණෙන් අගුළු හැරීම පිහිටුවීමට මුරපදයක් අවශ්යයි.\n\nරටාවක් දුරකථනය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"ඇඟිලි සලකුණු අගුළු හැරීම සහ මුහුණෙන් අගුළු හැරීම පිහිටුවීමට මුරපදයක් අවශ්යයි.\n\nමුරපදයක් දුරකථනය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"මෙය ඔබේ දුරකථනයෙහි ගබඩා වී ඇති ඇඟිලි සලකුණු රූප සහ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' සමග ආශ්රිත ආකෘතිය මකයි"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"මෙය ඔබේ ටැබ්ලටයෙහි ගබඩා වී ඇති ඇඟිලි සලකුණු රූප සහ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' සමග ආශ්රිත ආකෘතිය මකයි"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"මෙය ඔබගේ උපාංගයෙහි ගබඩා වී ඇති ඇඟිලි සලකුණු රූප සහ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' හා ආශ්රිත මාදිලි මකයි"</string>
diff --git a/res-product/values-sk/strings.xml b/res-product/values-sk/strings.xml
index 8cf56de..2ccac36 100644
--- a/res-product/values-sk/strings.xml
+++ b/res-product/values-sk/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Na nastavenie odomknutia tvárou sa vyžaduje PIN.\n\nPIN chráni telefón v prípade jeho straty alebo odcudzenia."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Na nastavenie odomknutia tvárou sa vyžaduje vzor.\n\nVzor chráni telefón v prípade jeho straty alebo odcudzenia."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Na nastavenie odomknutia tvárou sa vyžaduje heslo.\n\nHeslo chráni telefón v prípade jeho straty alebo odcudzenia."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Na nastavenie odomknutia tvárou a odtlačkom prsta sa vyžaduje PIN.\n\nPIN chráni tablet v prípade jeho straty alebo odcudzenia."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Na nastavenie odomknutia tvárou a odtlačkom prsta sa vyžaduje vzor.\n\nVzor chráni tablet v prípade jeho straty alebo odcudzenia."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Na nastavenie odomknutia tvárou a odtlačkom prsta sa vyžaduje heslo.\n\nHeslo chráni tablet v prípade jeho straty alebo odcudzenia."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Na nastavenie odomknutia tvárou a odtlačkom prsta sa vyžaduje PIN.\n\nPIN chráni zariadenie v prípade jeho straty alebo odcudzenia."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Na nastavenie odomknutia tvárou a odtlačkom prsta sa vyžaduje vzor.\n\nVzor chráni zariadenie v prípade jeho straty alebo odcudzenia."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Na nastavenie odomknutia tvárou a odtlačkom prsta sa vyžaduje heslo.\n\nHeslo chráni zariadenie v prípade jeho straty alebo odcudzenia."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Na nastavenie odomknutia tvárou a odtlačkom prsta sa vyžaduje PIN.\n\nPIN chráni telefón v prípade jeho straty alebo odcudzenia."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Na nastavenie odomknutia tvárou a odtlačkom prsta sa vyžaduje vzor.\n\nVzor chráni telefón v prípade jeho straty alebo odcudzenia."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Na nastavenie odomknutia tvárou a odtlačkom prsta sa vyžaduje heslo.\n\nHeslo chráni telefón v prípade jeho straty alebo odcudzenia."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Na nastavenie odomknutia odtlačkom prsta alebo tvárou sa vyžaduje PIN.\n\nPIN chráni tablet v prípade jeho straty alebo odcudzenia."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Na nastavenie odomknutia odtlačkom prsta alebo tvárou sa vyžaduje vzor.\n\nVzor chráni tablet v prípade jeho straty alebo odcudzenia."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Na nastavenie odomknutia odtlačkom prsta alebo tvárou sa vyžaduje heslo.\n\nHeslo chráni tablet v prípade jeho straty alebo odcudzenia."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Na nastavenie odomknutia odtlačkom prsta alebo tvárou sa vyžaduje PIN.\n\nPIN chráni zariadenie v prípade jeho straty alebo odcudzenia."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Na nastavenie odomknutia odtlačkom prsta alebo tvárou sa vyžaduje vzor.\n\nVzor chráni zariadenie v prípade jeho straty alebo odcudzenia."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Na nastavenie odomknutia odtlačkom prsta a tvárou sa vyžaduje heslo.\n\nHeslo chráni zariadenie v prípade jeho straty alebo odcudzenia."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Na nastavenie odomknutia odtlačkom prsta alebo tvárou sa vyžaduje PIN.\n\nPIN chráni telefón v prípade jeho straty alebo odcudzenia."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Na nastavenie odomknutia odtlačkom prsta alebo tvárou sa vyžaduje vzor.\n\nVzor chráni telefón v prípade jeho straty alebo odcudzenia."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Na nastavenie odomknutia odtlačkom prsta alebo tvárou sa vyžaduje heslo.\n\nHeslo chráni telefón v prípade jeho straty alebo odcudzenia."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Týmto odstránite snímky a model odtlačku prsta „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“, ktoré sú uložené vo vašom telefóne."</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Týmto odstránite snímky a model odtlačku prsta „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“, ktoré sú uložené vo vašom tablete"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Týmto odstránite snímky a model odtlačku prsta „<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>“, ktoré sú uložené vo vašom zariadení"</string>
diff --git a/res-product/values-sl/strings.xml b/res-product/values-sl/strings.xml
index 248e278..e51fa9b 100644
--- a/res-product/values-sl/strings.xml
+++ b/res-product/values-sl/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Za nastavitev odklepanja z obrazom je potrebna koda PIN.\n\nKoda PIN ščiti telefon, če ga izgubite ali vam ga ukradejo."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Za nastavitev odklepanja z obrazom je potreben vzorec.\n\nVzorec ščiti telefon, če ga izgubite ali vam ga ukradejo."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Za nastavitev odklepanja z obrazom je potrebno geslo.\n\nGeslo ščiti telefon, če ga izgubite ali vam ga ukradejo."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Za nastavitev odklepanja z obrazom in prstnim odtisom je potrebna koda PIN.\n\nKoda PIN ščiti tablični računalnik, če ga izgubite ali vam ga ukradejo."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Za nastavitev odklepanja z obrazom in prstnim odtisom je potreben vzorec.\n\nVzorec ščiti tablični računalnik, če ga izgubite ali vam ga ukradejo."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Za nastavitev odklepanja z obrazom in prstnim odtisom je potrebno geslo.\n\nGeslo ščiti tablični računalnik, če ga izgubite ali vam ga ukradejo."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Za nastavitev odklepanja z obrazom in prstnim odtisom je potrebna koda PIN.\n\nKoda PIN ščiti napravo, če jo izgubite ali vam jo ukradejo."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Za nastavitev odklepanja z obrazom in prstnim odtisom je potreben vzorec.\n\nVzorec ščiti napravo, če jo izgubite ali vam jo ukradejo."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Za nastavitev odklepanja z obrazom in prstnim odtisom je potrebno geslo.\n\nGeslo ščiti napravo, če jo izgubite ali vam jo ukradejo."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Za nastavitev odklepanja z obrazom in prstnim odtisom je potrebna koda PIN.\n\nKoda PIN ščiti telefon, če ga izgubite ali vam ga ukradejo."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Za nastavitev odklepanja z obrazom in prstnim odtisom je potreben vzorec.\n\nVzorec ščiti telefon, če ga izgubite ali vam ga ukradejo."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Za nastavitev odklepanja z obrazom in prstnim odtisom je potrebno geslo.\n\nGeslo ščiti telefon, če ga izgubite ali vam ga ukradejo."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Za nastavitev odklepanja s prstnim odtisom in odklepanja z obrazom je potrebna koda PIN.\n\nKoda PIN ščiti tablični računalnik, če ga izgubite ali vam ga ukradejo."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Za nastavitev odklepanja s prstnim odtisom in odklepanja z obrazom je potreben vzorec.\n\nVzorec ščiti tablični računalnik, če ga izgubite ali vam ga ukradejo."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Za nastavitev odklepanja s prstnim odtisom in odklepanja z obrazom je potrebno geslo.\n\nGeslo ščiti tablični računalnik, če ga izgubite ali vam ga ukradejo."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Za nastavitev odklepanja s prstnim odtisom in odklepanja z obrazom je potrebna koda PIN.\n\nKoda PIN ščiti napravo, če jo izgubite ali vam jo ukradejo."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Za nastavitev odklepanja s prstnim odtisom in odklepanja z obrazom je potreben vzorec.\n\nVzorec ščiti napravo, če jo izgubite ali vam jo ukradejo."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Za nastavitev odklepanja s prstnim odtisom in odklepanja z obrazom je potrebno geslo.\n\nGeslo ščiti napravo, če jo izgubite ali vam jo ukradejo."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Za nastavitev odklepanja s prstnim odtisom in odklepanja z obrazom je potrebna koda PIN.\n\nKoda PIN ščiti telefon, če ga izgubite ali vam ga ukradejo."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Za nastavitev odklepanja s prstnim odtisom in odklepanja z obrazom je potreben vzorec.\n\nVzorec ščiti telefon, če ga izgubite ali vam ga ukradejo."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Za nastavitev odklepanja s prstnim odtisom in odklepanja z obrazom je potrebno geslo.\n\nGeslo ščiti telefon, če ga izgubite ali vam ga ukradejo."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"S tem boste izbrisali v telefonu shranjene slike in model prstnega odtisa, povezane z odtisom »<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>«"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"S tem boste izbrisali v tabličnem računalniku shranjene slike in model prstnega odtisa, povezane z odtisom »<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>«"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"S tem boste izbrisali v napravi shranjene slike in model prstnega odtisa, povezan z odtisom »<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>«"</string>
diff --git a/res-product/values-sq/strings.xml b/res-product/values-sq/strings.xml
index 216751f..3f44329 100644
--- a/res-product/values-sq/strings.xml
+++ b/res-product/values-sq/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Kërkohet një kod PIN për të konfiguruar \"Shkyçjen me fytyrë\".\n\nKodi PIN e mbron telefonin nëse të humbet apo ta vjedhin."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Kërkohet një motiv për të konfiguruar \"Shkyçjen me fytyrë\".\n\nMotivi e mbron telefonin nëse të humbet apo ta vjedhin."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Kërkohet një fjalëkalim për të konfiguruar \"Shkyçjen me fytyrë\".\n\nFjalëkalimi e mbron telefonin nëse të humbet apo ta vjedhin."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Kërkohet një kod PIN për të konfiguruar \"Shkyçjen me fytyrë\" dhe \"Shkyçjen me gjurmën e gishtit\".\n\nKodi PIN e mbron tabletin nëse të humbet apo ta vjedhin."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Kërkohet një motiv për të konfiguruar \"Shkyçjen me fytyrë\" dhe \"Shkyçjen me gjurmën e gishtit\".\n\nMotivi e mbron tabletin nëse të humbet apo ta vjedhin."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Kërkohet një fjalëkalim për të konfiguruar \"Shkyçjen me fytyrë\" dhe \"Shkyçjen me gjurmën e gishtit\".\n\nFjalëkalimi e mbron tabletin nëse të humbet apo ta vjedhin."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Kërkohet një kod PIN për të konfiguruar \"Shkyçjen me fytyrë\" dhe \"Shkyçjen me gjurmën e gishtit\".\n\nKodi PIN e mbron pajisjen nëse të humbet apo ta vjedhin."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Kërkohet një motiv për të konfiguruar \"Shkyçjen me fytyrë\" dhe \"Shkyçjen me gjurmën e gishtit\".\n\nMotivi e mbron pajisjen nëse të humbet apo ta vjedhin."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Kërkohet një fjalëkalim për të konfiguruar \"Shkyçjen me fytyrë\" dhe \"Shkyçjen me gjurmën e gishtit\".\n\nFjalëkalimi e mbron pajisjen nëse të humbet apo ta vjedhin."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Kërkohet një kod PIN për të konfiguruar \"Shkyçjen me fytyrë\" dhe \"Shkyçjen me gjurmën e gishtit\".\n\nKodi PIN e mbron telefonin nëse të humbet apo ta vjedhin."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Kërkohet një motiv për të konfiguruar \"Shkyçjen me fytyrë\" dhe \"Shkyçjen me gjurmën e gishtit\".\n\nMotivi e mbron telefonin nëse të humbet apo ta vjedhin."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Kërkohet një fjalëkalim për të konfiguruar \"Shkyçjen me fytyrë\" dhe \"Shkyçjen me gjurmën e gishtit\".\n\nFjalëkalimi e mbron telefonin nëse të humbet apo ta vjedhin."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Kërkohet një kod PIN për të konfiguruar \"Shkyçjen me gjurmën e gishtit\" dhe \"Shkyçjen me fytyrë\".\n\nKodi PIN e mbron tabletin nëse të humbet apo ta vjedhin."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Kërkohet një motiv për të konfiguruar \"Shkyçjen me gjurmën e gishtit\" dhe \"Shkyçjen me fytyrë\".\n\nMotivi e mbron tabletin nëse të humbet apo ta vjedhin."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Kërkohet një fjalëkalim për të konfiguruar \"Shkyçjen me gjurmën e gishtit\" dhe \"Shkyçjen me fytyrë\".\n\nFjalëkalimi e mbron tabletin nëse të humbet apo ta vjedhin."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Kërkohet një kod PIN për të konfiguruar \"Shkyçjen me gjurmën e gishtit\" dhe \"Shkyçjen me fytyrë\".\n\nKodi PIN e mbron pajisjen nëse të humbet apo ta vjedhin."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Kërkohet një motiv për të konfiguruar \"Shkyçjen me gjurmën e gishtit\" dhe \"Shkyçjen me fytyrë\".\n\nMotivi e mbron pajisjen nëse të humbet apo ta vjedhin."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Kërkohet një fjalëkalim për të konfiguruar \"Shkyçjen me gjurmën e gishtit\" dhe \"Shkyçjen me fytyrë\".\n\nFjalëkalimi e mbron pajisjen nëse të humbet apo ta vjedhin."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Kërkohet një kod PIN për të konfiguruar \"Shkyçjen me gjurmën e gishtit\" dhe \"Shkyçjen me fytyrë\".\n\nKodi PIN e mbron telefonin nëse të humbet apo ta vjedhin."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Kërkohet një motiv për të konfiguruar \"Shkyçjen me gjurmën e gishtit\" dhe \"Shkyçjen me fytyrë\".\n\nMotivi e mbron telefonin nëse të humbet apo ta vjedhin."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Kërkohet një fjalëkalim për të konfiguruar \"Shkyçjen me gjurmën e gishtit\" dhe \"Shkyçjen me fytyrë\".\n\nFjalëkalimi e mbron telefonin nëse të humbet apo ta vjedhin."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Kjo fshin imazhet e gjurmës së gishtit dhe modelin e lidhur me \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" që ruhen në telefonin tënd"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Kjo fshin imazhet e gjurmës së gishtit dhe modelin e lidhur me \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" që ruhen në tabletin tënd"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Kjo fshin imazhet e gjurmës së gishtit dhe modelin e lidhur me \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" që ruhen në pajisjen tënde"</string>
diff --git a/res-product/values-sr/strings.xml b/res-product/values-sr/strings.xml
index ffd40f1..5b78557 100644
--- a/res-product/values-sr/strings.xml
+++ b/res-product/values-sr/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"За подешавање откључавања лицем неопходан је PIN.\n\nPIN штити телефон ако га изгубите или га неко украде."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"За подешавање откључавања лицем неопходан је шаблон.\n\nШаблон штити телефон ако га изгубите или га неко украде."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"За подешавање откључавања лицем неопходна је лозинка.\n\nЛозинка штити телефон ако га изгубите или га неко украде."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"За подешавање откључавања лицем и отиском прста неопходан је PIN.\n\nPIN штити таблет ако га изгубите или га неко украде."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"За подешавање откључавања лицем и отиском прста неопходан је шаблон.\n\nШаблон штити таблет ако га изгубите или га неко украде."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"За подешавање откључавања лицем и отиском прста неопходна је лозинка.\n\nЛозинка штити таблет ако га изгубите или га неко украде."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"За подешавање откључавања лицем и отиском прста неопходан је PIN.\n\nPIN штити уређај ако га изгубите или га неко украде."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"За подешавање откључавања лицем и отиском прста неопходан је шаблон.\n\nШаблон штити уређај ако га изгубите или га неко украде."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"За подешавање откључавања лицем и отиском прста неопходна је лозинка.\n\nЛозинка штити уређај ако га изгубите или га неко украде."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"За подешавање откључавања лицем и отиском прста неопходан је PIN.\n\nPIN штити телефон ако га изгубите или га неко украде."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"За подешавање откључавања лицем и отиском прста неопходан је шаблон.\n\nШаблон штити телефон ако га изгубите или га неко украде."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"За подешавање откључавања лицем и отиском прста неопходна је лозинка.\n\nЛозинка штити телефон ако га изгубите или га неко украде."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"За подешавање откључавања отиском прста и откључавања лицем неопходан је PIN.\n\nPIN штити таблет ако га изгубите или га неко украде."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"За подешавање откључавања отиском прста и откључавања лицем неопходан је шаблон.\n\nШаблон штити таблет ако га изгубите или га неко украде."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"За подешавање откључавања отиском прста и откључавања лицем неопходна је лозинка.\n\nЛозинка штити таблет ако га изгубите или га неко украде."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"За подешавање откључавања отиском прста и откључавања лицем неопходан је PIN.\n\nPIN штити уређај ако га изгубите или га неко украде."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"За подешавање откључавања отиском прста и откључавања лицем неопходан је шаблон.\n\nШаблон штити уређај ако га изгубите или га неко украде."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"За подешавање откључавања отиском прста и откључавања лицем неопходна је лозинка.\n\nЛозинка штити уређај ако га изгубите или га неко украде."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"За подешавање откључавања отиском прста и откључавања лицем неопходан је PIN.\n\nPIN штити телефон ако га изгубите или га неко украде."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"За подешавање откључавања отиском прста и откључавања лицем неопходан је шаблон.\n\nШаблон штити телефон ако га изгубите или га неко украде."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"За подешавање откључавања отиском прста и откључавања лицем неопходна је лозинка.\n\nЛозинка штити телефон ако га изгубите или га неко украде."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Овим се бришу слике и модел отиска прста у вези са отиском <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> који су сачувани на телефону"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Овим се бришу слике и модел отиска прста у вези са отиском <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> који су сачувани на таблету"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Овим се бришу слике и модел отиска прста у вези са отиском <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> који су сачувани на уређају"</string>
diff --git a/res-product/values-sv/strings.xml b/res-product/values-sv/strings.xml
index e112315..fb0f3ef 100644
--- a/res-product/values-sv/strings.xml
+++ b/res-product/values-sv/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Det krävs en pinkod för att konfigurera ansiktslås.\n\nEn pinkod skyddar telefonen om den kommer bort eller blir stulen."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Det krävs ett mönster för att konfigurera ansiktslås.\n\nEtt mönster skyddar telefonen om den kommer bort eller blir stulen."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Det krävs ett lösenord för att konfigurera ansiktslås.\n\nEtt lösenord skyddar telefonen om den kommer bort eller blir stulen."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Det krävs en pinkod för att konfigurera ansiktslås och fingeravtryckslås.\n\nEn pinkod skyddar surfplattan om den kommer bort eller blir stulen."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Det krävs ett mönster för att konfigurera ansiktslås och fingeravtryckslås.\n\nEtt mönster skyddar surfplattan om den kommer bort eller blir stulen."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Det krävs ett lösenord för att konfigurera ansiktslås och fingeravtryckslås.\n\nEtt lösenord skyddar surfplattan om den kommer bort eller blir stulen."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Det krävs en pinkod för att konfigurera ansiktslås och fingeravtryckslås.\n\nEn pinkod skyddar enheten om den kommer bort eller blir stulen."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Det krävs ett mönster för att konfigurera ansiktslås och fingeravtryckslås.\n\nEtt mönster skyddar enheten om den kommer bort eller blir stulen."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Det krävs ett lösenord för att konfigurera ansiktslås och fingeravtryckslås.\n\nEtt lösenord skyddar enheten om den kommer bort eller blir stulen."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Det krävs en pinkod för att konfigurera ansiktslås och fingeravtryckslås.\n\nEn pinkod skyddar telefonen om den kommer bort eller blir stulen."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Det krävs ett mönster för att konfigurera ansiktslås och fingeravtryckslås.\n\nEtt mönster skyddar telefonen om den kommer bort eller blir stulen."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Det krävs ett lösenord för att konfigurera ansiktslås och fingeravtryckslås.\n\nEtt lösenord skyddar telefonen om den kommer bort eller blir stulen."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Det krävs en pinkod för att ställa in fingeravtryckslås och ansiktslås.\n\nEn pinkod skyddar surfplattan om den kommer bort eller blir stulen."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Det krävs ett mönster för att ställa in fingeravtryckslås och ansiktslås.\n\nEtt mönster skyddar surfplattan om den kommer bort eller blir stulen."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Det krävs ett lösenord för att ställa in fingeravtryckslås och ansiktslås.\n\nEtt lösenord skyddar surfplattan om den kommer bort eller blir stulen."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Det krävs en pinkod för att ställa in fingeravtryckslås och ansiktslås.\n\nEn pinkod skyddar enheten om den kommer bort eller blir stulen."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Det krävs ett mönster för att ställa in fingeravtryckslås och ansiktslås.\n\nEtt mönster skyddar enheten om den kommer bort eller blir stulen."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Det krävs ett lösenord för att ställa in fingeravtryckslås och ansiktslås.\n\nEtt lösenord skyddar enheten om den kommer bort eller blir stulen."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Det krävs en pinkod för att ställa in fingeravtryckslås och ansiktslås.\n\nEn pinkod skyddar telefonen om den kommer bort eller blir stulen."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Det krävs ett mönster för att ställa in fingeravtryckslås och ansiktslås.\n\nEtt mönster skyddar telefonen om den kommer bort eller blir stulen."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Det krävs ett lösenord för att ställa in fingeravtryckslås och ansiktslås.\n\nEtt lösenord skyddar telefonen om den kommer bort eller blir stulen."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Om du gör detta raderas fingeravtrycksbilderna och fingeravtrycksmodellen som har kopplats till <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> och lagras på telefonen"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Om du gör detta raderas fingeravtrycksbilderna och fingeravtrycksmodellen som har kopplats till <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> och lagras på surfplattan"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Om du gör detta raderas fingeravtrycksbilderna och fingeravtrycksmodellen som har kopplats till <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> och lagras på enheten"</string>
diff --git a/res-product/values-sw/strings.xml b/res-product/values-sw/strings.xml
index dbf833e..ab5d352 100644
--- a/res-product/values-sw/strings.xml
+++ b/res-product/values-sw/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"PIN inahitajika ili kuweka mipangilio ya Kufungua kwa uso.\n\nPIN hulinda simu ikipotea au ikiibwa."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Mchoro unahitajika ili kuweka mipangilio ya Kufungua kwa uso.\n\nMchoro hulinda simu ikipotea au ikiibwa."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Nenosiri linahitajika ili kuweka mipangilio ya Kufungua kwa uso.\n\nNenosiri hulinda simu ikipotea au ikiibwa."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"PIN inahitajika ili kuweka mipangilio ya Kufungua kwa uso na Kufungua kwa alama ya kidole.\n\nPIN hulinda kompyuta kibao ikipotea au ikiibwa."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Mchoro unahitajika ili kuweka mipangilio ya Kufungua kwa uso na Kufungua kwa alama ya kidole.\n\nMchoro hulinda kompyuta kibao ikipotea au ikiibwa."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Nenosiri linahitajika ili kuweka mipangilio ya Kufungua kwa uso na Kufungua kwa alama ya kidole.\n\nNenosiri hulinda kompyuta kibao ikipotea au ikiibwa."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"PIN inahitajika ili kuweka mipangilio ya Kufungua kwa uso na Kufungua kwa alama ya kidole.\n\nPIN hulinda kifaa kikipotea au kikiibwa."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Mchoro unahitajika ili kuweka mipangilio ya Kufungua kwa uso na Kufungua kwa alama ya kidole.\n\nMchoro hulinda kifaa kikipotea au kikiibwa."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Nenosiri linahitajika ili kuweka mipangilio ya Kufungua kwa uso na Kufungua kwa alama ya kidole.\n\nNenosiri hulinda kifaa kikipotea au kikiibwa."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"PIN inahitajika ili kuweka mipangilio ya Kufungua kwa uso na Kufungua kwa alama ya kidole.\n\nPIN hulinda simu ikipotea au ikiibwa."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Mchoro unahitajika ili kuweka mipangilio ya Kufungua kwa uso na Kufungua kwa alama ya kidole.\n\nMchoro hulinda simu ikipotea au ikiibwa."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Nenosiri linahitajika ili kuweka mipangilio ya Kufungua kwa uso na Kufungua kwa alama ya kidole.\n\nNenosiri hulinda simu ikipotea au ikiibwa."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"PIN inatakikana ili kuweka mipangilio ya Kufungua kwa Alama ya Kidole na Kufungua kwa Uso.\n\nPIN hulinda kishikwambi kikipotea au kikiibwa."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Mchoro unatakikana ili kuweka mipangilio ya Kufungua kwa Alama ya Kidole na Kufungua kwa Uso.\n\nMchoro hulinda kishikwambi kikipotea au kikiibwa."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Nenosiri linatakikana ili kuweka mipangilio ya Kufungua kwa Alama ya Kidole na Kufungua kwa Uso.\n\nNenosiri hulinda kishikwambi kikipotea au kikiibwa."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"PIN inatakikana ili kuweka mipangilio ya Kufungua kwa Alama ya Kidole na Kufungua kwa Uso.\n\nPIN hulinda kifaa kikipotea au kikiibwa."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Mchoro unatakikana ili kuweka mipangilio ya Kufungua kwa Alama ya Kidole na Kufungua kwa Uso.\n\nMchoro hulinda kifaa kikipotea au kikiibwa."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Nenosiri linatakikana ili kuweka mipangilio ya Kufungua kwa Alama ya Kidole na Kufungua kwa Uso.\n\nNenosiri hulinda kifaa kikipotea au kikiibwa."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"PIN inatakikana ili kuweka mipangilio ya Kufungua kwa Alama ya Kidole na Kufungua kwa Uso.\n\nPIN hulinda simu ikipotea au ikiibwa."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Mchoro unatakikana ili kuweka mipangilio ya Kufungua kwa Alama ya Kidole na Kufungua kwa Uso.\n\nMchoro hulinda simu ikipotea au ikiibwa."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Nenosiri linatakikana ili kuweka mipangilio ya Kufungua kwa Alama ya Kidole na Kufungua kwa Uso.\n\nNenosiri hulinda simu ikipotea au ikiibwa."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Hatua hii hufuta miundo na picha za alama ya kidole zinazohusiana na \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' zilizohifadhiwa kwenye simu yako"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Hatua hii hufuta miundo na picha za alama za kidole zinazohusiana na \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' zilizohifadhiwa kwenye kishikwambi chako"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Hatua hii hufuta miundo na picha za alama za kidole zinazohusiana na \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' zilizohifadhiwa kwenye kifaa chako"</string>
diff --git a/res-product/values-ta/strings.xml b/res-product/values-ta/strings.xml
index 0f10934..33dd0f8 100644
--- a/res-product/values-ta/strings.xml
+++ b/res-product/values-ta/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"முகம் காட்டித் திறத்தல் அம்சத்தை அமைக்க \'பின்\' தேவை.\n\nஉங்கள் மொபைல் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவை \'பின்\' பாதுகாக்கும்."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"முகம் காட்டித் திறத்தல் அம்சத்தை அமைக்க பேட்டர்ன் தேவை.\n\nஉங்கள் மொபைல் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைப் பேட்டர்ன் பாதுகாக்கும்."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"முகம் காட்டித் திறத்தல் அம்சத்தை அமைக்க கடவுச்சொல் தேவை.\n\nஉங்கள் மொபைல் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைக் கடவுச்சொல் பாதுகாக்கும்."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"முகம் காட்டித் திறத்தல் அம்சத்தையும் கைரேகை அன்லாக் அம்சத்தையும் அமைக்க \'பின்\' தேவை.\n\nஉங்கள் டேப்லெட் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவை \'பின்\' பாதுகாக்கும்."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"முகம் காட்டித் திறத்தல் அம்சத்தையும் கைரேகை அன்லாக் அம்சத்தையும் அமைக்க பேட்டர்ன் தேவை.\n\nஉங்கள் டேப்லெட் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைப் பேட்டர்ன் பாதுகாக்கும்."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"முகம் காட்டித் திறத்தல் அம்சத்தையும் கைரேகை அன்லாக் அம்சத்தையும் அமைக்க கடவுச்சொல் தேவை.\n\nஉங்கள் டேப்லெட் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைக் கடவுச்சொல் பாதுகாக்கும்."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"முகம் காட்டித் திறத்தல் அம்சத்தையும் கைரேகை அன்லாக் அம்சத்தையும் அமைக்க \'பின்\' தேவை.\n\nஉங்கள் சாதனம் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவை \'பின்\' பாதுகாக்கும்."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"முகம் காட்டித் திறத்தல் அம்சத்தையும் கைரேகை அன்லாக் அம்சத்தையும் அமைக்க பேட்டர்ன் தேவை.\n\nஉங்கள் சாதனம் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைப் பேட்டர்ன் பாதுகாக்கும்."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"முகம் காட்டித் திறத்தல் அம்சத்தையும் கைரேகை அன்லாக் அம்சத்தையும் அமைக்க கடவுச்சொல் தேவை.\n\nஉங்கள் சாதனம் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைக் கடவுச்சொல் பாதுகாக்கும்."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"முகம் காட்டித் திறத்தல் அம்சத்தையும் கைரேகை அன்லாக் அம்சத்தையும் அமைக்க \'பின்\' தேவை.\n\nஉங்கள் மொபைல் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவை \'பின்\' பாதுகாக்கும்."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"முகம் காட்டித் திறத்தல் அம்சத்தையும் கைரேகை அன்லாக் அம்சத்தையும் அமைக்க பேட்டர்ன் தேவை.\n\nஉங்கள் மொபைல் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைப் பேட்டர்ன் பாதுகாக்கும்."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"முகம் காட்டித் திறத்தல் அம்சத்தையும் கைரேகை அன்லாக் அம்சத்தையும் அமைக்க கடவுச்சொல் தேவை.\n\nஉங்கள் மொபைல் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைக் கடவுச்சொல் பாதுகாக்கும்."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"கைரேகை அன்லாக் அம்சத்தையும் முகம் காட்டித் திறத்தல் அம்சத்தையும் அமைக்க பின் (PIN) தேவை.\n\nஉங்கள் டேப்லெட் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைப் பின் (PIN) பாதுகாக்கும்."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"கைரேகை அன்லாக் அம்சத்தையும் முகம் காட்டித் திறத்தல் அம்சத்தையும் அமைக்க பேட்டர்ன் தேவை.\n\nஉங்கள் டேப்லெட் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைப் பேட்டர்ன் பாதுகாக்கும்."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"கைரேகை அன்லாக் அம்சத்தையும் முகம் காட்டித் திறத்தல் அம்சத்தையும் அமைக்க கடவுச்சொல் தேவை.\n\nஉங்கள் டேப்லெட் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைக் கடவுச்சொல் பாதுகாக்கும்."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"கைரேகை அன்லாக் அம்சத்தையும் முகம் காட்டித் திறத்தல் அம்சத்தையும் அமைக்க பின் (PIN) தேவை.\n\nஉங்கள் சாதனம் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைப் பின் (PIN) பாதுகாக்கும்."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"கைரேகை அன்லாக் அம்சத்தையும் முகம் காட்டித் திறத்தல் அம்சத்தையும் அமைக்க பேட்டர்ன் தேவை.\n\nஉங்கள் சாதனம் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைப் பேட்டர்ன் பாதுகாக்கும்."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"கைரேகை அன்லாக் அம்சத்தையும் முகம் காட்டித் திறத்தல் அம்சத்தையும் அமைக்க கடவுச்சொல் தேவை.\n\nஉங்கள் சாதனம் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைக் கடவுச்சொல் பாதுகாக்கும்."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"கைரேகை அன்லாக் அம்சத்தையும் முகம் காட்டித் திறத்தல் அம்சத்தையும் அமைக்க பின் (PIN) தேவை.\n\nஉங்கள் மொபைல் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைப் பின் (PIN) பாதுகாக்கும்."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"கைரேகை அன்லாக் அம்சத்தையும் முகம் காட்டித் திறத்தல் அம்சத்தையும் அமைக்க பேட்டர்ன் தேவை.\n\nஉங்கள் மொபைல் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைப் பேட்டர்ன் பாதுகாக்கும்."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"கைரேகை அன்லாக் அம்சத்தையும் முகம் காட்டித் திறத்தல் அம்சத்தையும் அமைக்க கடவுச்சொல் தேவை.\n\nஉங்கள் மொபைல் தொலைந்துபோனாலோ திருடுபோனாலோ அதிலுள்ள தரவைக் கடவுச்சொல் பாதுகாக்கும்."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"உங்கள் மொபைலில் சேமிக்கப்பட்டுள்ள, \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' உடன் தொடர்புடைய கைரேகைப் படங்களையும் பதிவையும் இது நீக்கும்"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"உங்கள் டேப்லெட்டில் சேமிக்கப்பட்டுள்ள, \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' உடன் தொடர்புடைய கைரேகைப் படங்களையும் பதிவுவையும் இது நீக்கும்"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"இந்தச் சாதனத்தில் சேமித்து வைக்கப்பட்டிருக்கும் \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' உடன் தொடர்புடைய கைரேகைப் படங்களையும் பதிவுகளையும் இது நீக்கிவிடும்"</string>
diff --git a/res-product/values-te/strings.xml b/res-product/values-te/strings.xml
index cb66d2e..3486980 100644
--- a/res-product/values-te/strings.xml
+++ b/res-product/values-te/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"ఫేస్ అన్లాక్ను సెటప్ చేయడానికి PIN అవసరం.\n\nఫోన్ పోయినా లేదా దొంగిలించబడినా దాన్ని PIN రక్షిస్తుంది."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"ఫేస్ అన్లాక్ను సెటప్ చేయడానికి ఆకృతి అవసరం.\n\nఫోన్ పోయినా లేదా దొంగిలించబడినా దాన్ని ఆకృతి రక్షిస్తుంది."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"ఫేస్ అన్లాక్ను సెటప్ చేయడానికి పాస్వర్డ్ అవసరం.\n\nఫోన్ పోయినా లేదా దొంగిలించబడినా దాన్ని పాస్వర్డ్ రక్షిస్తుంది."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"ఫేస్ అన్లాక్, వేలిముద్ర అన్లాక్ను సెటప్ చేయడానికి PIN అవసరం.\n\nటాబ్లెట్ పోయినా లేదా దొంగిలించబడినా దాన్ని PIN రక్షిస్తుంది."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"ఫేస్ అన్లాక్, వేలిముద్ర అన్లాక్ను సెటప్ చేయడానికి ఆకృతి అవసరం.\n\nటాబ్లెట్ పోయినా లేదా దొంగిలించబడినా దాన్ని ఆకృతి రక్షిస్తుంది."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"ఫేస్ అన్లాక్, వేలిముద్ర అన్లాక్ను సెటప్ చేయడానికి పాస్వర్డ్ అవసరం.\n\nటాబ్లెట్ పోయినా లేదా దొంగిలించబడినా దాన్ని పాస్వర్డ్ రక్షిస్తుంది."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"ఫేస్ అన్లాక్, వేలిముద్ర అన్లాక్ను సెటప్ చేయడానికి PIN అవసరం.\n\nపరికరం పోయినా లేదా దొంగిలించబడినా దాన్ని PIN రక్షిస్తుంది."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"ఫేస్ అన్లాక్, వేలిముద్ర అన్లాక్ను సెటప్ చేయడానికి ఆకృతి అవసరం.\n\nపరికరం పోయినా లేదా దొంగిలించబడినా దాన్ని ఆకృతి రక్షిస్తుంది."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"ఫేస్ అన్లాక్, వేలిముద్ర అన్లాక్లను సెటప్ చేయడానికి పాస్వర్డ్ అవసరం.\n\nపరికరం పోయినా లేదా దొంగిలించబడినా, పాస్వర్డ్ దాన్ని రక్షిస్తుంది."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"ఫేస్ అన్లాక్, వేలిముద్ర అన్లాక్ను సెటప్ చేయడానికి PIN అవసరం.\n\nఫోన్ పోయినా లేదా దొంగిలించబడినా దాన్ని PIN రక్షిస్తుంది."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"ఫేస్ అన్లాక్, వేలిముద్ర అన్లాక్ను సెటప్ చేయడానికి ఆకృతి అవసరం.\n\nఫోన్ పోయినా లేదా దొంగిలించబడినా దాన్ని ఆకృతి రక్షిస్తుంది."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"ఫేస్ అన్లాక్, వేలిముద్ర అన్లాక్ను సెటప్ చేయడానికి పాస్వర్డ్ అవసరం.\n\nఫోన్ పోయినా లేదా దొంగిలించబడినా దాన్ని పాస్వర్డ్ రక్షిస్తుంది."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"వేలిముద్ర అన్లాక్, ఫేస్ అన్లాక్ను సెటప్ చేయడానికి PIN అవసరం.\n\nటాబ్లెట్ను పోగొట్టుకున్నా లేదా ఎవరైనా దానిని దొంగిలించినా, PIN దానిని రక్షిస్తుంది."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"వేలిముద్ర అన్లాక్, ఫేస్ అన్లాక్ను సెటప్ చేయడానికి ఆకృతి అవసరం.\n\nటాబ్లెట్ను పోగొట్టుకున్నా లేదా ఎవరైనా దానిని దొంగిలించినా, ఆకృతి దానిని రక్షిస్తుంది."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"వేలిముద్ర అన్లాక్, వేలిముద్ర అన్లాక్ను సెటప్ చేయడానికి పాస్వర్డ్ అవసరం.\n\nటాబ్లెట్ను పోగొట్టుకున్నా లేదా ఎవరైనా దానిని దొంగిలించినా, పాస్వర్డ్ దానిని రక్షిస్తుంది."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"వేలిముద్ర అన్లాక్, ఫేస్ అన్లాక్ను సెటప్ చేయడానికి PIN అవసరం.\n\nపరికరాన్ని పోగొట్టుకున్నా లేదా ఎవరైనా దానిని దొంగిలించినా, PIN దానిని రక్షిస్తుంది."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"వేలిముద్ర అన్లాక్, ఫేస్ అన్లాక్ను సెటప్ చేయడానికి ఆకృతి అవసరం.\n\nపరికరాన్ని పోగొట్టుకున్నా లేదా ఎవరైనా దానిని దొంగిలించినా, ఆకృతి దానిని రక్షిస్తుంది."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"వేలిముద్ర అన్లాక్, ఫేస్ అన్లాక్ను సెటప్ చేయడానికి పాస్వర్డ్ అవసరం.\n\nపరికరాన్ని పోగొట్టుకున్నా లేదా ఎవరైనా దానిని దొంగిలించినా, పాస్వర్డ్ దానిని రక్షిస్తుంది."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"వేలిముద్ర అన్లాక్, ఫేస్ అన్లాక్ను సెటప్ చేయడానికి PIN అవసరం.\n\nఫోన్ను పోగొట్టుకున్నా లేదా ఎవరైనా దానిని దొంగిలించినా, PIN దానిని రక్షిస్తుంది."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"వేలిముద్ర అన్లాక్, ఫేస్ అన్లాక్ను సెటప్ చేయడానికి ఆకృతి అవసరం.\n\nఫోన్ను పోగొట్టుకున్నా లేదా ఎవరైనా దానిని దొంగిలించినా, ఆకృతి దానిని రక్షిస్తుంది."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"వేలిముద్ర అన్లాక్, ఫేస్ అన్లాక్ను సెటప్ చేయడానికి పాస్వర్డ్ అవసరం.\n\nఫోన్ను పోగొట్టుకున్నా లేదా ఎవరైనా దానిని దొంగిలించినా, పాస్వర్డ్ దానిని రక్షిస్తుంది."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"ఇది మీ ఫోన్లో స్టోర్ చేయబడిన \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'తో అనుబంధించబడిన వేలిముద్ర ఇమేజ్లను, మోడల్ను తొలగిస్తుంది"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"ఇది మీ టాబ్లెట్లో స్టోర్ చేయబడిన \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'తో అనుబంధించబడిన వేలిముద్ర ఇమేజ్లను, మోడల్ను తొలగిస్తుంది"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"ఇది మీ పరికరంలో స్టోర్ చేయబడిన \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'తో అనుబంధించబడిన వేలిముద్ర ఇమేజ్లను, మోడల్ను తొలగిస్తుంది"</string>
diff --git a/res-product/values-th/strings.xml b/res-product/values-th/strings.xml
index 0655b5d..7578091 100644
--- a/res-product/values-th/strings.xml
+++ b/res-product/values-th/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"ต้องมี PIN เพื่อตั้งค่าการปลดล็อกด้วยใบหน้า\n\nPIN จะช่วยปกป้องโทรศัพท์ในกรณีที่สูญหายหรือถูกขโมย"</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"ต้องมีรูปแบบเพื่อตั้งค่าการปลดล็อกด้วยใบหน้า\n\nรูปแบบจะช่วยปกป้องโทรศัพท์ในกรณีที่สูญหายหรือถูกขโมย"</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"ต้องมีรหัสผ่านเพื่อตั้งค่าการปลดล็อกด้วยใบหน้า\n\nรหัสผ่านจะช่วยปกป้องโทรศัพท์ในกรณีที่สูญหายหรือถูกขโมย"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"ต้องมี PIN เพื่อตั้งค่าการปลดล็อกด้วยใบหน้าและลายนิ้วมือ\n\nPIN จะช่วยปกป้องแท็บเล็ตในกรณีที่สูญหายหรือถูกขโมย"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"ต้องมีรูปแบบเพื่อตั้งค่าการปลดล็อกด้วยใบหน้าและลายนิ้วมือ\n\nรูปแบบจะช่วยปกป้องแท็บเล็ตในกรณีที่สูญหายหรือถูกขโมย"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"ต้องมีรหัสผ่านเพื่อตั้งค่าการปลดล็อกด้วยใบหน้าและลายนิ้วมือ\n\nรหัสผ่านจะช่วยปกป้องแท็บเล็ตในกรณีที่สูญหายหรือถูกขโมย"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"ต้องมี PIN เพื่อตั้งค่าการปลดล็อกด้วยใบหน้าและลายนิ้วมือ\n\nPIN จะช่วยปกป้องอุปกรณ์ในกรณีที่สูญหายหรือถูกขโมย"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"ต้องมีรูปแบบเพื่อตั้งค่าการปลดล็อกด้วยใบหน้าและลายนิ้วมือ\n\nรูปแบบจะช่วยปกป้องอุปกรณ์ในกรณีที่สูญหายหรือถูกขโมย"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"ต้องมีรหัสผ่านเพื่อตั้งค่าการปลดล็อกด้วยใบหน้าและลายนิ้วมือ\n\nรหัสผ่านจะช่วยปกป้องอุปกรณ์ในกรณีที่สูญหายหรือถูกขโมย"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"ต้องมี PIN เพื่อตั้งค่าการปลดล็อกด้วยใบหน้าและลายนิ้วมือ\n\nPIN จะช่วยปกป้องโทรศัพท์ในกรณีที่สูญหายหรือถูกขโมย"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"ต้องมีรูปแบบเพื่อตั้งค่าการปลดล็อกด้วยใบหน้าและลายนิ้วมือ\n\nรูปแบบจะช่วยปกป้องโทรศัพท์ในกรณีที่สูญหายหรือถูกขโมย"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"ต้องมีรหัสผ่านเพื่อตั้งค่าการปลดล็อกด้วยใบหน้าและลายนิ้วมือ\n\nรหัสผ่านจะช่วยปกป้องโทรศัพท์ในกรณีที่สูญหายหรือถูกขโมย"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"ต้องมี PIN เพื่อตั้งค่าการปลดล็อกด้วยลายนิ้วมือและการปลดล็อกด้วยใบหน้า\n\nPIN จะช่วยปกป้องแท็บเล็ตในกรณีที่สูญหายหรือถูกขโมย"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"ต้องมีรูปแบบเพื่อตั้งค่าการปลดล็อกด้วยลายนิ้วมือและการปลดล็อกด้วยใบหน้า\n\nรูปแบบจะช่วยปกป้องแท็บเล็ตในกรณีที่สูญหายหรือถูกขโมย"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"ต้องมีรหัสผ่านเพื่อตั้งค่าการปลดล็อกด้วยลายนิ้วมือและการปลดล็อกด้วยใบหน้า\n\nรหัสผ่านจะช่วยปกป้องแท็บเล็ตในกรณีที่สูญหายหรือถูกขโมย"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"ต้องมี PIN เพื่อตั้งค่าการปลดล็อกด้วยลายนิ้วมือและการปลดล็อกด้วยใบหน้า\n\nPIN จะช่วยปกป้องอุปกรณ์ในกรณีที่สูญหายหรือถูกขโมย"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"ต้องมีรูปแบบเพื่อตั้งค่าการปลดล็อกด้วยลายนิ้วมือและการปลดล็อกด้วยใบหน้า\n\nรูปแบบจะช่วยปกป้องอุปกรณ์ในกรณีที่สูญหายหรือถูกขโมย"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"ต้องมีรหัสผ่านเพื่อตั้งค่าการปลดล็อกด้วยลายนิ้วมือและการปลดล็อกด้วยใบหน้า\n\nรหัสผ่านจะช่วยปกป้องอุปกรณ์ในกรณีที่สูญหายหรือถูกขโมย"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"ต้องมี PIN เพื่อตั้งค่าการปลดล็อกด้วยลายนิ้วมือและการปลดล็อกด้วยใบหน้า\n\nPIN จะช่วยปกป้องโทรศัพท์ในกรณีที่สูญหายหรือถูกขโมย"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"ต้องมีรูปแบบเพื่อตั้งค่าการปลดล็อกด้วยลายนิ้วมือและการปลดล็อกด้วยใบหน้า\n\nรูปแบบจะช่วยปกป้องโทรศัพท์ในกรณีที่สูญหายหรือถูกขโมย"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"ต้องมีรหัสผ่านเพื่อตั้งค่าการปลดล็อกด้วยลายนิ้วมือและการปลดล็อกด้วยใบหน้า\n\nรหัสผ่านจะช่วยปกป้องโทรศัพท์ในกรณีที่สูญหายหรือถูกขโมย"</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"การดำเนินการนี้จะลบรูปภาพและรูปแบบลายนิ้วมือที่เชื่อมโยงกับ \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" ซึ่งจัดเก็บในโทรศัพท์ของคุณ"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"การดำเนินการนี้จะลบรูปภาพและรูปแบบลายนิ้วมือที่เชื่อมโยงกับ \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" ซึ่งจัดเก็บในแท็บเล็ตของคุณ"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"การดำเนินการนี้จะลบรูปภาพและรูปแบบลายนิ้วมือที่เชื่อมโยงกับ \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" ซึ่งจัดเก็บในอุปกรณ์ของคุณ"</string>
diff --git a/res-product/values-tl/strings.xml b/res-product/values-tl/strings.xml
index 565cc51..af56959 100644
--- a/res-product/values-tl/strings.xml
+++ b/res-product/values-tl/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Kinakailangan ang PIN para ma-set up ang Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng PIN ang telepono kung mawala o manakaw ito."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Kinakailangan ang pattern para ma-set up ang Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng pattern ang telepono kung mawala o manakaw ito."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Kinakailangan ang password para ma-set up ang Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng password ang telepono kung mawala o manakaw ito."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Kinakailangan ang PIN para ma-set up ang Pag-unlock Gamit ang Mukha at Pag-unlock Gamit ang Fingerprint.\n\nPinoprotektahan ng PIN ang tablet kung mawala o manakaw ito."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Kinakailangan ang pattern para ma-set up ang Pag-unlock Gamit ang Mukha at Pag-unlock Gamit ang Fingerprint.\n\nPinoprotektahan ng pattern ang tablet kung mawala o manakaw ito."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Kinakailangan ang password para ma-set up ang Pag-unlock Gamit ang Mukha at Pag-unlock Gamit ang Fingerprint.\n\nPinoprotektahan ng password ang tablet kung mawala o manakaw ito."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Kinakailangan ang PIN para ma-set up ang Pag-unlock Gamit ang Mukha at Pag-unlock Gamit ang Fingerprint.\n\nPinoprotektahan ng PIN ang device kung mawala o manakaw ito."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Kinakailangan ang pattern para ma-set up ang Pag-unlock Gamit ang Mukha at Pag-unlock Gamit ang Fingerprint.\n\nPinoprotektahan ng pattern ang device kung mawala o manakaw ito."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Kinakailangan ang password para ma-set up ang Pag-unlock Gamit ang Mukha at Pag-unlock Gamit ang Fingerprint.\n\nPinoprotektahan ng password ang device kung mawala o manakaw ito."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Kinakailangan ang PIN para ma-set up ang Pag-unlock Gamit ang Mukha at Pag-unlock Gamit ang Fingerprint.\n\nPinoprotektahan ng PIN ang telepono kung mawala o manakaw ito."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Kinakailangan ang pattern para ma-set up ang Pag-unlock Gamit ang Mukha at Pag-unlock Gamit ang Fingerprint.\n\nPinoprotektahan ng pattern ang telepono kung mawala o manakaw ito."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Kinakailangan ang password para ma-set up ang Pag-unlock Gamit ang Mukha at Pag-unlock Gamit ang Fingerprint.\n\nPinoprotektahan ng password ang telepono kung mawala o manakaw ito."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Kinakailangan ang PIN para ma-set up ang Pag-unlock Gamit ang Fingerprint at Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng PIN ang tablet kung mawala o manakaw ito."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Kinakailangan ang pattern para ma-set up ang Pag-unlock Gamit ang Fingerprint at Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng pattern ang tablet kung mawala o manakaw ito."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Kinakailangan ang password para ma-set up ang Pag-unlock Gamit ang Fingerprint at Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng password ang tablet kung mawala o manakaw ito."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Kinakailangan ang PIN para ma-set up ang Pag-unlock Gamit ang Fingerprint at Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng PIN ang device kung mawala o manakaw ito."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Kinakailangan ang pattern para ma-set up ang Pag-unlock Gamit ang Fingerprint at Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng pattern ang device kung mawala o manakaw ito."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Kinakailangan ang password para ma-set up ang Pag-unlock Gamit ang Fingerprint at Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng password ang device kung mawala o manakaw ito."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Kinakailangan ang PIN para ma-set up ang Pag-unlock Gamit ang Fingerprint at Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng PIN ang telepono kung mawala o manakaw ito."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Kinakailangan ang pattern para ma-set up ang Pag-unlock Gamit ang Fingerprint at Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng pattern ang telepono kung mawala o manakaw ito."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Kinakailangan ang password para ma-set up ang Pag-unlock Gamit ang Fingerprint at Pag-unlock Gamit ang Mukha.\n\nPinoprotektahan ng password ang telepono kung mawala o manakaw ito."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Dine-delete nito ang mga larawan at modelo ng fingerprint na nauugnay sa \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' na naka-store sa iyong telepono"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Dine-delete nito ang mga larawan at modelo ng fingerprint na nauugnay sa \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' na naka-store sa iyong tablet"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Dine-delete nito ang mga larawan at modelo ng fingerprint na nauugnay sa \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' na naka-store sa iyong device"</string>
diff --git a/res-product/values-tr/strings.xml b/res-product/values-tr/strings.xml
index 843e330..986d173 100644
--- a/res-product/values-tr/strings.xml
+++ b/res-product/values-tr/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Yüz Tanıma Kilidi kurulumu için PIN gereklidir.\n\nPIN, kaybolması veya çalınması halinde telefonu korur."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Yüz Tanıma Kilidi kurulumu için desen gereklidir.\n\nDesen, kaybolması veya çalınması halinde telefonu korur."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Yüz Tanıma Kilidi kurulumu için şifre gereklidir.\n\nŞifre, kaybolması veya çalınması halinde telefonu korur."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Yüz Tanıma Kilidi ve Parmak İzi Kilidi kurulumu için PIN gereklidir.\n\nPIN, kaybolması veya çalınması halinde tableti korur."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Yüz Tanıma Kilidi ve Parmak İzi Kilidi kurulumu için desen gereklidir.\n\nDesen, kaybolması veya çalınması halinde tableti korur."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Yüz Tanıma Kilidi ve Parmak İzi Kilidi kurulumu için şifre gereklidir.\n\nŞifre, kaybolması veya çalınması halinde tableti korur."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Yüz Tanıma Kilidi ve Parmak İzi Kilidi kurulumu için PIN gereklidir.\n\nPIN, kaybolması veya çalınması halinde cihazı korur."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Yüz Tanıma Kilidi ve Parmak İzi Kilidi kurulumu için desen gereklidir.\n\nDesen, kaybolması veya çalınması halinde cihazı korur."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Yüz Tanıma Kilidi ve Parmak İzi Kilidi kurulumu için şifre gereklidir.\n\nŞifre, kaybolması veya çalınması halinde cihazı korur."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Yüz Tanıma Kilidi ve Parmak İzi Kilidi kurulumu için PIN gereklidir.\n\nPIN, kaybolması veya çalınması halinde telefonu korur."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Yüz Tanıma Kilidi ve Parmak İzi Kilidi kurulumu için desen gereklidir.\n\nDesen, kaybolması veya çalınması halinde telefonu korur."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Yüz Tanıma Kilidi ve Parmak İzi Kilidi kurulumu için şifre gereklidir.\n\nŞifre, kaybolması veya çalınması halinde telefonu korur."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Parmak İzi Kilidi ve Yüz Tanıma Kilidi kurulumu için PIN gereklidir.\n\nPIN, kaybolması veya çalınması halinde tableti korur."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Parmak İzi Kilidi ve Yüz Tanıma Kilidi kurulumu için desen gereklidir.\n\nDesen, kaybolması veya çalınması halinde tableti korur."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Parmak İzi Kilidi ve Yüz Tanıma Kilidi kurulumu için şifre gereklidir.\n\nŞifre, kaybolması veya çalınması halinde tableti korur."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Parmak İzi Kilidi ve Yüz Tanıma Kilidi kurulumu için PIN gereklidir.\n\nPIN, kaybolması veya çalınması halinde cihazı korur."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Parmak İzi Kilidi ve Yüz Tanıma Kilidi kurulumu için desen gereklidir.\n\nDesen, kaybolması veya çalınması halinde cihazı korur."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Parmak İzi Kilidi ve Yüz Tanıma Kilidi kurulumu için şifre gereklidir.\n\nŞifre, kaybolması veya çalınması halinde cihazı korur."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Parmak İzi Kilidi ve Yüz Tanıma Kilidi kurulumu için PIN gereklidir.\n\nPIN, kaybolması veya çalınması halinde telefonu korur."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Parmak İzi Kilidi ve Yüz Tanıma Kilidi kurulumu için desen gereklidir.\n\nDesen, kaybolması veya çalınması halinde telefonu korur."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Parmak İzi Kilidi ve Yüz Tanıma Kilidi kurulumu için şifre gereklidir.\n\nŞifre, kaybolması veya çalınması halinde telefonu korur."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Bu işlem, telefonunuzda saklanan \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" ile ilişkilendirilmiş parmak izi resimlerini ve modeli siler"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Bu işlem, tabletinizde saklanan \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" ile ilişkilendirilmiş parmak izi resimlerini ve modeli siler"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Bu işlem, cihazınızda saklanan \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" ile ilişkilendirilmiş parma izi resimlerini ve modeli siler"</string>
diff --git a/res-product/values-uk/strings.xml b/res-product/values-uk/strings.xml
index 1fbb698..e664519 100644
--- a/res-product/values-uk/strings.xml
+++ b/res-product/values-uk/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Щоб налаштувати фейс-контроль, потрібен PIN-код.\n\nВін захищає телефон у разі його втрати чи викрадення."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Щоб налаштувати фейс-контроль, потрібен ключ.\n\nВін захищає телефон у разі його втрати чи викрадення."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Щоб налаштувати фейс-контроль, потрібен пароль.\n\nВін захищає телефон у разі його втрати чи викрадення."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Щоб налаштувати фейс-контроль або розблокування відбитком пальця, потрібен PIN-код.\n\nВін захищає планшет у разі його втрати чи викрадення."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Щоб налаштувати фейс-контроль або розблокування відбитком пальця, потрібен ключ.\n\nВін захищає планшет у разі його втрати чи викрадення."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Щоб налаштувати фейс-контроль або розблокування відбитком пальця, потрібен пароль.\n\nВін захищає планшет у разі його втрати чи викрадення."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Щоб налаштувати фейс-контроль або розблокування відбитком пальця, потрібен PIN-код.\n\nВін захищає пристрій у разі його втрати чи викрадення."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Щоб налаштувати фейс-контроль або розблокування відбитком пальця, потрібен ключ.\n\nВін захищає пристрій у разі його втрати чи викрадення."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Щоб налаштувати фейс-контроль або розблокування відбитком пальця, потрібен пароль.\n\nВін захищає пристрій у разі його втрати чи викрадення."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Щоб налаштувати фейс-контроль або розблокування відбитком пальця, потрібен PIN-код.\n\nВін захищає телефон у разі його втрати чи викрадення."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Щоб налаштувати фейс-контроль або розблокування відбитком пальця, потрібен ключ.\n\nВін захищає телефон у разі його втрати чи викрадення."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Щоб налаштувати фейс-контроль або розблокування відбитком пальця, потрібен пароль.\n\nВін захищає телефон у разі його втрати чи викрадення."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Щоб налаштувати розблокування відбитком пальця або фейс-контроль, потрібен PIN-код.\n\nВін захищає планшет у разі його втрати чи викрадення."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Щоб налаштувати розблокування відбитком пальця або фейс-контроль, потрібен ключ.\n\nВін захищає планшет у разі його втрати чи викрадення."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Щоб налаштувати розблокування відбитком пальця або фейс-контроль, потрібен пароль.\n\nВін захищає планшет у разі його втрати чи викрадення."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Щоб налаштувати розблокування відбитком пальця або фейс-контроль, потрібен PIN-код.\n\nВін захищає пристрій у разі його втрати чи викрадення."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Щоб налаштувати розблокування відбитком пальця або фейс-контроль, потрібен ключ.\n\nВін захищає пристрій у разі його втрати чи викрадення."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Щоб налаштувати розблокування відбитком пальця або фейс-контроль, потрібен пароль.\n\nВін захищає пристрій у разі його втрати чи викрадення."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Щоб налаштувати розблокування відбитком пальця або фейс-контроль, потрібен PIN-код.\n\nВін захищає телефон у разі його втрати чи викрадення."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Щоб налаштувати розблокування відбитком пальця або фейс-контроль, потрібен ключ.\n\nВін захищає телефон у разі його втрати чи викрадення."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Щоб налаштувати розблокування відбитком пальця або фейс-контроль, потрібен пароль.\n\nВін захищає телефон у разі його втрати чи викрадення."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Буде видалено зображення й модель відбитка пальця \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\", що зберігаються на вашому телефоні"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Буде видалено зображення й модель відбитка пальця \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\", що зберігаються на вашому планшеті"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Буде видалено зображення й модель відбитка пальця \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\", що зберігаються на вашому пристрої"</string>
diff --git a/res-product/values-ur/strings.xml b/res-product/values-ur/strings.xml
index 7b413ad..a63da6f 100644
--- a/res-product/values-ur/strings.xml
+++ b/res-product/values-ur/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"فیس اَنلاک سیٹ اپ کرنے کے لیے PIN درکار ہوتا ہے۔\n\nPIN فون کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"فیس اَنلاک سیٹ اپ کرنے کے لیے پیٹرن درکار ہوتا ہے۔\n\nپیٹرن فون کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"فیس اَنلاک سیٹ اپ کرنے کے لیے پاس ورڈ درکار ہوتا ہے۔\n\nپاس ورڈ فون کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"فیس اَنلاک اور فنگر پرنٹ اَن لاک کو سیٹ اپ کرنے کے لیے PIN درکار ہوتا ہے۔\n\nPIN ٹیبلیٹ کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"فیس اَنلاک اور فنگر پرنٹ اَن لاک کو سیٹ اپ کرنے کے لیے پیٹرن درکار ہوتا ہے۔\n\nپیٹرن ٹیبلیٹ کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"فیس اَنلاک اور فنگر پرنٹ اَن لاک کو سیٹ اپ کرنے کے لیے پاس ورڈ درکار ہوتا ہے۔\n\nپاس ورڈ ٹیبلیٹ کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"فیس اَنلاک اور فنگر پرنٹ اَن لاک کو سیٹ اپ کرنے کے لیے PIN درکار ہوتا ہے۔\n\nPIN آلے کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"فیس اَنلاک اور فنگر پرنٹ اَن لاک کو سیٹ اپ کرنے کے لیے پیٹرن درکار ہوتا ہے۔\n\nپیٹرن آلے کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"فیس اَنلاک اور فنگر پرنٹ اَن لاک کو سیٹ اپ کرنے کے لیے پاس ورڈ درکار ہوتا ہے۔\n\nپاس ورڈ آلے کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"فیس اَنلاک اور فنگر پرنٹ اَنلاک کو سیٹ اپ کرنے کے لیے PIN درکار ہوتا ہے۔\n\nPIN فون کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"فیس اَنلاک اور فنگر پرنٹ اَن لاک کو سیٹ اپ کرنے کے لیے پیٹرن درکار ہوتا ہے۔\n\nپیٹرن فون کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"فیس اَنلاک اور فنگر پرنٹ اَن لاک کو سیٹ اپ کرنے کے لیے پاس ورڈ درکار ہوتا ہے۔\n\nپاس ورڈ فون کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"فنگر پرنٹ ان لاک اور فیس اَنلاک کو سیٹ اپ کرنے کے لیے PIN درکار ہوتا ہے۔\n\nPIN ٹیبلیٹ کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"فنگر پرنٹ ان لاک اور فیس اَنلاک کو سیٹ اپ کرنے کے لیے پیٹرن درکار ہوتا ہے۔\n\nپیٹرن ٹیبلیٹ کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"فنگر پرنٹ ان لاک اور فیس اَنلاک کو سیٹ اپ کرنے کے لیے پاس ورڈ درکار ہوتا ہے۔\n\nپاس ورڈ ٹیبلیٹ کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"فنگر پرنٹ ان لاک اور فیس اَنلاک کو سیٹ اپ کرنے کے لیے PIN درکار ہوتا ہے۔\n\nPIN آلے کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"فنگر پرنٹ ان لاک اور فیس ان لاک کو سیٹ اپ کرنے کے لیے پیٹرن درکار ہوتا ہے۔\n\nپیٹرن آلے کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"فیس اَنلاک اور فنگر پرنٹ اَن لاک کو سیٹ اپ کرنے کے لیے پاس ورڈ درکار ہوتا ہے۔\n\nپاس ورڈ آلے کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"فنگر پرنٹ ان لاک اور فیس اَنلاک کو سیٹ اپ کرنے کے لیے PIN درکار ہوتا ہے۔\n\nPIN فون کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"فنگر پرنٹ ان لاک اور فیس اَنلاک کو سیٹ اپ کرنے کے لیے پیٹرن درکار ہوتا ہے۔\n\nپیٹرن فون کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"فنگر پرنٹ ان لاک اور فیس اَن لاک کو سیٹ اپ کرنے کے لیے پاس ورڈ درکار ہوتا ہے۔\n\nپاس ورڈ فون کے گم یا چوری ہونے پر اس کی حفاظت کرتا ہے۔"</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"اس سے آپ کے فون پر اسٹور کردہ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' سے وابستہ فنگر پرنٹ کی تصاویر اور ماڈل حذف ہو جائیں گے"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"اس سے آپ کے ٹیبلیٹ پر اسٹور کردہ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' سے وابستہ فنگر پرنٹ کی تصاویر اور ماڈل حذف ہو جائیں گے"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"اس سے آپ کے آلے پر اسٹور کردہ \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' سے وابستہ فنگر پرنٹ کی تصاویر اور ماڈل حذف ہو جائیں گے"</string>
diff --git a/res-product/values-uz/strings.xml b/res-product/values-uz/strings.xml
index 70f4c8b..430886b 100644
--- a/res-product/values-uz/strings.xml
+++ b/res-product/values-uz/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Yuz bilan ochish funksiyalarini sozlash uchun PIN kod belgilanishi zarur.\n\nTelefon yoʻqolib qolsa yoki oʻgʻirlansa, PIN kod undagi maʼlumotlarni himoyalaydi."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Yuz bilan ochish funksiyalarini sozlash uchun grafik kalit belgilanishi zarur.\n\nTelefon yoʻqolib qolsa yoki oʻgʻirlansa, grafik kalit undagi maʼlumotlarni himoyalaydi."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Yuz bilan ochish funksiyalarini sozlash uchun parol belgilanishi zarur.\n\nTelefon yoʻqolib qolsa yoki oʻgʻirlansa, parol undagi maʼlumotlarni himoyalaydi."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Yuz va barmoq izi bilan ochish funksiyalarini sozlash uchun PIN kod belgilanishi zarur.\n\nPlanshet yoʻqolib qolsa yoki oʻgʻirlansa, PIN kod undagi maʼlumotlarni himoyalaydi."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Yuz va barmoq izi bilan ochish funksiyalarini sozlash uchun grafik kalit belgilanishi zarur.\n\nPlanshet yoʻqolib qolsa yoki oʻgʻirlansa, grafik kalit undagi maʼlumotlarni himoyalaydi."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Yuz va barmoq izi bilan ochish funksiyalarini sozlash uchun parol belgilanishi zarur.\n\nPlanshet yoʻqolib qolsa yoki oʻgʻirlansa, parol undagi maʼlumotlarni himoyalaydi."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Yuz va barmoq izi bilan ochish funksiyalarini sozlash uchun PIN kod belgilanishi zarur.\n\nQurilma yoʻqolib qolsa yoki oʻgʻirlansa, PIN kod undagi maʼlumotlarni himoyalaydi."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Yuz va barmoq izi bilan ochish funksiyalarini sozlash uchun grafik kalit belgilanishi zarur.\n\nQurilma yoʻqolib qolsa yoki oʻgʻirlansa, grafik kalit undagi maʼlumotlarni himoyalaydi."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Yuz va barmoq izi bilan ochish funksiyalarini sozlash uchun parol belgilanishi zarur.\n\nQurilma yoʻqolib qolsa yoki oʻgʻirlansa, parol undagi maʼlumotlarni himoyalaydi."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Yuz va barmoq izi bilan ochish funksiyalarini sozlash uchun PIN kod belgilanishi zarur.\n\nTelefon yoʻqolib qolsa yoki oʻgʻirlansa, PIN kod undagi maʼlumotlarni himoyalaydi."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Yuz va barmoq izi bilan ochish funksiyalarini sozlash uchun grafik kalit belgilanishi zarur.\n\nTelefon yoʻqolib qolsa yoki oʻgʻirlansa, grafik kalit undagi maʼlumotlarni himoyalaydi."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Yuz va barmoq izi bilan ochish funksiyalarini sozlash uchun parol belgilanishi zarur.\n\nTelefon yoʻqolib qolsa yoki oʻgʻirlansa, parol undagi maʼlumotlarni himoyalaydi."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Barmoq izi va yuz bilan ochish funksiyalarini sozlash uchun PIN kod belgilanishi zarur.\n\nPlanshet yoʻqolib qolsa yoki oʻgʻirlansa, PIN kod undagi maʼlumotlarni himoyalaydi."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Barmoq izi va yuz bilan ochish funksiyalarini sozlash uchun grafik kalit belgilanishi zarur.\n\nPlanshet yoʻqolib qolsa yoki oʻgʻirlansa, grafik kalit undagi maʼlumotlarni himoyalaydi."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Barmoq izi va yuz bilan ochish funksiyalarini sozlash uchun parol belgilanishi zarur.\n\nPlanshet yoʻqolib qolsa yoki oʻgʻirlansa, parol undagi maʼlumotlarni himoyalaydi."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Barmoq izi va yuz bilan ochish funksiyalarini sozlash uchun PIN kod belgilanishi zarur.\n\nQurilma yoʻqolib qolsa yoki oʻgʻirlansa, PIN kod undagi maʼlumotlarni himoyalaydi."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Barmoq izi va yuz bilan ochish funksiyalarini sozlash uchun grafik kalit belgilanishi zarur.\n\nQurilma yoʻqolib qolsa yoki oʻgʻirlansa, grafik kalit undagi maʼlumotlarni himoyalaydi."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Barmoq izi va yuz bilan ochish funksiyalarini sozlash uchun parol belgilanishi zarur.\n\nQurilma yoʻqolib qolsa yoki oʻgʻirlansa, parol undagi maʼlumotlarni himoyalaydi."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Barmoq izi va yuz bilan ochish funksiyalarini sozlash uchun PIN kod belgilanishi zarur.\n\nTelefon yoʻqolib qolsa yoki oʻgʻirlansa, PIN kod undagi maʼlumotlarni himoyalaydi."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Barmoq izi va yuz bilan ochish funksiyalarini sozlash uchun grafik kalit belgilanishi zarur.\n\nTelefon yoʻqolib qolsa yoki oʻgʻirlansa, grafik kalit undagi maʼlumotlarni himoyalaydi."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Barmoq izi va yuz bilan ochish funksiyalarini sozlash uchun parol belgilanishi zarur.\n\nTelefon yoʻqolib qolsa yoki oʻgʻirlansa, parol undagi maʼlumotlarni himoyalaydi."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Bunda telefoningizga saqlangan “<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>” barmoq iziga oid tasvir va modellar oʻchirib tashlanadi"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Bunda planshetingizga saqlangan “<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>” barmoq iziga oid tasvir va modellar oʻchirib tashlanadi"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Bunda qurilmangizga saqlangan “<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>” barmoq iziga oid tasvir va modellar oʻchirib tashlanadi"</string>
diff --git a/res-product/values-vi/strings.xml b/res-product/values-vi/strings.xml
index e47a4e0..6d24645 100644
--- a/res-product/values-vi/strings.xml
+++ b/res-product/values-vi/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Bạn cần phải nhập mã PIN để thiết lập tính năng Mở khóa bằng khuôn mặt.\n\nMã PIN giúp bảo vệ điện thoại trong trường hợp bị mất hoặc bị đánh cắp."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Bạn cần phải nhập hình mở khóa để thiết lập tính năng Mở khóa bằng khuôn mặt.\n\nHình mở khóa giúp bảo vệ điện thoại trong trường hợp bị mất hoặc bị đánh cắp."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Bạn cần phải nhập mật khẩu để thiết lập tính năng Mở khóa bằng khuôn mặt.\n\nMật khẩu giúp bảo vệ điện thoại trong trường hợp bị mất hoặc bị đánh cắp."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Bạn cần phải nhập mã PIN để thiết lập tính năng Mở khóa bằng khuôn mặt và Mở khóa bằng vân tay.\n\nMã PIN giúp bảo vệ máy tính bảng trong trường hợp bị mất hoặc bị đánh cắp."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Bạn cần phải nhập hình mở khóa để thiết lập tính năng Mở khóa bằng khuôn mặt và Mở khóa bằng vân tay.\n\nHình mở khóa giúp bảo vệ máy tính bảng trong trường hợp bị mất hoặc bị đánh cắp."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Bạn cần phải nhập mật khẩu để thiết lập tính năng Mở khóa bằng khuôn mặt và Mở khóa bằng vân tay.\n\nMật khẩu giúp bảo vệ máy tính bảng trong trường hợp bị mất hoặc bị đánh cắp."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Bạn cần phải nhập mã PIN để thiết lập tính năng Mở khóa bằng khuôn mặt và Mở khóa bằng vân tay.\n\nMã PIN giúp bảo vệ thiết bị trong trường hợp bị mất hoặc bị đánh cắp."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Bạn cần phải nhập hình mở khóa để thiết lập tính năng Mở khóa bằng khuôn mặt và Mở khóa bằng vân tay.\n\nHình mở khóa giúp bảo vệ thiết bị trong trường hợp bị mất hoặc bị đánh cắp."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Bạn cần phải nhập mật khẩu để thiết lập tính năng Mở khóa bằng khuôn mặt và Mở khóa bằng vân tay.\n\nMật khẩu giúp bảo vệ thiết bị trong trường hợp bị mất hoặc bị đánh cắp."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Bạn cần phải nhập mã PIN để thiết lập tính năng Mở khóa bằng khuôn mặt và Mở khóa bằng vân tay.\n\nMã PIN giúp bảo vệ điện thoại trong trường hợp bị mất hoặc bị đánh cắp."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Bạn cần phải nhập hình mở khóa để thiết lập tính năng Mở khóa bằng khuôn mặt và Mở khóa bằng vân tay.\n\nHình mở khóa giúp bảo vệ điện thoại trong trường hợp bị mất hoặc bị đánh cắp."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Bạn cần phải nhập mật khẩu để thiết lập tính năng Mở khóa bằng khuôn mặt và Mở khóa bằng vân tay.\n\nMật khẩu giúp bảo vệ điện thoại trong trường hợp bị mất hoặc bị đánh cắp."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Bạn cần phải nhập mã PIN để thiết lập các tính năng Mở khoá bằng vân tay và Mở khoá bằng khuôn mặt.\n\nMã PIN giúp bảo vệ máy tính bảng trong trường hợp bị thất lạc hoặc bị mất cắp."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Bạn cần phải nhập hình mở khoá để thiết lập các tính năng Mở khoá bằng vân tay và Mở khoá bằng khuôn mặt.\n\nHình mở khoá giúp bảo vệ máy tính bảng trong trường hợp bị thất lạc hoặc bị mất cắp."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Bạn cần phải nhập mật khẩu để thiết lập các tính năng Mở khoá bằng vân tay và Mở khoá bằng khuôn mặt.\n\nMật khẩu giúp bảo vệ máy tính bảng trong trường hợp bị thất lạc hoặc bị mất cắp."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Bạn cần phải nhập mã PIN để thiết lập các tính năng Mở khoá bằng vân tay và Mở khoá bằng khuôn mặt.\n\nMã PIN giúp bảo vệ thiết bị trong trường hợp bị thất lạc hoặc bị mất cắp."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Bạn cần phải nhập hình mở khoá để thiết lập các tính năng Mở khoá bằng vân tay và Mở khoá bằng khuôn mặt.\n\nHình mở khoá giúp bảo vệ thiết bị trong trường hợp bị thất lạc hoặc bị mất cắp."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Bạn cần phải nhập mật khẩu để thiết lập các tính năng Mở khoá bằng vân tay và Mở khoá bằng khuôn mặt.\n\nMật khẩu giúp bảo vệ thiết bị trong trường hợp bị thất lạc hoặc bị mất cắp."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Bạn cần phải nhập mã PIN để thiết lập các tính năng Mở khoá bằng vân tay và Mở khoá bằng khuôn mặt.\n\nMã PIN giúp bảo vệ điện thoại trong trường hợp bị thất lạc hoặc bị mất cắp."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Bạn cần phải nhập hình mở khoá để thiết lập các tính năng Mở khoá bằng vân tay và Mở khoá bằng khuôn mặt.\n\nHình mở khoá giúp bảo vệ điện thoại trong trường hợp bị thất lạc hoặc bị mất cắp."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Bạn cần phải nhập mật khẩu để thiết lập các tính năng Mở khoá bằng vân tay và Mở khoá bằng khuôn mặt.\n\nMật khẩu giúp bảo vệ điện thoại trong trường hợp bị thất lạc hoặc bị mất cắp."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Thao tác này sẽ xoá các hình ảnh và mẫu vân tay liên kết với \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" được lưu trữ trên điện thoại của bạn"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Thao tác này sẽ xoá các hình ảnh và mẫu vân tay liên kết với \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" được lưu trữ trên máy tính bảng của bạn"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Thao tác này sẽ xoá các hình ảnh và mẫu vân tay liên kết với \"<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\" được lưu trữ trên thiết bị của bạn"</string>
diff --git a/res-product/values-zh-rCN/strings.xml b/res-product/values-zh-rCN/strings.xml
index e37febd..f83cc07 100644
--- a/res-product/values-zh-rCN/strings.xml
+++ b/res-product/values-zh-rCN/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"必须设置 PIN 码,才能设置人脸解锁。\n\n手机丢失或被盗时,PIN 码可为其提供保护。"</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"必须设置解锁图案,才能设置人脸解锁。\n\n手机丢失或被盗时,解锁图案可为其提供保护。"</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"必须设置密码,才能设置人脸解锁。\n\n手机丢失或被盗时,密码可为其提供保护。"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"必须设置 PIN 码,才能设置人脸解锁和指纹解锁。\n\n平板电脑丢失或被盗时,PIN 码可为其提供保护。"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"必须设置解锁图案,才能设置人脸解锁和指纹解锁。\n\n平板电脑丢失或被盗时,解锁图案可为其提供保护。"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"必须设置密码,才能设置人脸解锁和指纹解锁。\n\n平板电脑丢失或被盗时,密码可为其提供保护。"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"必须设置 PIN 码,才能设置人脸解锁和指纹解锁。\n\n设备丢失或被盗时,PIN 码可为其提供保护。"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"必须设置解锁图案,才能设置人脸解锁和指纹解锁。\n\n设备丢失或被盗时,解锁图案可为其提供保护。"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"必须设置密码,才能设置人脸解锁和指纹解锁。\n\n设备丢失或被盗时,密码可为其提供保护。"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"必须设置 PIN 码,才能设置人脸解锁和指纹解锁。\n\n手机丢失或被盗时,PIN 码可为其提供保护。"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"必须设置解锁图案,才能设置人脸解锁和指纹解锁。\n\n手机丢失或被盗时,解锁图案可为其提供保护。"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"必须设置密码,才能设置人脸解锁和指纹解锁。\n\n手机丢失或被盗时,密码可为其提供保护。"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"必须设置 PIN 码,才能设置指纹解锁和人脸解锁。\n\n平板电脑丢失或被盗时,PIN 码可为其提供保护。"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"必须设置解锁图案,才能设置指纹解锁和人脸解锁。\n\n平板电脑丢失或被盗时,解锁图案可为其提供保护。"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"必须设置密码,才能设置指纹解锁和人脸解锁。\n\n平板电脑丢失或被盗时,密码可为其提供保护。"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"必须设置 PIN 码,才能设置指纹解锁和人脸解锁。\n\n设备丢失或被盗时,PIN 码可为其提供保护。"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"必须设置解锁图案,才能设置指纹解锁和人脸解锁。\n\n设备丢失或被盗时,解锁图案可为其提供保护。"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"必须设置密码,才能设置指纹解锁和人脸解锁。\n\n设备丢失或被盗时,密码可为其提供保护。"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"必须设置 PIN 码,才能设置指纹解锁和人脸解锁。\n\n手机丢失或被盗时,PIN 码可为其提供保护。"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"必须设置解锁图案,才能设置指纹解锁和人脸解锁。\n\n手机丢失或被盗时,解锁图案可为其提供保护。"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"必须设置密码,才能设置指纹解锁和人脸解锁。\n\n手机丢失或被盗时,密码可为其提供保护。"</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"确认删除后,手机上存储的与“<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”关联的指纹图像和模型将被删除"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"确认删除后,平板电脑上存储的与“<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”关联的指纹图像和模型将被删除"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"确认删除后,设备上存储的与“<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>”关联的指纹图像和模型将被删除"</string>
diff --git a/res-product/values-zh-rHK/strings.xml b/res-product/values-zh-rHK/strings.xml
index 82941ca..be82269 100644
--- a/res-product/values-zh-rHK/strings.xml
+++ b/res-product/values-zh-rHK/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"你必須先設定 PIN,才能設定「面孔解鎖」。\n\n手機遺失或被盜時,PIN 可保護手機中的資料。"</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"你必須先設定圖案,才能設定「面孔解鎖」。\n\n手機遺失或被盜時,圖案可保護手機中的資料。"</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"你必須先設定密碼,才能設定「面孔解鎖」。\n\n手機遺失或被盜時,密碼可保護手機中的資料。"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"你必須先設定 PIN,才能設定「面孔解鎖」和「指紋解鎖」。\n\n平板電腦遺失或被盜時,PIN 可保護平板電腦中的資料。"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"你必須先設定圖案,才能設定「面孔解鎖」和「指紋解鎖」。\n\n平板電腦遺失或被盜時,圖案可保護平板電腦中的資料。"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"你必須先設定密碼,才能設定「面孔解鎖」和「指紋解鎖」。\n\n平板電腦遺失或被盜時,密碼可保護平板電腦中的資料。"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"你必須先設定 PIN,才能設定「面孔解鎖」和「指紋解鎖」。\n\n裝置遺失或被盜時,PIN 可保護裝置中的資料。"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"你必須先設定圖案,才能設定「面孔解鎖」和「指紋解鎖」。\n\n裝置遺失或被盜時,圖案可保護裝置中的資料。"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"你必須先設定密碼,才能設定「面孔解鎖」和「指紋解鎖」。\n\n裝置遺失或被盜時,密碼可保護裝置中的資料。"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"你必須先設定 PIN,才能設定「面孔解鎖」和「指紋解鎖」。\n\n手機遺失或被盜時,PIN 可保護手機中的資料。"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"你必須先設定圖案,才能設定「面孔解鎖」和「指紋解鎖」。\n\n手機遺失或被盜時,圖案可保護手機中的資料。"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"你必須先設定密碼,才能設定「面孔解鎖」和「指紋解鎖」。\n\n手機遺失或被盜時,密碼可保護手機中的資料。"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"你需要先設定 PIN,才能設定「指紋解鎖」和「面孔解鎖」。\n\n平板電腦遺失或被盜時,PIN 可保護平板電腦中的資料。"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"你需要先設定圖案,才能設定「指紋解鎖」和「面孔解鎖」。\n\n平板電腦遺失或被盜時,圖案可保護平板電腦中的資料。"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"你需要先設定密碼,才能設定「指紋解鎖」和「面孔解鎖」。\n\n平板電腦遺失或被盜時,密碼可保護平板電腦中的資料。"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"你需要先設定 PIN,才能設定「指紋解鎖」和「面孔解鎖」。\n\n裝置遺失或被盜時,PIN 可保護裝置中的資料。"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"你需要先設定圖案,才能設定「指紋解鎖」和「面孔解鎖」。\n\n裝置遺失或被盜時,圖案可保護裝置中的資料。"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"你需要先設定密碼,才能設定「指紋解鎖」和「面孔解鎖」。\n\n裝置遺失或被盜時,密碼可保護裝置中的資料。"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"你需要先設定 PIN,才能設定「指紋解鎖」和「面孔解鎖」。\n\n手機遺失或被盜時,PIN 可保護手機中的資料。"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"你需要先設定圖案,才能設定「指紋解鎖」和「面孔解鎖」。\n\n手機遺失或被盜時,圖案可保護手機中的資料。"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"你需要先設定密碼,才能設定「指紋解鎖」和「面孔解鎖」。\n\n手機遺失或被盜時,密碼可保護手機中的資料。"</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"此操作會刪除與手機上儲存的「<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>」相關聯的指紋圖像和模型"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"此操作會刪除與平板電腦上儲存的「<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>」相關聯的指紋圖像和模型"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"此操作會刪除與裝置上儲存的「<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>」相關聯的指紋圖像和模型"</string>
diff --git a/res-product/values-zh-rTW/strings.xml b/res-product/values-zh-rTW/strings.xml
index 85d560e..d521710 100644
--- a/res-product/values-zh-rTW/strings.xml
+++ b/res-product/values-zh-rTW/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"你必須先設定 PIN 碼,才能設定人臉解鎖功能。\n\n手機遺失或遭竊時,PIN 碼可以保護手機。"</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"你必須先設定解鎖圖案,才能設定人臉解鎖功能。\n\n手機遺失或遭竊時,解鎖圖案可以保護手機。"</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"你必須先設定密碼,才能設定人臉解鎖功能。\n\n手機遺失或遭竊時,密碼可以保護手機。"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"你必須先設定 PIN 碼,才能設定人臉解鎖和指紋解鎖功能。\n\n平板電腦遺失或遭竊時,PIN 碼可以保護平板電腦。"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"你必須先設定解鎖圖案,才能設定人臉解鎖和指紋解鎖功能。\n\n平板電腦遺失或遭竊時,解鎖圖案可以保護平板電腦。"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"你必須先設定密碼,才能設定人臉解鎖和指紋解鎖功能。\n\n平板電腦遺失或遭竊時,密碼可以保護平板電腦。"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"你必須先設定 PIN 碼,才能設定人臉解鎖和指紋解鎖功能。\n\n裝置遺失或遭竊時,PIN 碼可以保護裝置。"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"你必須先設定解鎖圖案,才能設定人臉解鎖和指紋解鎖功能。\n\n裝置遺失或遭竊時,解鎖圖案可以保護裝置。"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"你必須先設定密碼,才能設定人臉解鎖和指紋解鎖功能。\n\n裝置遺失或遭竊時,密碼可以保護裝置。"</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"你必須先設定 PIN 碼,才能設定人臉解鎖和指紋解鎖功能。\n\n手機遺失或遭竊時,PIN 碼可以保護手機。"</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"你必須先設定解鎖圖案,才能設定人臉解鎖和指紋解鎖功能。\n\n手機遺失或遭竊時,解鎖圖案可以保護手機。"</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"你必須先設定密碼,才能設定人臉解鎖和指紋解鎖功能。\n\n手機遺失或遭竊時,密碼可以保護手機。"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"必須先設定 PIN 碼,才能設定指紋解鎖和人臉解鎖功能。\n\n平板電腦遺失或遭竊時,PIN 碼可以保護平板電腦中的資料。"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"必須先設定解鎖圖案,才能設定指紋解鎖和人臉解鎖功能。\n\n平板電腦遺失或遭竊時,解鎖圖案可以保護平板電腦中的資料。"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"必須先設定密碼,才能設定指紋解鎖和人臉解鎖功能。\n\n平板電腦遺失或遭竊時,密碼可以保護平板電腦中的資料。"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"必須先設定 PIN 碼,才能設定指紋解鎖和人臉解鎖功能。\n\n裝置遺失或遭竊時,PIN 碼可以保護裝置中的資料。"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"必須先設定解鎖圖案,才能設定指紋解鎖和人臉解鎖功能。\n\n裝置遺失或遭竊時,解鎖圖案可以保護裝置中的資料。"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"必須先設定密碼,才能設定指紋解鎖和人臉解鎖功能。\n\n裝置遺失或遭竊時,密碼可以保護裝置中的資料。"</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"必須先設定 PIN 碼,才能設定指紋解鎖和人臉解鎖功能。\n\n手機遺失或遭竊時,PIN 碼可以保護手機中的資料。"</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"必須先設定解鎖圖案,才能設定指紋解鎖和人臉解鎖功能。\n\n手機遺失或遭竊時,解鎖圖案可以保護手機中的資料。"</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"必須先設定密碼,才能設定指紋解鎖和人臉解鎖功能。\n\n手機遺失或遭竊時,密碼可以保護手機中的資料。"</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"這項操作會刪除手機上儲存的「<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>」相關指紋圖像和模型"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"如果指紋圖像和模型與平板電腦上儲存的「<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>」相關聯,系統也將一併刪除"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"系統會一併刪除裝置上與「<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>」連結的指紋圖像和模型"</string>
diff --git a/res-product/values-zu/strings.xml b/res-product/values-zu/strings.xml
index 5ead8ab..2d97aa9 100644
--- a/res-product/values-zu/strings.xml
+++ b/res-product/values-zu/strings.xml
@@ -179,15 +179,15 @@
<string name="lock_screen_pin_skip_face_message" product="default" msgid="358903382559327157">"Iphinikhodi iyadingeka ukusetha Ukuvula ngobuso.\n\nIphinikhodi ivikela ifoni uma ilahlekile noma intshontshiwe."</string>
<string name="lock_screen_pattern_skip_face_message" product="default" msgid="6400426500859622964">"Iphethini iyadingeka ukusetha Ukuvula ngobuso.\n\nIphethini ivikela ifoni uma ilahlekile noma intshontshiwe."</string>
<string name="lock_screen_password_skip_face_message" product="default" msgid="1555954661782997039">"Iphasiwedi iyadingeka ukusetha Ukuvula ngobuso.\n\nIphasiwedi ivikela ifoni uma ilahlekile noma intshontshiwe."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="3792419626110520922">"Iphinikhodi iyadingeka ukusetha Ukuvula ngobuso Nokuvula Ngesigxivizo Seminwe.\n\nIphinikhodi ivikela ithebulethi uma ilahlekile noma intshontshiwe."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="2937217199563914791">"Iphethini iyadingeka ukusetha Ukuvula ngobuso Nokuvula Ngesigxivizo Seminwe.\n\nIphethini ivikela ithebulethi uma ilahlekile noma intshontshiwe."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="1988360407507443804">"Iphasiwedi iyadingeka ukusetha Ukuvula ngobuso Nokuvula Ngesigxivizo Seminwe.\n\nIphasiwedi ivikela ithebulethi uma ilahlekile noma intshontshiwe."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="4423227124669516582">"Iphinikhodi iyadingeka ukusetha Ukuvula ngobuso Nokuvula Ngesigxivizo Seminwe.\n\nIphinikhodi ivikela idivayisi uma ilahlekile noma intshontshiwe."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="6409777941433213751">"Iphethini iyadingeka ukusetha Ukuvula ngobuso Nokuvula Ngesigxivizo Seminwe.\n\nIphethini ivikela idivayisi uma ilahlekile noma intshontshiwe."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="7939217127900065677">"Iphasiwedi iyadingeka ukusetha Ukuvula ngobuso Nokuvula Ngesigxivizo Seminwe.\n\nIphasiwedi ivikela idivayisi uma ilahlekile noma intshontshiwe."</string>
- <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="2717938545326672010">"Iphinikhodi iyadingeka ukusetha Ukuvula ngobuso Nokuvula Ngesigxivizo Seminwe.\n\nIphinikhodi ivikela ifoni uma ilahlekile noma intshontshiwe."</string>
- <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="6067309080610183546">"Iphethini iyadingeka ukusetha Ukuvula ngobuso Nokuvula Ngesigxivizo Seminwe.\n\nIphethini ivikela ifoni uma ilahlekile noma intshontshiwe."</string>
- <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="4739690336878613804">"Iphasiwedi iyadingeka ukusetha Ukuvula ngobuso Nokuvula Ngesigxivizo Seminwe.\n\nIphasiwedi ivikela ifoni uma ilahlekile noma intshontshiwe."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet" msgid="6016574209955764097">"Iphinikhodi iyadingeka ukuze usethe Ukuvula ngesigxivizo somunwe kanye Nokuvula Ngobuso.\n\nIphinikhodi ivikela ithebulethi uma ilahlekile noma intshontshiwe."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet" msgid="5193008948766756870">"Iphethini iyadingeka ukuze usethe Ukuvula ngesigxivizo somunwe kanye Nokuvula Ngobuso.\n\nIphethini ivikela ithebulethi uma ilahlekile noma intshontshiwe."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet" msgid="2157871617774498976">"Iphasiwedi iyadingeka ukuze usethe Ukuvula ngesigxivizo somunwe kanye Nokuvula Ngobuso.\n\nIphasiwedi ivikela ithebulethi uma ilahlekile noma intshontshiwe."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device" msgid="3023595865822720071">"Iphinikhodi iyadingeka ukuze usethe Ukuvula ngesigxivizo somunwe kanye Nokuvula Ngobuso.\n\nIphinikhodi ivikela idivayisi uma ilahlekile noma intshontshiwe."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device" msgid="3039110875534893916">"Iphethini iyadingeka ukuze usethe Ukuvula ngesigxivizo somunwe kanye Nokuvula Ngobuso.\n\nIphethini ivikela idivayisi uma ilahlekile noma intshontshiwe."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device" msgid="6506194961404887073">"Iphasiwedi iyadingeka ukuze usethe Ukuvula ngesigxivizo somunwe kanye Nokuvula Ngobuso.\n\nIphasiwedi ivikela idivayisi uma ilahlekile noma intshontshiwe."</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default" msgid="6614355211073480369">"Iphinikhodi iyadingeka ukuze usethe Ukuvula ngesigxivizo somunwe kanye Nokuvula Ngobuso.\n\nIphinikhodi ivikela ifoni uma ilahlekile noma intshontshiwe."</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default" msgid="969489650005656159">"Iphethini iyadingeka ukuze usethe Ukuvula ngesigxivizo somunwe kanye Nokuvula Ngobuso.\n\nIphethini ivikela ifoni uma ilahlekile noma intshontshiwe."</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default" msgid="2934343185175325368">"Iphasiwedi iyadingeka ukuze usethe Ukuvula ngesigxivizo somunwe kanye Nokuvula Ngobuso.\n\nIphasiwedi ivikela ifoni uma ilahlekile noma intshontshiwe."</string>
<string name="fingerprint_v2_delete_message" product="default" msgid="8723083814238510088">"Lokhu kusula imifanekiso yesigxivizo somunwe nemodeli ehambisana ne-\'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' egcinwe kufoni yakho"</string>
<string name="fingerprint_v2_delete_message" product="tablet" msgid="527375244730792698">"Lokhu kusula imifanekiso yesigxivizo somunwe nemodeli ehambisana ne-\'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' egcinwe kwithebulethi yakho"</string>
<string name="fingerprint_v2_delete_message" product="device" msgid="4549780655045100171">"Lokhu kusula izithombe zezigxivizo zeminwe nemodeli ehambisana ne-\'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' ezigcinwe kwidivayisi yakho"</string>
diff --git a/res-product/values/strings.xml b/res-product/values/strings.xml
index 987548a..83963cb 100644
--- a/res-product/values/strings.xml
+++ b/res-product/values/strings.xml
@@ -338,23 +338,23 @@
<!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face. (default) [CHAR LIMIT=NONE] -->
<string name="lock_screen_password_skip_face_message" product="default">A password is required to set up Face Unlock.\n\nA password protects the phone if it\u2019s lost or stolen.</string>
<!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (tablet) [CHAR LIMIT=NONE] -->
- <string name="lock_screen_pin_skip_biometrics_message" product="tablet">A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the tablet if it\u2019s lost or stolen.</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="tablet">A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the tablet if it\u2019s lost or stolen.</string>
<!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (tablet) [CHAR LIMIT=NONE] -->
- <string name="lock_screen_pattern_skip_biometrics_message" product="tablet">A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the tablet if it\u2019s lost or stolen.</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="tablet">A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the tablet if it\u2019s lost or stolen.</string>
<!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (tablet) [CHAR LIMIT=NONE] -->
- <string name="lock_screen_password_skip_biometrics_message" product="tablet">A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the tablet if it\u2019s lost or stolen.</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="tablet">A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the tablet if it\u2019s lost or stolen.</string>
<!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (device) [CHAR LIMIT=NONE] -->
- <string name="lock_screen_pin_skip_biometrics_message" product="device">A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the device if it\u2019s lost or stolen.</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="device">A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the device if it\u2019s lost or stolen.</string>
<!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (device) [CHAR LIMIT=NONE] -->
- <string name="lock_screen_pattern_skip_biometrics_message" product="device">A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the device if it\u2019s lost or stolen.</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="device">A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the device if it\u2019s lost or stolen.</string>
<!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (device) [CHAR LIMIT=NONE] -->
- <string name="lock_screen_password_skip_biometrics_message" product="device">A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the device if it\u2019s lost or stolen.</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="device">A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the device if it\u2019s lost or stolen.</string>
<!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (default) [CHAR LIMIT=NONE] -->
- <string name="lock_screen_pin_skip_biometrics_message" product="default">A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the phone if it\u2019s lost or stolen.</string>
+ <string name="lock_screen_pin_skip_biometrics_message" product="default">A PIN is required to set up Fingerprint Unlock and Face Unlock.\n\nA PIN protects the phone if it\u2019s lost or stolen.</string>
<!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (default) [CHAR LIMIT=NONE] -->
- <string name="lock_screen_pattern_skip_biometrics_message" product="default">A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the phone if it\u2019s lost or stolen.</string>
+ <string name="lock_screen_pattern_skip_biometrics_message" product="default">A pattern is required to set up Fingerprint Unlock and Face Unlock.\n\nA pattern protects the phone if it\u2019s lost or stolen.</string>
<!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (default) [CHAR LIMIT=NONE] -->
- <string name="lock_screen_password_skip_biometrics_message" product="default">A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the phone if it\u2019s lost or stolen.</string>
+ <string name="lock_screen_password_skip_biometrics_message" product="default">A password is required to set up Fingerprint Unlock and Face Unlock.\n\nA password protects the phone if it\u2019s lost or stolen.</string>
<!-- Message shown in a dialog which asks the user to confirm when a single fingerprint gets deleted. [CHAR LIMIT=NONE]-->
<string name="fingerprint_v2_delete_message" product="default">This deletes the fingerprint images and model associated with \'<xliff:g id="fingerprint_id" example="Fingerprint 2">%1$s</xliff:g>\' that are stored on your phone</string>
<!-- Message shown in a dialog which asks the user to confirm when a single fingerprint gets deleted. [CHAR LIMIT=NONE]-->
diff --git a/res/color/modes_icon_picker_item_background.xml b/res/color/modes_icon_picker_item_background.xml
new file mode 100644
index 0000000..f9280c6
--- /dev/null
+++ b/res/color/modes_icon_picker_item_background.xml
@@ -0,0 +1,25 @@
+<!--
+ ~ Copyright (C) 2024 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<!-- Color list for the background in each item in the icon picker list. -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">
+
+ <item android:state_pressed="true" android:color="?androidprv:attr/materialColorPrimary" />
+ <item android:state_selected="true" android:color="?androidprv:attr/materialColorPrimary" />
+ <item android:color="?androidprv:attr/materialColorSecondaryContainer" />
+</selector>
diff --git a/res/color/modes_icon_picker_item_icon.xml b/res/color/modes_icon_picker_item_icon.xml
new file mode 100644
index 0000000..8a517d5
--- /dev/null
+++ b/res/color/modes_icon_picker_item_icon.xml
@@ -0,0 +1,25 @@
+<!--
+ ~ Copyright (C) 2024 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<!-- Color list for the icon in each item in the icon picker list. -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">
+
+ <item android:state_pressed="true" android:color="?androidprv:attr/materialColorOnPrimary" />
+ <item android:state_selected="true" android:color="?androidprv:attr/materialColorOnPrimary" />
+ <item android:color="?androidprv:attr/materialColorOnSecondaryContainer" />
+</selector>
diff --git a/res/drawable/external_display_mirror_landscape.xml b/res/drawable/external_display_mirror_landscape.xml
new file mode 100644
index 0000000..4272ddb
--- /dev/null
+++ b/res/drawable/external_display_mirror_landscape.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2024 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT 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:height="232.02106dp"
+ android:viewportHeight="214"
+ android:viewportWidth="380"
+ android:width="412dp">
+ <path
+ android:pathData="M16,0L364,0A16,16 0,0 1,380 16L380,198A16,16 0,0 1,364 214L16,214A16,16 0,0 1,0 198L0,16A16,16 0,0 1,16 0z"
+ android:fillColor="#00000000"/>
+ <path
+ android:pathData="M150.5,38L327.5,38A5.5,5.5 0,0 1,333 43.5L333,138.5A5.5,5.5 0,0 1,327.5 144L150.5,144A5.5,5.5 0,0 1,145 138.5L145,43.5A5.5,5.5 0,0 1,150.5 38z"
+ android:fillColor="#80868B"/>
+ <path
+ android:pathData="M150.58,39L327.42,39A4.58,4.58 0,0 1,332 43.58L332,138.42A4.58,4.58 0,0 1,327.42 143L150.58,143A4.58,4.58 0,0 1,146 138.42L146,43.58A4.58,4.58 0,0 1,150.58 39z"
+ android:fillColor="#000000"/>
+ <path
+ android:pathData="M254.25,144H223.75L221.52,173.34C221.48,173.82 221.08,174.18 220.6,174.18H211.37C211.25,174.18 211.12,174.21 211.01,174.26C210.11,174.65 210.39,176 211.37,176H266.63C267.61,176 267.89,174.65 266.99,174.26C266.88,174.21 266.75,174.18 266.63,174.18H257.4C256.92,174.18 256.52,173.82 256.48,173.34L254.25,144Z"
+ android:fillColor="#5F6368"/>
+ <path
+ android:pathData="M330,53L330,129A3,3 0,0 1,327 132L151,132A3,3 0,0 1,148 129L148,53A3,3 0,0 1,151 50L327,50A3,3 0,0 1,330 53z"
+ android:strokeWidth="2"
+ android:fillColor="#00000000"
+ android:strokeColor="#E0E994"/>
+ <path
+ android:pathData="M113,91.08V86.55C113,86.25 112.88,85.96 112.67,85.75C112.45,85.54 112.17,85.42 111.86,85.41V61.64C111.84,60.15 111.24,58.72 110.17,57.66C109.1,56.61 107.66,56.01 106.16,56H53.71C52.2,56.01 50.75,56.61 49.68,57.67C48.62,58.73 48.01,60.17 48,61.66V170.34C48.01,171.83 48.62,173.27 49.68,174.33C50.75,175.39 52.2,175.99 53.71,176H106.16C107.67,175.99 109.11,175.39 110.18,174.33C111.25,173.27 111.85,171.83 111.86,170.34V114.86C112.16,114.86 112.45,114.74 112.67,114.52C112.88,114.31 113,114.03 113,113.73V102.4C113,102.1 112.88,101.82 112.67,101.6C112.45,101.39 112.17,101.27 111.86,101.27V92.21C112.16,92.21 112.45,92.09 112.67,91.88C112.88,91.67 113,91.38 113,91.08ZM110.72,170.34C110.72,171.54 110.24,172.69 109.38,173.54C108.53,174.39 107.37,174.87 106.16,174.87H53.71C52.5,174.87 51.34,174.39 50.48,173.54C49.62,172.69 49.14,171.54 49.14,170.34V61.64C49.14,60.44 49.62,59.29 50.48,58.44C51.34,57.59 52.5,57.11 53.71,57.11H106.16C107.37,57.11 108.53,57.59 109.38,58.44C110.24,59.29 110.72,60.44 110.72,61.64V170.34Z"
+ android:fillColor="#80868B"/>
+ <path
+ android:pathData="M54,59L106,59A3,3 0,0 1,109 62L109,170A3,3 0,0 1,106 173L54,173A3,3 0,0 1,51 170L51,62A3,3 0,0 1,54 59z"
+ android:strokeColor="#E0E994"
+ android:strokeWidth="2"
+ android:fillColor="#000000"/>
+ <path
+ android:pathData="M80,184.72V189.7C80,193.73 83.27,197 87.3,197H164.7C168.73,197 172,193.73 172,189.7V144"
+ android:strokeColor="#5F6368"
+ android:strokeWidth="0.684"
+ android:fillColor="#00000000"/>
+ <path
+ android:pathData="M77,176H83V184.09C83,184.59 82.59,185 82.09,185H77.91C77.41,185 77,184.59 77,184.09V176Z"
+ android:fillColor="#5F6368"/>
+</vector>
diff --git a/res/drawable/external_display_mirror_portrait.xml b/res/drawable/external_display_mirror_portrait.xml
new file mode 100644
index 0000000..0fe7f93
--- /dev/null
+++ b/res/drawable/external_display_mirror_portrait.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2024 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT 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:height="232.02106dp"
+ android:viewportHeight="214"
+ android:viewportWidth="380"
+ android:width="412dp" >
+ <path
+ android:pathData="M16,0L364,0A16,16 0,0 1,380 16L380,198A16,16 0,0 1,364 214L16,214A16,16 0,0 1,0 198L0,16A16,16 0,0 1,16 0z"
+ android:fillColor="#00000000"/>
+ <path
+ android:pathData="M150.5,38L327.5,38A5.5,5.5 0,0 1,333 43.5L333,138.5A5.5,5.5 0,0 1,327.5 144L150.5,144A5.5,5.5 0,0 1,145 138.5L145,43.5A5.5,5.5 0,0 1,150.5 38z"
+ android:fillColor="#80868B"/>
+ <path
+ android:pathData="M150.58,39L327.42,39A4.58,4.58 0,0 1,332 43.58L332,138.42A4.58,4.58 0,0 1,327.42 143L150.58,143A4.58,4.58 0,0 1,146 138.42L146,43.58A4.58,4.58 0,0 1,150.58 39z"
+ android:fillColor="#000000"/>
+ <path
+ android:pathData="M254.25,144H223.75L221.52,173.34C221.48,173.82 221.08,174.18 220.6,174.18H211.37C211.25,174.18 211.12,174.21 211.01,174.26C210.11,174.65 210.39,176 211.37,176H266.63C267.61,176 267.89,174.65 266.99,174.26C266.88,174.21 266.75,174.18 266.63,174.18H257.4C256.92,174.18 256.52,173.82 256.48,173.34L254.25,144Z"
+ android:fillColor="#5F6368"/>
+ <path
+ android:pathData="M216,41L262,41A3,3 0,0 1,265 44L265,138A3,3 0,0 1,262 141L216,141A3,3 0,0 1,213 138L213,44A3,3 0,0 1,216 41z"
+ android:strokeWidth="2"
+ android:fillColor="#00000000"
+ android:strokeColor="#E0E994"/>
+ <path
+ android:pathData="M113,91.08V86.55C113,86.25 112.88,85.96 112.67,85.75C112.45,85.54 112.17,85.42 111.86,85.41V61.64C111.84,60.15 111.24,58.72 110.17,57.66C109.1,56.61 107.66,56.01 106.16,56H53.71C52.2,56.01 50.75,56.61 49.68,57.67C48.62,58.73 48.01,60.17 48,61.66V170.34C48.01,171.83 48.62,173.27 49.68,174.33C50.75,175.39 52.2,175.99 53.71,176H106.16C107.67,175.99 109.11,175.39 110.18,174.33C111.25,173.27 111.85,171.83 111.86,170.34V114.86C112.16,114.86 112.45,114.74 112.67,114.52C112.88,114.31 113,114.03 113,113.73V102.4C113,102.1 112.88,101.82 112.67,101.6C112.45,101.39 112.17,101.27 111.86,101.27V92.21C112.16,92.21 112.45,92.09 112.67,91.88C112.88,91.67 113,91.38 113,91.08ZM110.72,170.34C110.72,171.54 110.24,172.69 109.38,173.54C108.53,174.39 107.37,174.87 106.16,174.87H53.71C52.5,174.87 51.34,174.39 50.48,173.54C49.62,172.69 49.14,171.54 49.14,170.34V61.64C49.14,60.44 49.62,59.29 50.48,58.44C51.34,57.59 52.5,57.11 53.71,57.11H106.16C107.37,57.11 108.53,57.59 109.38,58.44C110.24,59.29 110.72,60.44 110.72,61.64V170.34Z"
+ android:fillColor="#80868B"/>
+ <path
+ android:pathData="M54,59L106,59A3,3 0,0 1,109 62L109,170A3,3 0,0 1,106 173L54,173A3,3 0,0 1,51 170L51,62A3,3 0,0 1,54 59z"
+ android:strokeColor="#E0E994"
+ android:strokeWidth="2"
+ android:fillColor="#000000"/>
+ <path
+ android:pathData="M80,184.72V189.7C80,193.73 83.27,197 87.3,197H164.7C168.73,197 172,193.73 172,189.7V144"
+ android:strokeColor="#5F6368"
+ android:strokeWidth="0.684"
+ android:fillColor="#00000000"/>
+ <path
+ android:pathData="M77,176H83V184.09C83,184.59 82.59,185 82.09,185H77.91C77.41,185 77,184.59 77,184.09V176Z"
+ android:fillColor="#5F6368"/>
+</vector>
diff --git a/res/drawable/ic_do_not_disturb_on_24dp.xml b/res/drawable/ic_do_not_disturb_on_24dp.xml
deleted file mode 100644
index cace8d4..0000000
--- a/res/drawable/ic_do_not_disturb_on_24dp.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<!--
- Copyright (C) 2018 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT 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.0"
- android:viewportHeight="24.0"
- android:tint="?android:attr/colorControlNormal">
- <path
- android:fillColor="#FFFFFFFF"
- android:pathData="M12,2C6.48,2 2,6.48 2,12c0,5.52 4.48,10 10,10c5.52,0 10,-4.48 10,-10C22,6.48 17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8c0,-4.41 3.59,-8 8,-8c4.41,0 8,3.59 8,8C20,16.41 16.41,20 12,20z"/>
- <path
- android:fillColor="#FFFFFFFF"
- android:pathData="M7,11h10v2h-10z"/>
-</vector>
diff --git a/res/drawable/ic_external_display_32dp.xml b/res/drawable/ic_external_display_32dp.xml
new file mode 100644
index 0000000..3e18282
--- /dev/null
+++ b/res/drawable/ic_external_display_32dp.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2024 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT 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="32dp"
+ android:height="32dp"
+ android:viewportWidth="32"
+ android:viewportHeight="32">
+ <path
+ android:pathData="M16,16m-16,0a16,16 0,1 1,32 0a16,16 0,1 1,-32 0"
+ android:fillColor="#FAFBD8"/>
+ <group>
+ <clip-path
+ android:pathData="M5.333,5.332h21.333v21.333h-21.333z"/>
+ <path
+ android:pathData="M12.689,23.288V21.643H14.333V19.976H9C8.555,19.976 8.17,19.813 7.844,19.488C7.518,19.162 7.355,18.769 7.355,18.31V9.665C7.355,9.206 7.518,8.814 7.844,8.488C8.17,8.162 8.555,7.999 9,7.999H23C23.444,7.999 23.829,8.162 24.155,8.488C24.481,8.814 24.644,9.206 24.644,9.665V18.31C24.644,18.769 24.481,19.162 24.155,19.488C23.829,19.813 23.444,19.976 23,19.976H17.666V21.643H19.311V23.288H12.689ZM9,18.31H23V9.665H9V18.31ZM9,18.31V9.665V18.31Z"
+ android:fillColor="#8E964B"/>
+ </group>
+</vector>
diff --git a/res/drawable/ic_zen_mode_action_change_icon.xml b/res/drawable/ic_zen_mode_new_option_custom.xml
similarity index 65%
rename from res/drawable/ic_zen_mode_action_change_icon.xml
rename to res/drawable/ic_zen_mode_new_option_custom.xml
index 4cf4167..c3a45cc 100644
--- a/res/drawable/ic_zen_mode_action_change_icon.xml
+++ b/res/drawable/ic_zen_mode_new_option_custom.xml
@@ -21,5 +21,5 @@
android:viewportWidth="960">
<path
android:fillColor="@android:color/white"
- android:pathData="M620,440Q645,440 662.5,422.5Q680,405 680,380Q680,355 662.5,337.5Q645,320 620,320Q595,320 577.5,337.5Q560,355 560,380Q560,405 577.5,422.5Q595,440 620,440ZM340,440Q365,440 382.5,422.5Q400,405 400,380Q400,355 382.5,337.5Q365,320 340,320Q315,320 297.5,337.5Q280,355 280,380Q280,405 297.5,422.5Q315,440 340,440ZM480,700Q548,700 603.5,661.5Q659,623 684,560L276,560Q301,623 356.5,661.5Q412,700 480,700ZM480,880Q397,880 324,848.5Q251,817 197,763Q143,709 111.5,636Q80,563 80,480Q80,397 111.5,324Q143,251 197,197Q251,143 324,111.5Q397,80 480,80Q563,80 636,111.5Q709,143 763,197Q817,251 848.5,324Q880,397 880,480Q880,563 848.5,636Q817,709 763,763Q709,817 636,848.5Q563,880 480,880ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800Z" />
+ android:pathData="M620,440Q645,440 662.5,422.5Q680,405 680,380Q680,355 662.5,337.5Q645,320 620,320Q595,320 577.5,337.5Q560,355 560,380Q560,405 577.5,422.5Q595,440 620,440ZM340,440Q365,440 382.5,422.5Q400,405 400,380Q400,355 382.5,337.5Q365,320 340,320Q315,320 297.5,337.5Q280,355 280,380Q280,405 297.5,422.5Q315,440 340,440ZM480,700Q548,700 603.5,661.5Q659,623 684,560L618,560Q596,597 559.5,618.5Q523,640 480,640Q437,640 400.5,618.5Q364,597 342,560L276,560Q301,623 356.5,661.5Q412,700 480,700ZM480,880Q397,880 324,848.5Q251,817 197,763Q143,709 111.5,636Q80,563 80,480Q80,397 111.5,324Q143,251 197,197Q251,143 324,111.5Q397,80 480,80Q563,80 636,111.5Q709,143 763,197Q817,251 848.5,324Q880,397 880,480Q880,563 848.5,636Q817,709 763,763Q709,817 636,848.5Q563,880 480,880ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800Z" />
</vector>
\ No newline at end of file
diff --git a/res/layout-land/request_manage_credentials.xml b/res/layout-land/request_manage_credentials.xml
index fbe0bd0..f6bfa0e 100644
--- a/res/layout-land/request_manage_credentials.xml
+++ b/res/layout-land/request_manage_credentials.xml
@@ -16,6 +16,7 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:fitsSystemWindows="true"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
diff --git a/res/layout-sw600dp/request_manage_credentials.xml b/res/layout-sw600dp/request_manage_credentials.xml
index 42facd3..529edf1 100644
--- a/res/layout-sw600dp/request_manage_credentials.xml
+++ b/res/layout-sw600dp/request_manage_credentials.xml
@@ -17,6 +17,7 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:fitsSystemWindows="true"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
diff --git a/res/layout/advanced_bt_entity_sub.xml b/res/layout/advanced_bt_entity_sub.xml
index d29c34f..90ac456 100644
--- a/res/layout/advanced_bt_entity_sub.xml
+++ b/res/layout/advanced_bt_entity_sub.xml
@@ -17,21 +17,43 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:focusable="true"
android:orientation="vertical">
- <ImageView
- android:id="@+id/header_icon"
- android:layout_width="72dp"
- android:layout_height="72dp"
- android:layout_gravity="center_horizontal"
- android:antialias="true"
- android:background="@drawable/circle_outline"
- android:padding="8dp"
- android:scaleType="fitCenter"/>
+ <FrameLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal">
+ <ImageView
+ android:id="@+id/header_icon"
+ android:layout_width="72dp"
+ android:layout_height="72dp"
+ android:layout_gravity="center"
+ android:antialias="true"
+ android:background="@drawable/circle_outline"
+ android:padding="8dp"
+ android:scaleType="fitCenter" />
+
+ <com.google.android.material.progressindicator.CircularProgressIndicator
+ android:id="@+id/battery_ring"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:indeterminate="false"
+ app:trackColor="@android:color/transparent"
+ app:indicatorColor="@color/bluetooth_battery_ring_indicator_color"
+ app:trackThickness="4dp"
+ app:indicatorSize="76dp"
+ app:indicatorInset="0dp"
+ app:trackCornerRadius="2dp"
+ android:max="100"
+ android:visibility="gone" />
+
+ </FrameLayout>
<TextView
android:id="@+id/header_title"
diff --git a/res/layout/modes_edit_done_button.xml b/res/layout/modes_edit_done_button.xml
new file mode 100644
index 0000000..dc1f54d
--- /dev/null
+++ b/res/layout/modes_edit_done_button.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2024 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+ <Button
+ android:id="@+id/done"
+ android:text="@string/done"
+ style="@style/ActionPrimaryButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="end"
+ android:layout_marginEnd="20dp"
+ />
+</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/modes_edit_name.xml b/res/layout/modes_edit_name.xml
new file mode 100644
index 0000000..0b086c7
--- /dev/null
+++ b/res/layout/modes_edit_name.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2024 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT 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:paddingStart="?android:attr/listPreferredItemPaddingStart"
+ android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
+
+ <EditText
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:id="@android:id/edit"
+ android:maxLines="1"
+ android:inputType="text|textCapSentences"
+ android:imeOptions="actionDone"
+ android:selectAllOnFocus="true"
+ android:hint="@string/zen_mode_edit_name_hint" />
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/modes_icon_list_item.xml b/res/layout/modes_icon_list_item.xml
index aa45de3..72aef52 100644
--- a/res/layout/modes_icon_list_item.xml
+++ b/res/layout/modes_icon_list_item.xml
@@ -24,8 +24,8 @@
<ImageView
android:id="@+id/icon_image_view"
- android:layout_width="@dimen/zen_mode_icon_list_circle_diameter"
- android:layout_height="@dimen/zen_mode_icon_list_circle_diameter"
+ android:layout_width="@dimen/zen_mode_icon_list_item_circle_diameter"
+ android:layout_height="@dimen/zen_mode_icon_list_item_circle_diameter"
android:importantForAccessibility="no"
android:layout_gravity="center" />
</FrameLayout>
diff --git a/res/layout/modes_set_schedule_layout.xml b/res/layout/modes_set_schedule_layout.xml
index 5758cfb..ebb349e 100644
--- a/res/layout/modes_set_schedule_layout.xml
+++ b/res/layout/modes_set_schedule_layout.xml
@@ -30,63 +30,78 @@
android:paddingBottom="24dp">
<!-- Start time & end time row -->
- <LinearLayout
+ <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="fill_horizontal"
android:orientation="horizontal">
- <!-- Start time: title (non-clickable preference), time setter -->
- <LinearLayout
- android:layout_width="0dp"
+ <!-- Start time title (non-clickable preference) -->
+ <TextView
+ android:id="@+id/start_time_label"
+ android:clickable="false"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_weight="1"
- android:orientation="vertical">
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintEnd_toStartOf="@+id/guideline"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constrainedWidth="true"
+ app:layout_constraintHorizontal_bias="0"
+ android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Medium"
+ android:text="@string/zen_mode_start_time" />
- <TextView
- android:id="@+id/start_time_label"
- android:clickable="false"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Medium"
- android:text="@string/zen_mode_start_time" />
-
- <TextView
- android:id="@+id/start_time"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Title"
- android:textColor="?android:attr/colorAccent"
- android:textSize="40sp" />
-
- </LinearLayout>
-
- <!-- End time: title (non-clickable preference), time setter -->
- <LinearLayout
- android:layout_width="0dp"
+ <!-- Start time display + setter -->
+ <TextView
+ android:id="@+id/start_time"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_weight="1"
- android:orientation="vertical">
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/start_time_label"
+ app:layout_constraintEnd_toStartOf="@+id/guideline"
+ app:layout_constrainedWidth="true"
+ app:layout_constraintHorizontal_bias="0"
+ android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Title"
+ android:textColor="?android:attr/colorAccent"
+ android:textSize="40sp" />
- <TextView
- android:id="@+id/end_time_label"
- android:clickable="false"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Medium"
- android:text="@string/zen_mode_end_time" />
+ <!-- Center boundary to make sure each only expands to take up at most half the space -->
+ <androidx.constraintlayout.widget.Guideline
+ android:id="@+id/guideline"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ app:layout_constraintGuide_percent="0.5" />
- <TextView
- android:id="@+id/end_time"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Title"
- android:textColor="?android:attr/colorAccent"
- android:textSize="40sp" />
+ <!-- End time title (non-clickable preference), left-aligned to edge of time display -->
+ <TextView
+ android:id="@+id/end_time_label"
+ android:clickable="false"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintStart_toStartOf="@+id/end_time"
+ app:layout_constraintStart_toEndOf="@+id/guideline"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constrainedWidth="true"
+ app:layout_constraintHorizontal_bias="0"
+ android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Medium"
+ android:text="@string/zen_mode_end_time" />
- </LinearLayout>
+ <!-- End time setter; right-aligned -->
+ <TextView
+ android:id="@+id/end_time"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ app:layout_constraintTop_toBottomOf="@+id/end_time_label"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toEndOf="@+id/guideline"
+ app:layout_constrainedWidth="true"
+ app:layout_constraintHorizontal_bias="1"
+ android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Title"
+ android:textColor="?android:attr/colorAccent"
+ android:textSize="40sp" />
- </LinearLayout>
+ </androidx.constraintlayout.widget.ConstraintLayout>
<!-- Schedule duration display row -->
<LinearLayout
diff --git a/res/layout/pointer_icon_stroke_style_layout.xml b/res/layout/pointer_icon_stroke_style_layout.xml
new file mode 100644
index 0000000..acf919a
--- /dev/null
+++ b/res/layout/pointer_icon_stroke_style_layout.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+ Copyright 2024 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT 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:gravity="center_vertical"
+ android:minHeight="?android:attr/listPreferredItemHeightSmall"
+ android:orientation="vertical"
+ android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+ android:paddingStart="?android:attr/listPreferredItemPaddingStart">
+
+ <TextView
+ android:id="@+id/title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/pointer_stroke_style_padding"
+ android:text="@string/pointer_stroke_style"
+ android:textAlignment="viewStart"
+ android:textAppearance="?android:attr/textAppearanceListItem" />
+
+ <RadioGroup
+ android:id="@+id/button_holder"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:layout_marginTop="@dimen/pointer_stroke_style_padding"
+ android:layout_marginBottom="@dimen/pointer_stroke_style_padding"
+ android:padding="@dimen/pointer_stroke_style_padding">
+ <RadioButton android:id="@+id/stroke_style_white"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="@dimen/pointer_stroke_style_padding"
+ android:text="@string/pointer_stroke_style_name_white"/>
+ <RadioButton android:id="@+id/stroke_style_black"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="@dimen/pointer_stroke_style_padding"
+ android:text="@string/pointer_stroke_style_name_black"/>
+ <RadioButton android:id="@+id/stroke_style_none"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="@dimen/pointer_stroke_style_padding"
+ android:text="@string/pointer_stroke_style_name_none"/>
+ </RadioGroup>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/private_space_education_screen.xml b/res/layout/private_space_education_screen.xml
index 4df92b7..3afe7f9 100644
--- a/res/layout/private_space_education_screen.xml
+++ b/res/layout/private_space_education_screen.xml
@@ -53,7 +53,7 @@
android:src="@drawable/counter_1_24dp" />
<TextView
style="@style/PrivateSpaceBulletPointTextFontStyle"
- android:layout_toRightOf="@+id/lockIcon"
+ android:layout_toEndOf="@+id/lockIcon"
android:text="@string/private_space_separate_account_text"/>
</RelativeLayout>
<RelativeLayout
@@ -64,7 +64,7 @@
android:src="@drawable/counter_2_24dp" />
<TextView
style="@style/PrivateSpaceBulletPointTextFontStyle"
- android:layout_toRightOf="@+id/bellIcon"
+ android:layout_toEndOf="@+id/bellIcon"
android:text="@string/private_space_protected_lock_text"/>
</RelativeLayout>
<RelativeLayout
@@ -77,7 +77,7 @@
android:src="@drawable/counter_3_24dp" />
<TextView
style="@style/PrivateSpaceBulletPointTextFontStyle"
- android:layout_toRightOf="@+id/appsIcon"
+ android:layout_toEndOf="@+id/appsIcon"
android:text="@string/private_space_install_apps_text"/>
</RelativeLayout>
<TextView
@@ -94,7 +94,7 @@
android:src="@drawable/ic_private_space_edu_icon" />
<TextView
style="@style/PrivateSpaceBulletPointTextFontStyle"
- android:layout_toRightOf="@+id/eduIcon"
+ android:layout_toEndOf="@+id/eduIcon"
android:text="@string/private_space_apps_stopped_text"/>
</RelativeLayout>
<Space
@@ -112,13 +112,13 @@
android:id="@+id/info"
style="@style/PrivateSpaceBulletPointTextFontStyle"
android:textSize = "14sp"
- android:layout_toRightOf="@+id/infoIcon"
+ android:layout_toEndOf="@+id/infoIcon"
android:text="@string/private_space_apps_permission_text"/>
<TextView
android:id="@+id/learn_more"
style="@style/PrivateSpaceSetupSubHeaderStyle"
android:layout_below="@id/info"
- android:layout_alignLeft="@+id/info"
+ android:layout_alignStart="@+id/info"
android:paddingTop="24dp"
android:paddingLeft="16dp"
android:text="@string/private_space_learn_more_text"/>
diff --git a/res/layout/request_manage_credentials.xml b/res/layout/request_manage_credentials.xml
index ee697f7..c25a35d 100644
--- a/res/layout/request_manage_credentials.xml
+++ b/res/layout/request_manage_credentials.xml
@@ -18,7 +18,8 @@
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
- android:layout_height="wrap_content"
+ android:layout_height="match_parent"
+ android:fitsSystemWindows="true"
android:clipChildren="true">
<RelativeLayout
diff --git a/res/layout/search_bar_unified_version.xml b/res/layout/search_bar_unified_version.xml
index a8ad6fc..dbcf266 100644
--- a/res/layout/search_bar_unified_version.xml
+++ b/res/layout/search_bar_unified_version.xml
@@ -45,6 +45,6 @@
android:layout_height="wrap_content"
android:paddingStart="8dp"
android:paddingEnd="8dp"
- android:text="@string/search_settings"/>
+ android:text="@string/homepage_search"/>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
diff --git a/res/layout/settings_homepage_container_v2.xml b/res/layout/settings_homepage_container_v2.xml
index 5ae5fbd..b244579 100644
--- a/res/layout/settings_homepage_container_v2.xml
+++ b/res/layout/settings_homepage_container_v2.xml
@@ -69,8 +69,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:paddingTop="8dp"
- android:paddingBottom="24dp"
+ android:paddingVertical="8dp"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
diff --git a/res/layout/zen_mode_type_item.xml b/res/layout/zen_mode_type_item.xml
new file mode 100644
index 0000000..841ca00
--- /dev/null
+++ b/res/layout/zen_mode_type_item.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2024 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT 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="?android:attr/selectableItemBackground"
+ android:gravity="center_vertical"
+ android:minHeight="?android:attr/listPreferredItemHeight"
+ android:paddingTop="8dp"
+ android:paddingBottom="8dp"
+ android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+ android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
+
+ <ImageView
+ android:id="@+id/icon"
+ android:layout_width="24dp"
+ android:layout_height="24dp"
+ android:layout_gravity="center" />
+
+ <RelativeLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:paddingStart="16dp"
+ android:layout_weight="1">
+
+ <TextView
+ android:id="@+id/title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:ellipsize="marquee"
+ android:fadingEdge="horizontal"
+ android:singleLine="true"
+ android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1"
+ android:textSize="16sp" />
+
+ <TextView
+ android:id="@+id/subtitle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignStart="@id/title"
+ android:layout_below="@id/title"
+ android:maxLines="2"
+ android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Subhead"
+ android:textColor="?android:attr/textColorSecondary"
+ android:textSize="14sp" />
+
+ </RelativeLayout>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/values-af/arrays.xml b/res/values-af/arrays.xml
index ddfc5af..6db2759 100644
--- a/res/values-af/arrays.xml
+++ b/res/values-af/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Slaaptyd"</item>
+ <item msgid="4152450357280759894">"Bestuur"</item>
+ <item msgid="7096549258219399423">"Meesleurend"</item>
+ <item msgid="2760716776980432977">"Bestuur"</item>
+ <item msgid="601734478369121764">"Ster"</item>
+ <item msgid="6243809315432780521">"Kalender"</item>
+ <item msgid="4913577903148415331">"Tyd"</item>
+ <item msgid="3653377604690057780">"Teater"</item>
+ <item msgid="3843711267408385410">"Blom"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 1f0a0ac..9356b78 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Gehoortoestelinstellings"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Kortpad, gehoortoestel-versoenbaarheid"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Voorafstelling"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Geen voorafstellings deur jou oudioloog geprogrammeer nie"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Kon nie voorafstelling opdateer nie"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Oudio-uitvoer"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Meer oor oudio-uitvoer"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Gesig en <xliff:g id="WATCH">%s</xliff:g> is bygevoeg"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Gesig, vingerafdruk en <xliff:g id="WATCH">%s</xliff:g> is bygevoeg"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Gesig, vingerafdrukke en <xliff:g id="WATCH">%s</xliff:g> is bygevoeg"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Dit is nodig omdat Identiteitkontrole aan is"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator-ontsluiting"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Horlosie is bygevoeg"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Stel jou horlosie op"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Kom meer te wete oor Horlosieontsluiting"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Voeg horlosie by"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Verwyder horlosie"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Gesig- en Vingerafdrukslot"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Gesigslot en vingerafdrukslot"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Gesig- en Vingerafdrukslot vir werk"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Opstelling is nodig"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Gesig en vingerafdrukke is bygevoeg"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Installeer apps"</b>\n"Installeer apps wat jy privaat in jou ruimte wil hou"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Hou in gedagte"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Apps stop wanneer jy jou ruimte sluit"</b>\n"Wanneer jy jou ruimte sluit, word apps in jou ruimte gestop en sal jy nie kennisgewing van hulle af ontvang nie"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Privaat ruimtes is nie geskik vir apps, soos mediese apps, wat in die agtergrond moet werk of kritieke kennisgewings moet stuur nie. Dit is omdat kennisgewings en agtergrondaktiwiteit gestop word wanneer jou ruimte gesluit word.\n\nApps in jou privaat ruimte sal nie in toestemmingbestuurder, privaatheidkontroleskerm en ander instellings verskyn wanneer jou privaat ruimte gesluit word nie.\n\nJou privaat ruimte kan nie na ’n nuwe toestel geskuif word nie. Jy sal ’n ander privaat ruimte moet opstel as jy dit op ’n ander toestel wil gebruik.\n\nEnigiemand wat jou toestel aan ’n rekenaar koppel of skadelike apps op jou toestel installeer, sal moontlik toegang tot jou privaat ruimte kan kry."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Privaat ruimtes is nie geskik vir apps, soos mediese apps, wat in die agtergrond moet werk of kritieke kennisgewings moet stuur nie. Dit is omdat kennisgewings en agtergrondaktiwiteit gestop word wanneer jou ruimte gesluit word.\n\nApps in jou privaat ruimte sal nie in toestemmingbestuurder, privaatheidkontroleskerm en ander instellings verskyn wanneer jou privaat ruimte gesluit word nie.\n\nJou privaat ruimte kan nie na ’n nuwe toestel geskuif word nie. Jy sal ’n ander ruimte moet opstel as jy dit op ’n ander toestel wil gebruik.\n\nEnigiemand wat jou toestel aan ’n rekenaar koppel of kwaadwillige apps op jou toestel installeer, sal moontlik toegang tot jou privaat ruimte kan kry."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Meer inligting oor privaat ruimte"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Dit sal ’n paar oomblikke neem"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Stel tans privaat ruimte op …"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Herbegin toestel?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Gedetailleerde NFC-loglêers is slegs vir ontwikkelingdoeleindes bedoel. Bykomende NFC-data is by foutverslae ingesluit, wat privaat inligting kan bevat. Herbegin jou toestel om hierdie instelling te verander."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Herbegin"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Saai uit"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"weerspieël"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Aktiveer draadlose skermdeling"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Aanpasbaar"</string>
<string name="brightness" msgid="6216871641021779698">"Helderheidsvlak"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Aanpasbare helderheid"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Meer oor aanpasbare helderheid"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Jou skermhelderheid sal outomaties by jou omgewing en aktiwiteite aanpas. Jy kan die glyer self skuif om aanpasbare helderheid te help om te leer wat jy verkies."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Aan"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Af"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Opsies"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Toeganklikheid"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Fisiese sleutelbord"</string>
- <string name="show_ime" msgid="4334255501724746849">"Gebruik skermsleutelbord"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Hou dit op die skerm terwyl fisieke sleutelbord aktief is"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Hopsleutels"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Die sleutelbord ignoreer drukke van dieselfde sleutel wat binne <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms vinnig herhaal word"</string>
<string name="slow_keys" msgid="2891452895499690837">"Stadige sleutels"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Gebruikergekose: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Spraak"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Wyserspoed"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Speletjiekontroleerder"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Herlei vibrasie"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Stuur vibrasie na speletjiebeheerder wanneer dit gekoppel is"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Gaan in elk geval voort"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Kanselleer"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Vergrotinginstellings"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Beeldrol met een vinger"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Skuif vergrootglas met 1 vinger"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Sleep 1 vinger om op die skerm rond te beweeg"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Skuif die vergrotingarea deur een vinger te sleep."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Skuif die vergrotingarea deur twee vingers te sleep."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Onbeskikbaar terwyl net ’n deel van die skerm vergroot word"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tik op \'n knoppie om te zoem"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Zoem vinnig op die skerm in om inhoud groter te maak"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Zoem só in:</b><br/> {0,number,integer}. Gebruik kortpad om vergroting te begin<br/> {1,number,integer}. Tik op die skerm<br/> {2,number,integer}. Sleep 2 vingers om op die skerm rond te beweeg<br/> {3,number,integer}. Knyp met 2 vingers om die zoem te verstel<br/> {4,number,integer}. Gebruik kortpad om vergroting te stop<br/><br/> <b>Zoem só tydelik in:</b><br/> {0,number,integer}. Maak seker dat jou vergrotingtipe op volskerm gestel is<br/> {1,number,integer}. Gebruik kortpad om vergroting te begin<br/> {2,number,integer}. Raak en hou enige plek op die skerm<br/> {3,number,integer}. Sleep vinger om op die skerm rond te beweeg<br/> {4,number,integer}. Lig vinger om vergroting te stop"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Zoem só in:</b><br/> {0,number,integer}. Gebruik kortpad om vergroting te begin<br/> {1,number,integer}. Tik op die skerm<br/> {2,number,integer}. Sleep 2 vingers om op die skerm rond te beweeg<br/> {3,number,integer}. Knyp met 2 vingers om die zoem te verstel<br/> {4,number,integer}. Gebruik kortpad om vergroting te stop<br/><br/> Jy kan ook tydelik en meer inzoem."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Zoem só in:</b><br/> {0,number,integer}. Gebruik kortpad om vergroting te begin<br/> {1,number,integer}. Tik op die skerm<br/> {2,number,integer}. Sleep 1 of 2 vingers om op die skerm rond te beweeg<br/> {3,number,integer}. Knyp met 2 vingers om die zoem te verstel<br/> {4,number,integer}. Gebruik kortpad om vergroting te stop<br/><br/> Jy kan ook tydelik en meer inzoem."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Wanneer vergroting aangeskakel is, kan jy op jou skerm inzoem.\n\n"<b>"Om te zoem"</b>", moet jy vergroting begin en dan op enige plek op die skerm tik.\n"<ul><li>"Sleep 2 of meer vingers om te rollees"</li>\n<li>"Knyp 2 of meer vingers om zoem te verstel"</li></ul>\n\n<b>"Om tydelik te zoem"</b>", moet jy vergroting begin en dan enige plek op die skerm raak en hou.\n"<ul><li>"Sleep om op die skerm rond te beweeg"</li>\n<li>"Lig jou vinger op om uit te zoem"</li></ul>\n\n"Jy kan nie op die sleutelbord of die navigasiebalk inzoem nie."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Bladsy <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> van <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Toeganklikheidknoppiekortpad"</string>
@@ -2194,7 +2232,7 @@
<string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Gebruik knoppie of gebaar"</string>
<string name="accessibility_button_location_title" msgid="7182107846092304942">"Ligging"</string>
<string name="accessibility_button_size_title" msgid="5785110470538960881">"Grootte"</string>
- <string name="accessibility_button_fade_title" msgid="8081993897680588829">"Verdof wanneer dit nie gebruik word nie"</string>
+ <string name="accessibility_button_fade_title" msgid="8081993897680588829">"Verdof wanneer nie gebruik word nie"</string>
<string name="accessibility_button_fade_summary" msgid="7865950833524973709">"Verdof ná \'n paar sekondes sodat dit makliker is om jou skerm te sien"</string>
<string name="accessibility_button_opacity_title" msgid="4727355657530362289">"Deursigtigheid wanneer nie gebruik word nie"</string>
<string name="accessibility_button_low_label" msgid="4193015407828927741">"Deursigtig"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Word net deur belangrike mense en apps in kennis gestel"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Kies aktiveringtipe"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Tyd"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Bv. \"09:30-17:00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Kalender"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Bv. \"Persoonlike kalender\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Skep ’n modus"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Gepasmaak"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Beperk onderbrekings"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Skakel Moenie steur nie aan"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Wekkers en mediaklanke kan onderbreek"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Skedules"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Vee skedules uit"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Vee uit"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Wysig"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Skedules"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Skedule"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Voeg ’n kalender by"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Gebruik jou kalender"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Skedule"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Stel ’n skedule"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Skedule"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> uur, <xliff:g id="MINUTES">%2$d</xliff:g> min."</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Skakel outomaties aan"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Skedule"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Maak foon op sekere tye stil"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Stel Moenie Steur Nie-reëls"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Laat onderbrekings wat klanke maak toe"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokkeer visuele steurings"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Laat visuele tekens toe"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Kennisgewings wat jou kan bereik"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Bly gefokus"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Bykomende handelinge"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Vertooninstellings"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Vertoon opsies"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"aktiveer donkertema"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Wissel die bedryfstelsel en apps om ligte teks op ’n donker agtergrond te verkies, wat makliker vir die oë kan wees en aansienlike batterybesparings op sekere toestelle bied"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Geen skermveranderinge nie}=1{{effect_1}}=2{{effect_1} en {effect_2}}=3{{effect_1}, {effect_2} en {effect_3}}other{{effect_1}, {effect_2}, en nog #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filter onderbrekings"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Geen onderbrekings is gefilter nie"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Vertoon opsies vir gefiltreerde kennisgewings"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Wanneer Moenie Steur Nie aan is"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Geen klank van kennisgewings af nie"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"maak kennisgewing oop"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Laat toe dat kennisgewings gesluimer word"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Kennisgewingkol op appikoon"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Kennisgewingbondels"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Borrels"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Borrels"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Laat hierdie gesprek in \'n borrel verskyn"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Kategorieë"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Ander"</string>
<string name="no_channels" msgid="4716199078612071915">"Hierdie program het nie enige kennisgewings geplaas nie"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Wys ongebruikte kategorieë"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Bykomende instellings in die app"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Wys ongebruikte kategorieë"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Versteek ongebruikte kategorieë"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Alles"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Laat programme toe om te ignoreer"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Programme wat kan onderbreek"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Kies meer apps"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Verandering aan wekkers vir slegs een uur tot {time}}other{Verandering aan wekkers vir slegs # uur tot {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Verander tot <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> na net wekkers"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Verander na onderbreek altyd"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Hernoem"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Verander ikoon"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Verander ikoon"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Waarskuwing"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Maak toe"</string>
<string name="device_feedback" msgid="5351614458411688608">"Stuur terugvoer oor hierdie toestel"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Houer"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Battery"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Instellingspaneel"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Dwangrekenaarmodus"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Verplig eksperimentele rekenaarmodus op sekondêre skerms"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Aktiveer vryevormvensters"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Aktiveer steun vir vryevormvensters."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Aktiveer vryevormvensters op tweede skerm"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Aktiveer vryevormvensters slegs op sekondêre skerm."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Aktiveer nieveranderbare grootte in multivenster"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Laat programme met nieveranderbare grootte toe in multivenster"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Ignoreer gedwonge donkermodus"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Hierdie toestel se data-afdeling moet na ext4 omgeskakel word voordat die 16KB-ontwikkelaaropsie gebruik word. Die sagteware se integriteit kan nie in hierdie modus gewaarborg word nie, en enige data wat op die foon gestoor word terwyl die selflaaiprogram ontsluit is, is dalk in gevaar. Die aktivering van die 16KB-opsie sal daarna nog een herselflaai vereis. Sodra jy in hierdie modus is, kan jy heen en weer oorskakel tussen 4KB- en 16KB-modus met ’n enkele herselflaai. Sommige kenmerke sal gedeaktiveer word in hierdie modusse, so sommige apps sal dalk nie werk nie. Jy sal moet terugskakel na die 4KB-modus en dan die selflaaiprogram moet sluit wat ’n fabriekterugstelling op die toestel doen om die toestel na produksiemodus terug te neem. Jy moet die OEM-ontsluiting in Ontwikkelaaropsies deaktiveer nadat die toestel suksesvol in Android geselflaai het. Die toestel sal skoongevee word en die lêerstelsel sal ná bevestiging na ext4 verander word. Nadat dit voltooi is, moet jy terugkom om 16KB weer te aktiveer."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Vee alle data uit"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Kon nie herformateer en die data-afdeling na ext4 skoonvee nie."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Selflaaiprogram-ontsluiting word vir 16KB-modus vereis"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Ontsluiting van selflaaiprogram is nodig"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Hierdie toestel moet die selflaaiprogram ontsluit hê voordat die 16KB-ontwikkelaaropsie gebruik word. Die sagteware se integriteit kan nie in hierdie modus gewaarborg word nie, en enige data wat op die foon gestoor word terwyl die selflaaiprogram ontsluit is, is dalk in gevaar. Alle gebruikerdata en -instellings sal skoongevee word wanneer 16KB-modus geaktiveer word. Sodra die selflaaiprogram ontsluit is, sal die aktivering van die 16KB-opsie twee herselflaaie vereis. Sodra jy in hierdie modus is, kan jy heen en weer oorskakel tussen 4KB- en 16KB-modus met ’n enkele herselflaai. Sommige kenmerke sal gedeaktiveer word in hierdie modusse, so sommige apps sal dalk nie werk nie. Jy sal moet terugskakel na die 4KB-modus en dan die toestel moet sluit met die OEM/selflaaiprogramslot (wat ’n fabriekterugstelling op die toestel doen) om die toestel na produksiemodus terug te neem. Ontsluit asseblief die selflaaiprogram en probeer weer. Jy kan instruksies sien oor hoe om dit te doen by <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Gebruik 4KB-bladsy-agnostiese modus"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Jy is in die 4KB-modus van die bladsy-agnostiese modus. Die sagteware se integriteit kan nie in hierdie modus gewaarborg word nie, en enige data wat op die foon gestoor word terwyl die selflaaiprogram ontsluit is, is dalk in gevaar. Sommige kenmerke sal gedeaktiveer word in hierdie modusse, so sommige apps sal dalk nie werk nie. Jy moet die selflaaiprogram van die toestel sluit om weer in die produksiemodus te gaan. Tik om meer te lees."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Jy is in die 4KB-modus van die bladsy-agnostiese modus. Die sagteware se integriteit kan nie in hierdie modus gewaarborg word nie, en enige data wat op die foon gestoor word terwyl die selflaaiprogram ontsluit is, is dalk in gevaar. Sommige kenmerke sal gedeaktiveer word in hierdie modusse, so sommige apps sal dalk nie werk nie. Jy moet die selflaaiprogram van die toestel sluit om weer in die produksiemodus te gaan. Dit sal weer ’n fabriekterugstelling op die toestel doen en dit na produksie-instellings terugstel. Jy moet die OEM-ontsluiting in Ontwikkelaaropsies deaktiveer nadat die toestel suksesvol in Android geselflaai het. As die toestel nie in Android kon selflaai nie of onstabiel is, moet jy die toestel herflits met die jongste fabriekstelselkopie vanaf <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> of gebruik <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> en kies “Vee toestel skoon”, “Sluit selflaaiprogram” en “Verpligflits alle afdelings”."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Gebruik 16KB-bladsy-agnostiese modus"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Jy is in die 16KB-modus van die bladsy-agnostiese modus. Die sagteware se integriteit kan nie in hierdie modus gewaarborg word nie, en enige data wat op die foon gestoor word terwyl die selflaaiprogram ontsluit is, is dalk in gevaar. Sommige kenmerke sal gedeaktiveer word in hierdie modusse, so sommige apps sal dalk nie werk nie. Jy moet terugskakel na 4K-modus en dan die selflaaiprogram van die toestel sluit om weer in die produksiemodus te gaan. Tik om meer te lees."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Jy is in die 16KB-modus van die bladsy-agnostiese modus. Die sagteware se integriteit kan nie in hierdie modus gewaarborg word nie, en enige data wat op die foon gestoor word terwyl die selflaaiprogram ontsluit is, is dalk in gevaar. Sommige kenmerke sal gedeaktiveer word in hierdie modusse, so sommige apps sal dalk nie werk nie. Jy moet terugskakel na 4K-modus en dan die selflaaiprogram van die toestel sluit om weer in die produksiemodus te gaan. Dit sal weer ’n fabriekterugstelling op die toestel doen en dit na produksie-instellings terugstel. Jy moet die OEM-ontsluiting in Ontwikkelaaropsies deaktiveer nadat die toestel suksesvol in Android geselflaai het. As die toestel nie in Android kon selflaai nie of onstabiel is, moet jy die toestel herflits met die jongste fabriekstelselkopie vanaf <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> of gebruik <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> en kies “Vee toestel skoon”, “Sluit selflaaiprogram” en “Verpligflits alle afdelings”."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Jy is in die 16 KB-modus van die niebladgebonde modus. Die sagteware se integriteit kan nie in hierdie modus gewaarborg word nie, en enige data wat op die foon gestoor word terwyl die selflaaiprogram ontsluit is, is dalk in gevaar. Sommige kenmerke sal gedeaktiveer word in hierdie modusse, so sommige apps sal dalk nie werk nie. Jy moet terugskakel na 4 KB-modus en dan die selflaaiprogram van die toestel sluit om weer in die produksiemodus te gaan. Tik om meer te lees."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Jy is in die 16 KB-modus van die niebladgebonde modus. Die sagteware se integriteit kan nie in hierdie modus gewaarborg word nie, en enige data wat op die foon gestoor word terwyl die selflaaiprogram ontsluit is, is dalk in gevaar. Sommige kenmerke sal gedeaktiveer word in hierdie modusse, so sommige apps sal dalk nie werk nie. Jy moet terugskakel na 4 KB-modus en dan die selflaaiprogram van die toestel sluit om weer in die produksiemodus te gaan. Dit sal weer ’n fabriekterugstelling op die toestel doen en dit na produksie-instellings terugstel. Jy moet die OEM-ontsluiting in Ontwikkelaaropsies deaktiveer nadat die toestel suksesvol in Android geselflaai het. As die toestel nie in Android kon selflaai nie of onstabiel is, moet jy die toestel herflits met die jongste fabriekstelselkopie vanaf <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> of gebruik <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> en kies “Vee toestel skoon”, “Sluit selflaaiprogram” en “Verpligflits alle afdelings”."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16KB-bladsy-agnostiese modus"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Lees meer"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Foutverslaghanteerder"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Gebruik appvasspeld"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Gebruik ontwikkelaaropsies"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Gebruik drukdiens"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Laat veelvuldige gebruikers toe"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"laat toe, veelvuldig, gebruiker, baie"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"veelvuldige, gebruikers, profiele, mense, rekeninge, wissel, baie"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Gebruik draadlose ontfouting"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Kies wat jy op jou skerm sal sien wanneer jou tablet gedok is. Jou toestel kan meer energie gebruik wanneer ’n sluimerskerm gebruik word."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Pasmaak"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Pasmaak <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"\'n Herselflaai word vereis om vryevormsteun te aktiveer."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"\'n Herselflaai word vereis om rekenaarmodus vir sekondêre skerms te verplig."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"’n Herselflaai word vereis om steun vir vorige vryevormvensters te aktiveer."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"’n Herselflaai word vereis om steun vir vryevormvensters te verander."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"’n Herselflaai word vereis om vryevormvensters op sekondêre skerms te verplig."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Herselflaai nou"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Herselflaai later"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Ruimtelike Oudio"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Luister na stroom"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Skandeer ’n oudiostroom-QR-kode om op <xliff:g id="DEVICE_NAME">%1$s</xliff:g> te luister"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Kan nie wagwoord wysig terwyl daar gedeel word nie. Skakel eers oudiodeling af om die wagwoord te verander."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-am/arrays.xml b/res/values-am/arrays.xml
index 733ae90..7243712 100644
--- a/res/values-am/arrays.xml
+++ b/res/values-am/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"የመኝታ ሰዓት"</item>
+ <item msgid="4152450357280759894">"በመንዳት ላይ"</item>
+ <item msgid="7096549258219399423">"መሳጭ"</item>
+ <item msgid="2760716776980432977">"የሚተዳደር"</item>
+ <item msgid="601734478369121764">"ኮከብ"</item>
+ <item msgid="6243809315432780521">"ቀን መቁጠሪያ"</item>
+ <item msgid="4913577903148415331">"ጊዜ"</item>
+ <item msgid="3653377604690057780">"ቲያትር"</item>
+ <item msgid="3843711267408385410">"አበባ"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 63c3a55..a09db50 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"የመስማት ችሎታ መሣሪያ ቅንብሮች"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"አቋራጭ፣ የመስሚያ ረዳት ተኳዃኝነት"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"ቅድመ-ቅምጥ"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"በኦዲዮሎጂስትዎ ፕሮግራም የተደረጉ ምንም ቅድመ-ቅምጦች የሉም"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"ቅድመ-ቅምጥን ማዘመን አልተቻለም"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"የኦዲዮ ውጽዓት"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ስለኦዲዮ ውፅዓት"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"መልክ እና <xliff:g id="WATCH">%s</xliff:g> ታክለዋል"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"መልክ፣ የጣት አሻራ እና <xliff:g id="WATCH">%s</xliff:g> ታክለዋል"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"መልክ፣ የጣት አሻራዎች እና <xliff:g id="WATCH">%s</xliff:g> ታክለዋል"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"የማንነት ፍተሻ ስለበራ ይህ ያስፈልጋል"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"የርቀት መቆጣጠሪያ ማረጋገጫ ተከፍቷል"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"የእጅ ሰዓት ታክሏል"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"የእጅ ሰዓትዎን ያዋቅሩ"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"ስለ በእጅ ሰዓት መክፈቻ የበለጠ ይወቁ"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"የእጅ ሰዓትን አክል"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"የእጅ ሰዓትን አስወግድ"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"የጣት አሻራ እና በመልክ መክፈት"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"በመልክ እና በጣት አሻራ መክፈት"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"በመልክ እና በጣት አሻራ መክፈቻ ለሥራ"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ውቅረት ያስፈልጋል"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"መልክ እና የጣት አሻራዎች ታክለዋል"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"መተግበሪያዎችን ይጫኑ"</b>\n"በቦታዎ ውስጥ የግል አድርገው ማቆየት የሚፈልጓቸውን መተግበሪያዎች ይጫኑ"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"ከግምት ውስጥ ያስገቡ"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"እርስዎ ቦታዎን ሲቆልፉ መተግበሪያዎች ይቆማሉ"</b>\n"ቦታዎን ሲቆልፉ በቦታዎ ውስጥ ያሉ መተግበሪያዎች ይቆማሉ እና እርስዎ ከእነሱ ማሳወቂያዎች አይደርሱዎትም"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"የግል ቦታዎች እንደ የህክምና መተግበሪያዎች ያሉ ዳራ ውስጥ መሄድ ላለባቸው ወይም ወሳኝ ማሳወቂያዎች መላክ ላለባቸው መተግበሪያዎች ተሰማሚ አይደሉም። ይህ የሆነው ቦታዎ ሲቆለፍ ማሳወቂያዎች እና የዳራ እንቅስቃሴ ስለሚቆሙ ነው።\n\nየእርስዎ የግል ቦታ ሲቆለፍ የግል ቦታዎ ውስጥ ያሉ መተግበሪያዎች የፍቃድ አስተዳዳሪ፣ የግላዊነት ዳሽቦርድ እና ሌሎች ቅንብሮች ላይ አይታዩም።\n\nየግል ቦታዎ ወደ አዲስ መሣሪያ መንቀሳቀስ አይችልም። እሱን በሌላ መሣሪያ ላይ መጠቀም ከፈለጉ ሌላ የግል ቦታን ማዋቀር ያስፈልግዎታል።\n\nመሣሪያዎን ከኮምፒውተር ጋር የሚያገናኙ ወይም በመሣሪያዎ ላይ ጎጂ መተግበሪያዎችን የሚጭኑ ማንኛውም ሰው የእርስዎን የግል ቦታ ሊደርሱ ይችላሉ።"</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"የግል ቦታዎች እንደ የህክምና መተግበሪያዎች ያሉ ዳራ ውስጥ መሄድ ላለባቸው ወይም ወሳኝ ማሳወቂያዎች መላክ ላለባቸው መተግበሪያዎች ተሰማሚ አይደሉም። ይህ የሆነው ቦታዎ ሲቆለፍ ማሳወቂያዎች እና የዳራ እንቅስቃሴ ስለሚቆሙ ነው።\n\nየእርስዎ የግል ቦታ ውስጥ ያሉ መተግበሪያዎች የግል ቦታ ሲቆለፍ የፍቃድ አስተዳዳሪ፣ የግላዊነት ዳሽቦርድ እና ሌሎች ቅንብሮች ውስጥ አይታዩም።\n\nየእርስዎ የግል ቦታ ወደ አዲስ መሣሪያ መመለስ አይችልም። እሱን ሌላ መሣሪያ ላይ መጠቀም ከፈለጉ ሌላ ቦታ ማዋቀር ይኖርብዎታል።\n\nመሣሪያዎን ከኮምፒውተር ጋር የሚያገናኙ ወይም በመሣሪያዎ ላይ ተንኮል-አዘል መተግበሪያዎችን የሚጭኑ ማንኛውም ሰው የግል ቦታዎን ሊደርሱ ይችላሉ።"</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"ስለግል ቦታ የበለጠ ይወቁ"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"ይህ ጥቂት ጊዜ ይወስዳል"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"የግል ቦታን በማዋቀር ላይ…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"መሣሪያ እንደገና ይጀምር?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"ዝርዝር የኤንኤፍሲ ምዝግብ ማስታወሻ ለግንባታ ዓላማዎች ብቻ የታሰበ ነው። በሳንካ ሪፖርቶች ውስጥ የግል መረጃን ሊይዝ የሚችል ተጨማሪ የኤንኤፍሲ ውሂብ ተካትቷል። ይህን ቅንብር ለመለወጥ መሣሪያዎን እንደገና ያስጀምሩ።"</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"ዳግም አስጀምር"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Cast"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"መስታወት"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"ገመድ-አልባ ማሳየትን ያንቁ"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"ተለማማጅ"</string>
<string name="brightness" msgid="6216871641021779698">"የብሩህነት ደረጃ"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"ተለማማጅ ብሩህነት"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"ስለ ተለዋዋጭ ብሩህነት"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"የማያዎ ብሩህነት በራስ-ሰር ከእርስዎ አካባቢ እና እንቅስቃሴዎች ጋር ጋር ይስተካከላል። ተለማማጅ ብሩህነት ምርጫዎችዎን እንዲያውቅ ለማገዝ ተንሸራታቹን ራስዎ ማንቀሳቀስ ይችላሉ።"</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"አብራ"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"ጠፍቷል"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"አማራጮች"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"ተደራሽነት"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"አካላዊ ቁልፍ ሰሌዳ"</string>
- <string name="show_ime" msgid="4334255501724746849">"የማያ ገፅ የቁልፍ ሰሌዳ ይጠቀሙ"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"አካላዊ የቁልፍ ሰሌዳ ገቢር ሆኖ ሳለ በማያ ገፅ ላይ አቆየው"</string>
<string name="bounce_keys" msgid="7419450970351743904">"የመንጠሪያ ቁልፎች"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"ቁልፍ ሰሌዳው በ<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ሚሊሰከንድ ውስጥ ተመሳሳዩ ቁልፍ በፍጥነት መጫኑን ችላ ይላል"</string>
<string name="slow_keys" msgid="2891452895499690837">"ቀርፋፋ ቁልፎች"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"የተመረጠው ተጠቃሚ፦ <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"ንግግር"</string>
<string name="pointer_speed" msgid="7398649279282675718">"የጠቋሚ ፍጥነት"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"የጨዋታ መቆጣጠሪያ"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"ንዝረትን አዙር"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"ሲገናኝ ንዝረትን ወደ የጨዋታ መቆጣጠሪያ ላክ"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"ለማንኛውም ቀጥል"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"ይቅር"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"የማጉያ ቅንብሮች"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"በአንድ ጣት መጎተት"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"ማጉያን በ1 ጣት ያንቀሳቅሱ"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"በማያ ገጹ አካባቢ ለመንቀሳቀስ 1 ጣት ይጎትቱ"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"አንድ ጣትን በመጎተት የማጉያ ቦታውን ያንቀሳቅሱ።"</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"ሁለት ጣቶችን በመጎተት የማጉያ ቦታውን ያንቀሳቅሱ።"</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"የተወሰነ የማያ ገጹን ክፍል ብቻ በማጉላት ላይ ሳለ አይገኝም"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ለማጉላት አንድ አዝራር መታ ያድርጉ"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"ይዘቱን ትልቅ ለማድረግ በፍጥነት በማያ ገጹ ላይ ያጉሉ"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>ለማጉላት፦</b><br/> {0,number,integer}. ማጉላትን ለመጀመር አቋራጭ ይጠቀሙ<br/> {1,number,integer}. በማያ ገፅ ላይ መታ ያድርጉ<br/> {2,number,integer}. በማያ ገጹ ዙሪያ ላይ ለመንቀሳቀስ በ2 ጣቶች ይጎትቱ<br/> {3,number,integer}. ማጉላትን ለማስተካከል በ2 ጣቶች ይቆንጥጡ<br/> {4,number,integer}. ማጉላትን ለማስቆም አቋራጭ ይጠቀሙ<br/><br/> <b>ለጊዜው ለማጉላት፡-</b><br/> {0,number,integer}. የእርስዎ የማጉላት ዓይነት ወደ ሙሉ ማያ ገፅ መቀናበሩን ያረጋግጡ<br/> {1,number,integer}. ማጉላትን ለመጀመር አቋራጭ ይጠቀሙ<br/> {2,number,integer}. በማያ ገጹ ማንኛውም ቦታ ላይ ነክተው ይያዙ<br/> {3,number,integer}. በማያ ገጹ ዙሪያ ላይ ለመንቀሳቀስ በጣት ይጎትቱ<br/> {4,number,integer}. ማጉላትን ለማስቆም ጣት ያንሱ"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>ለማጉላት፦</b><br/> {0,number,integer}። ማጉላትን ለመጀመር አቋራጭ ይጠቀሙ<br/> {1,number,integer}። በማያ ገጽ ላይ መታ ያድርጉ<br/> {2,number,integer}። በማያ ገፁ ዙሪያ ለመንቀሳቀስ 2 ጣቶች ይጎትቱ<br/> {3,number,integer}። ማጉላትን ለማስተካከል በ2 ጣቶች ይቆንጥጡ<br/> {4,number,integer}። ማጉላት ለማቆም አቋራጭ ይጠቀም<br/><br/> እንዲሁም በጊዜያዊነት ማጉላት እና ሌሎችንም ማድረግ ይችላሉ።"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>ለማጉላት፦</b><br/> {0,number,integer}። ማጉላትን ለመጀመር አቋራጭ ይጠቀሙ<br/> {1,number,integer}። በማያ ገጽ ላይ መታ ያድርጉ<br/> {2,number,integer}። በማያ ገፁ ዙሪያ ለመንቀሳቀስ 1 ወይም 2 ጣቶች ይጎትቱ<br/> {3,number,integer}። ማጉላትን ለማስተካከል በ2 ጣቶች ይቆንጥጡ<br/> {4,number,integer}። ማጉላት ለማቆም አቋራጭ ይጠቀም<br/><br/> እንዲሁም በጊዜያዊነት ማጉላት እና ሌሎችንም ማድረግ ይችላሉ።"</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"ማጉያ ሲበራ ማያ ገጽዎን ማጉላት ይችላሉ።\n\n"<b>"ለማጉላት"</b>"፣ ማጉያን ያስጀምሩ፣ ከዚያ በማያ ገጹ ማንኛውም ክፍል ላይ መታ ያድርጉ።\n"<ul><li>"ለማሸብለል 2 ወይም ተጨማሪ ጣቶችን ይጎትቱ"</li>\n<li>"ማጉላትን ለማስተካከል በ2 ወይም ተጨማሪ ጣቶችን ይቆንጥጡ"</li></ul>\n\n<b>"ለጊዜው ለማጉላት"</b>"፣ ማጉላትን ይጀምሩ፣ በመቀጠል በማያ ገጹ ላይ በማናቸውም ቦታ ላይ ነካ ያድርጉ እና ይያዙ።\n"<ul><li>"በማያ ገጹ ላይ ለማንቀሳቀስ ይጎትቱ"</li>\n<li>"ከማጉላት ለመውጣት ጣትን ያንሡ"</li></ul>\n\n"ቁልፍ ሰሌዳውን ወይም የአሰሳ አሞሌውን ማጉላት አይችሉም።"</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"ገፅ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> ከ<xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"የተደራሽነት አዝራር አቋራጭ"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"በአስፈላጊ ሰዎች እና መተግበሪያዎች ብቻ ማሳወቂያን ያግኙ"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"የማግበሪያ ዓይነት ይምረጡ"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"ጊዜ"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"ለምሳሌ «9:30 – 5:00 ከሰዓት»"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"ቀን መቁጠሪያ"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"ለምሳሌ «የግል ቀን መቁጠሪያ»"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"ሁነታ ይፍጠሩ"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"ብጁ"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"መቆራረጦችን ይገድቡ"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"አትረብሽን አብራ"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"ማንቂያዎች እና የሚዲያ ድምፆች ሊያቋርጡ ይችላሉ"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"መርሐግብሮች"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"መርሐግብሮችን ሰርዝ"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"ሰርዝ"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"አርትዕ"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"መርሐግብሮች"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"መርሐግብር"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"መርሐግብር ያቀናብሩ"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"መርሐግብር"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ሰዓት፣ <xliff:g id="MINUTES">%2$d</xliff:g> ደ"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"በራስ-ሰር አብራ"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"መርሐግብር"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"በተወሰኑ ሰዓታት ላይ የስልክ ድምፅ አጥፋ"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"የአትረብሽ ደንቦችን ያቀናብሩ"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"ድምፅ የሚፈጥሩ ረብሻዎችን ፍጠር"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"ምስላዊ ረብሻዎችን አግድ"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"ምስላዊ ምልክቶችን ፍቀድ"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"እርስዎ ጋር መድረስ የሚችሉ ማሳወቂያዎች"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"እንዳተኮሩ ይቆዩ"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"ተጨማሪ እርምጃዎች"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"የማሳያ ቅንብሮች"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"የማሳያ አማራጮች"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ጥቁር ገጽታ አንቃ"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"በጨለማ ዳራ ላይ ብርሃን ጽሁፍን ለመምረጥ ሥርዓተ ክወናውን እና መተግበሪያዎችን ይቀይሩ፣ ይህም ለዓይኖች ቀላል እና በአንዳንድ መሣሪያዎች ላይ ጉልህ የሆነ የባትሪ ኃይል ቁጠባ ይሰጣል"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ምንም የማሳያ ለውጦች የሉም}=1{{effect_1}}=2{{effect_1} እና {effect_2}}=3{{effect_1}፣ {effect_2}፣ እና {effect_3}}one{{effect_1}፣ {effect_2} እና # ተጨማሪ}other{{effect_1}፣ {effect_2} እና # ተጨማሪ}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"የማጣሪያ መቆራረጦች"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"ምንም መቆራረጦች አልተጣሩም"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ለተጣሩ ማሳወቂያዎች ያሉ የማሳያ አማራጮች"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"አትረብሽ ሲበራ"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"ከማሳወቂያዎች ምንም ድምፅ የለም"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"ማሳወቂያን ክፈት"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"የማሳወቂያ ማሸለብን ፍቀድ"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"የማሳወቂያ ነቁጥ በመተግበሪያ አዶ ላይ"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"የማሳወቂያ ቅርቅቦች"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"አረፋዎች"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"አረፋዎች"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"ይህን ውይይት በአረፋ አድርግ"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"ምድቦች"</string>
<string name="notification_channels_other" msgid="18159805343647908">"ሌላ"</string>
<string name="no_channels" msgid="4716199078612071915">"ይህ መተግበሪያ ምንም ማሳወቂያዎችን አልለጠፈም"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"ጥቅም ላይ ያልዋሉ ምድቦችን አሳይ"</string>
<string name="app_settings_link" msgid="6725453466705333311">"በመተግበሪያው ውስጥ ያሉ ተጨማሪ ቅንብሮች"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"ጥቅም ላይ ያልዋሉ ምድቦችን አሳይ"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"ጥቅም ላይ ያልዋሉ ምድቦችን ደብቅ"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ሁሉም"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"መተግበሪያዎች እንዲሽሩ ይፍቀዱ"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"አቋርጠው መግባት የሚችሉ መተግበሪያዎች"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"ተጨማሪ መተግበሪያዎችን ይምረጡ"</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"መያዣ"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"ባትሪ"</string>
<string name="settings_panel_title" msgid="346363079938069215">"የቅንብሮች ፓነል"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"የዴስክቶፕ ሁነታን አስገድድ"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"በሁለተኛ ማሳያዎች ላይ የሙከራ ዴስክቶፕ ሁነታን አስገድድ"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"የነጻ ቅርጽ መስኮቶችን ያንቁ"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"የነጻ ቅርጽ መስኮቶች ድጋፍ ያንቁ።"</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"በሁለተኛ ማሳያ ላይ የነጻ ቅርጽ በመስኮት ማሳየትን አንቃ"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"የነጻ ቅርጽ መስኮቶችን በሁለተኛ ማሳያ ላይ ብቻ አንቃ።"</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"በብዝሃ-መስኮት ውስጥ መጠን መቀየር የማይቻለውን አንቃ"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"መጠን መቀየር የማይቻሉትን መተግበሪያዎች በብዝሃ-መስኮት ውስጥ እንዲሆኑ ይፈቅዳል"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"አስገዳጅ ጨለማን ሻር"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"የ16 ኪባ ገንቢ አማራጭን ከመጠቀምዎ በፊት የዚህ መሣሪያ የውሂብ ክፍልፍል ወደ ext4 መቀየር አለበት። የሶፍትዌር ታማኝነት በዚህ ሁነታ ሊረጋገጥ አይችልም፣ እና bootloader ክፍት ሆኖ ሳለ በስልኩ ላይ የተከማቸ ማንኛውም መረጃ ለአደጋ ሊጋለጥ ይችላል። የ16 ኪባ አማራጩን ማግበር ከዚህ በኋላ አንድ ተጨማሪ ዳግም ማስነሳት ያስፈልገዋል። አንዴ በዚህ ሁነታ ላይ ከሆኑ፣ በአንድ ዳግም ማስነሳት ከ4 ኪባ ወደ 16 ኪባ ሁነታ መካከል መቀያየር ይችላሉ። አንዳንድ ባህሪያት በእነዚህ ሁነታዎችላይ ይሰናከላሉ፣ ስለዚህ አንዳንድ መተግበሪያዎች ላይሰሩ ይችላሉ። መሣሪያውን ወደ የምርት ሁነታ መመለስ እንዲችሉ ወደ የ4 ኪባ ሁነታ መመለስ እና bootloaderን መቆለፍ ይኖርብዎታል፣ ይህም መሣሪያውን ወደ ፋብሪካ ዳግም ያስጀምረዋል። መሣሪያው በተሳካ ሁኔታ ወደ Android ከተነሳ በኋላ በገንቢ አማራጮች ውስጥ የOEM መክፈቻን ያሰናክሉ። መሣሪያው ይጠረጋል እና የፋይል ሥርዓቱ ከተረጋገጠ በኋላ ወደ ext4 ይቀየራል። ይህ ከተጠናቀቀ በኋላ እባክዎ 16 ኪባን እንደገና ለማንቃት ይመለሱ።"</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"ሁሉንም ውሂብ ደምስስ"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"ቅርጸት መሥራት እና የውሂብ ክፍልፋይን ወደ ext4 መጥረግ አልተሳካም።"</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"ለ16 ኪባ ሁነታ bootloader ክፍት መሆን አለበት"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"በBootloader መክፈት ያስፈልጋል"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"ይህ መሣሪያ የ16 ኪባ ገንቢ አማራጩን ከመጠቀሙ በፊት bootloaderን መክፈት አለበት። የሶፍትዌር ታማኝነት በዚህ ሁነታ ሊረጋገጥ አይችልም፣ እና bootloader ክፍት ሆኖ ሳለ በስልኩ ላይ የተከማቸ ማንኛውም መረጃ ለአደጋ ሊጋለጥ ይችላል። የ16 ኪባ ሁነታ ሲነቃ ሁሉም የተጠቃሚ ውሂብ እና ቅንብሮች ይጠረጋሉ። አንዴ bootloader ከተከፈተ በኋላ የ16 ኪባ አማራጩን ለማንቃት ሁለት ዳግም ማስነሳት ያስፈልገዋል። አንዴ በዚህ ሁነታ ላይ ከሆኑ፣ በአንድ ዳግም ማስነሳት ከ4 ኪባ ወደ 16 ኪባ ሁነታ መካከል መቀያየር ይችላሉ። አንዳንድ ባህሪያት በእነዚህ ሁነታዎችላይ ይሰናከላሉ፣ ስለዚህ አንዳንድ መተግበሪያዎች ላይሰሩ ይችላሉ። መሣሪያውን ወደ የምርት ሁነታ መመለስ እንዲችሉ ወደ የ4 ኪባ ሁነታ መመለስ እና OEM/bootloader መቆለፍ ይኖርብዎታል፣ ይህም መሣሪያውን ወደ (ፋብሪካ ዳግም ያስጀምረዋል)። እባክዎ bootloaderን ይክፈቱ እና እንደገና ይሞክሩ። <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a> ላይ ይህንን እንዴት እንደሚያደርጉ መመሪያዎችን ማየት ይችላሉ"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"የ4 ኪባ ለሁሉም ገጽ ተስማሚ ሁነታን በመጠቀም ላይ"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"የሁሉም ገጽ ተስማሚ ሁነታ 4 ኪባ ሁነታ ውስጥ ነዎት። የሶፍትዌር ታማኝነት በዚህ ሁነታ ሊረጋገጥ አይችልም፣ እና bootloader ክፍት ሆኖ ሳለ በስልኩ ላይ የተከማቸ ማንኛውም መረጃ ለአደጋ ሊጋለጥ ይችላል። አንዳንድ ባህሪያት በእነዚህ ሁነታዎችላይ ይሰናከላሉ፣ ስለዚህ አንዳንድ መተግበሪያዎች ላይሰሩ ይችላሉ። ወደ የምርት ሁነታ እንደገና ለመግባት የመሣሪያውን bootloader መቆለፍ አለብዎት። የበለጠ ለማንበብ መታ ያድርጉ።"</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"የሁሉም ገጽ ተስማሚ ሁነታ 4 ኪባ ሁነታ ውስጥ ነዎት። የሶፍትዌር ታማኝነት በዚህ ሁነታ ሊረጋገጥ አይችልም፣ እና bootloader ክፍት ሆኖ ሳለ በስልኩ ላይ የተከማቸ ማንኛውም መረጃ ለአደጋ ሊጋለጥ ይችላል። አንዳንድ ባህሪያት በእነዚህ ሁነታዎችላይ ይሰናከላሉ፣ ስለዚህ አንዳንድ መተግበሪያዎች ላይሰሩ ይችላሉ። ወደ የምርት ሁነታ እንደገና ለመግባት የመሣሪያውን bootloader መቆለፍ አለብዎት። ይህ መሣሪያውን ወደ የፋብሪካ ዳግም ያስጀምረዋል እና የምርት ቅንብሮችን ወደነበሩበት ይመልሳል። መሣሪያው በተሳካ ሁኔታ ወደ Android ከተነሳ በኋላ በገንቢ አማራጮች ውስጥ የOEM መክፈቻን ያሰናክሉ። መሣሪያው ወደ Android መነሳት ካልቻለ ወይም ያልተረጋጋ ከሆነ መሣሪያውን <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/ምስሎች</a> በመጡ የቅርብ ጊዜዎቹ የፋብሪካ ምስሎች ዳግም ፍላሽ ያድርጉት ወይም <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ይጠቀሙ እና «መሣሪያን ጥረግ»፣ «Bootloaderን ቆልፍ» እና «የሁሉንም ክፍልፋዮች ፍላሽ አስገድድ» የሚለውን ይምረጡ።"</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"የ16 ኪባ ለሁሉም ገጽ ተስማሚ ሁነታን በመጠቀም ላይ"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"የሁሉም ገጽ ተስማሚ ሁነታው የ16 ኪባ ሁነታ ላይ ነዎት። የሶፍትዌር ታማኝነት በዚህ ሁነታ ሊረጋገጥ አይችልም፣ እና bootloader ክፍት ሆኖ ሳለ በስልኩ ላይ የተከማቸ ማንኛውም መረጃ ለአደጋ ሊጋለጥ ይችላል። አንዳንድ ባህሪያት በእነዚህ ሁነታዎችላይ ይሰናከላሉ፣ ስለዚህ አንዳንድ መተግበሪያዎች ላይሰሩ ይችላሉ። ወደ የምርት ሁነታ እንደገና ለመግባት ወደ የ4 ኪባ ሁነታ መመለስ እና ከዚያ የመሣሪያውን bootloader መቆለፍ አለብዎት። የበለጠ ለማንበብ መታ ያድርጉ።"</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"የሁሉም ገጽ ተስማሚ ሁነታው የ16 ኪባ ሁነታ ላይ ነዎት። የሶፍትዌር ታማኝነት በዚህ ሁነታ ሊረጋገጥ አይችልም፣ እና bootloader ክፍት ሆኖ ሳለ በስልኩ ላይ የተከማቸ ማንኛውም መረጃ ለአደጋ ሊጋለጥ ይችላል። አንዳንድ ባህሪያት በእነዚህ ሁነታዎችላይ ይሰናከላሉ፣ ስለዚህ አንዳንድ መተግበሪያዎች ላይሰሩ ይችላሉ። ወደ የምርት ሁነታ እንደገና ለመግባት ወደ የ4 ኪባ ሁነታ መመለስ እና ከዚያ የመሣሪያውን bootloader መቆለፍ አለብዎት። ይህ መሣሪያውን ወደ የፋብሪካ ዳግም ያስጀምረዋል እና የምርት ቅንብሮችን ወደነበሩበት ይመልሳል። መሣሪያው በተሳካ ሁኔታ ወደ Android ከተነሳ በኋላ በገንቢ አማራጮች ውስጥ የOEM መክፈቻን ያሰናክሉ። መሣሪያው ወደ Android መነሳት ካልቻለ ወይም ያልተረጋጋ ከሆነ መሣሪያውን <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/ምስሎች</a> በመጡ የቅርብ ጊዜዎቹ የፋብሪካ ምስሎች ዳግም ፍላሽ ያድርጉት ወይም <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ይጠቀሙ እና «መሣሪያን ጥረግ»፣ «Bootloaderን ቆልፍ» እና «የሁሉንም ክፍልፋዮች ፍላሽ አስገድድ» የሚለውን ይምረጡ።"</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"የገጽ-አግኖስቲክ ሁነታ የ16 ኪባ ሁነታ ላይ ነዎት። የሶፍትዌር ታማኝነት በዚህ ሁነታ ሊረጋገጥ አይችልም፣ እና bootloader ክፍት ሆኖ ሳለ በስልኩ ላይ የተከማቸ ማንኛውም ውሂብ ለአደጋ ሊጋለጥ ይችላል። አንዳንድ ባህሪያት በእነዚህ ሁነታዎች ላይ ይሰናከላሉ፣ ስለዚህ አንዳንድ መተግበሪያዎች ላይሰሩ ይችላሉ። ወደ የምርት ሁነታ እንደገና ለመግባት ወደ የ4ኪባ ሁነታ መመለስ እና ከዚያ የመሣሪያውን bootloader መቆለፍ አለብዎት። የበለጠ ለማንበብ መታ ያድርጉ።"</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"የገጽ-አግኖስቲክ ሁነታ የ16 ኪባ ሁነታ ላይ ነዎት። የሶፍትዌር ታማኝነት በዚህ ሁነታ ሊረጋገጥ አይችልም፣ እና bootloader ክፍት ሆኖ ሳለ በስልኩ ላይ የተከማቸ ማንኛውም ውሂብ ለአደጋ ሊጋለጥ ይችላል። አንዳንድ ባህሪያት በእነዚህ ሁነታዎች ላይ ይሰናከላሉ፣ ስለዚህ አንዳንድ መተግበሪያዎች ላይሰሩ ይችላሉ። ወደ የምርት ሁነታ እንደገና ለመግባት ወደ የ4ኪባ ሁነታ መመለስ እና ከዚያ የመሣሪያውን bootloader መቆለፍ አለብዎት። ይህ መሣሪያውን ወደ የፋብሪካ ዳግም ያስጀምረዋል እና የምርት ቅንብሮችን ወደነበሩበት ይመልሳል። መሣሪያው በተሳካ ሁኔታ ወደ Android ከተነሳ በኋላ በገንቢ አማራጮች ውስጥ የOEM መክፈቻን ያሰናክሉ። መሣሪያው ወደ Android መነሳት ካልቻለ ወይም ያልተረጋጋ ከሆነ መሣሪያውን ከ<a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> በመጡ የቅርብ ጊዜዎቹ የፋብሪካ ምስሎች ዳግም ፍላሽ ያድርጉት ወይም <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ይጠቀሙ እና «መሣሪያን ጥረግ»፣ «Bootloaderን ቆልፍ» እና «የሁሉንም ክፍልፋዮች ፍላሽ አስገድድ» የሚለውን ይምረጡ።"</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"የ16 ኪባ ለሁሉም ገጽ ተስማሚ ሁነታ"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"ተጨማሪ ያንብቡ"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"የሳንካ ሪፖርት ተቆጣጣሪ"</string>
@@ -5007,14 +5071,15 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"መተግበሪያን መሰካትን ይጠቀሙ"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"የገንቢ አማራጮችን ይጠቀሙ"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"የህትመት አገልግሎትን ይጠቀሙ"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"በርካታ ተጠቃሚዎችን ይፍቀዱ"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"ፍቀድ፣ በርካታ፣ ተጠቃሚ፣ ፈቃድ፣ ብዙ"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"ብዙ፣ ተጠቃሚዎች፣ መገለጫዎች፣ ሰዎች፣ መለያዎች፣ መቀየሪያ፣ በርካታ"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ገመድ አልባ ማረምን ይጠቀሙ"</string>
<string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"የግራፊክስ ነጂ አማራጮችን ይጠቀሙ"</string>
<string name="night_light_main_switch_title" msgid="3428298022467805219">"የምሽት ብርሃንን ይጠቀሙ"</string>
<string name="nfc_main_switch_title" msgid="6295839988954817432">"ኤንኤፍሲን ይጠቀሙ"</string>
- <string name="adaptive_brightness_main_switch_title" msgid="2681666805191642737">"ተለዋዋጭ ብሩህነትን ይጠቀሙ"</string>
+ <string name="adaptive_brightness_main_switch_title" msgid="2681666805191642737">"ተለማማጅ ብሩህነትን ይጠቀሙ"</string>
<string name="wifi_calling_main_switch_title" msgid="4070224008346815634">"የWi‑Fi ጥሪ ማድረጊያን ይጠቀሙ"</string>
<string name="default_see_all_apps_title" msgid="7481113230662612178">"ሁሉንም መተግበሪያዎች ይመልከቱ"</string>
<string name="smart_forwarding_title" msgid="8368634861971949799">"ብልህ ማስተላለፍ"</string>
@@ -5121,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"ጡባዊዎ ሲተከል በማያ ገፅዎ ላይ የሚያዩትን ይምረጡ። የማያ ገፅ ማቆያ ሥራ ላይ ሲውል መሣሪያዎ የበለጠ ኃይል ሊጠቀም ይችላል።"</string>
<string name="customize_button_title" msgid="1110284655990203359">"አብጅ"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> አብጅ"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"የነጻ ቅርጽ ድጋፍን ለማንቃት ዳግም ማስነሳት ያስፈልጋል።"</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"የዴስክቶፕ ሁነታን በሁለተኛ ደረጃ ማሳያዎች ላይ ለማስገደድ ዳግም ማስነሳት ያስፈልጋል።"</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"የቆየ በነጻ ቅርጽ በመስኮት የማሳየት ድጋፍን ለማንቃት ዳግም ማስነሳት ያስፈልጋል።"</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"የነጻ ቅርጽ በመስኮት የማሳየት ድጋፍን ለመለወጥ ዳግም ማስነሳት ያስፈልጋል።"</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"በሁለተኛ ማሳያዎች ላይ የነጻ ቅርጽ በመስኮት ማሳየትን ለማስገደድ ዳግም ማስነሳት ያስፈልጋል።"</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"ዳግም አስነሳ"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"በኋላ ዳግም አስነሳ"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"ከባቢያዊ ኦዲዮ"</string>
@@ -5351,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ዥረት ያዳምጡ"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"በ<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ለማዳመጥ የኦዲዮ ዥረት QR ኮድ ይቃኙ"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"እያጋሩ እያለ የይለፍ ቃልን ማርተዕ አልተቻለም። የይለፍ ቃሉን ለመቀየር በቅድሚያ የድምፅ ማጋራትን ያጥፉ።"</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-ar/arrays.xml b/res/values-ar/arrays.xml
index 3855825..10b3977 100644
--- a/res/values-ar/arrays.xml
+++ b/res/values-ar/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"وقت النوم"</item>
+ <item msgid="4152450357280759894">"القيادة"</item>
+ <item msgid="7096549258219399423">"تجربة غامرة"</item>
+ <item msgid="2760716776980432977">"تجربة مُدارة"</item>
+ <item msgid="601734478369121764">"نجمة"</item>
+ <item msgid="6243809315432780521">"التقويم"</item>
+ <item msgid="4913577903148415331">"الوقت"</item>
+ <item msgid="3653377604690057780">"مسرح"</item>
+ <item msgid="3843711267408385410">"زهرة"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 62f57be..058cf2e 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"إعدادات سماعات الأذن الطبية"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"الاختصار، التوافق مع السماعات الطبية"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"الإعدادات المسبقة"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"لا يوجد أي إعداد مسبق مُبرمج من قِبَل أخصائي السمعيات"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"تعذَّر تعديل الإعداد المسبق"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"مصدر إخراج الصوت"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"لمحة عن إخراج الصوت"</string>
@@ -383,7 +384,7 @@
<string name="security_settings_fingerprint_v2_enroll_introduction_footer_title_2" msgid="2580899232734177771">"آلية العمل"</string>
<string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_2" msgid="5909924864816776516">"تنشئ ميزة \"فتح الجهاز ببصمة الإصبع\" نموذجًا فريدًا من بصمة إصبعك لإثبات هويتك. لإنشاء نموذج بصمة الإصبع هذا أثناء عملية الإعداد، عليك تسجيل صور لبصمة إصبعك من جهات مختلفة."</string>
<string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_2" msgid="3493356605815124807">"تنشئ ميزة \"فتح الجهاز ببصمة الإصبع\" نموذجًا فريدًا من بصمة إصبع طفلك لإثبات هويته. لإنشاء نموذج بصمة الإصبع هذا أثناء الإعداد، على طفلك تسجيل صور لبصمة إصبعه من جهات مختلفة."</string>
- <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_6" msgid="5314031490467481499">"للحصول على أفضل النتائج، استخدم واقي شاشة مُعتمَد ويحمل شعار Made for Google. قد لا تعمل بصمة إصبعك، مع واقيات الشاشة الأخرى."</string>
+ <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_6" msgid="5314031490467481499">"للحصول على أفضل النتائج، استخدم واقي شاشة مُعتمَد ويحمل شعار Made for Google. قد لا تعمل بصمة إصبعك مع واقيات الشاشة الأخرى."</string>
<string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"للحصول على أفضل النتائج، استخدم واقي شاشة مُعتمَد ويحمل شعار Made for Google. قد لا تعمل بصمة إصبع طفلك مع واقيات الشاشة الأخرى."</string>
<string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
<string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"فتح الهاتف من الساعة"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"تمت إضافة وجه و\"<xliff:g id="WATCH">%s</xliff:g>\"."</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"تمت إضافة وجه وبصمة إصبع و\"<xliff:g id="WATCH">%s</xliff:g>\"."</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"تمت إضافة وجه وبصمات أصابع و\"<xliff:g id="WATCH">%s</xliff:g>\"."</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"هذا الإجراء مطلوب عندما تكون ميزة \"التحقّق من الهوية\" مفعَّلة"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"فتح قفل Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"تمت إضافة الساعة"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"ضبط إعدادات ساعتك"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"مزيد من المعلومات عن ميزة \"فتح الهاتف من الساعة\""</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"إضافة ساعة"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"إزالة ساعة"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"فتح الجهاز بالتعرّف على الوجه وبصمة الإصبع"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"فتح الجهاز بالتعرف على الوجه وببصمة الإصبع"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"فتح قفل ملف العمل ببصمة الإصبع وبالتعرف على الوجه"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"يجب ضبط الإعدادات"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"تمت إضافة وجه وبصمات أصابع."</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"تثبيت التطبيقات"</b>\n"بإمكانك تثبيت التطبيقات التي تريد الحفاظ على خصوصيتها في مساحتك الخاصّة"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"ملاحظة"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"تتوقّف التطبيقات عند قفل المساحة الخاصّة"</b>\n"عند قفل مساحتك الخاصّة، يتم إيقاف التطبيقات المدرَجة فيها ولن يصلك منها أي إشعار"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"المساحات الخاصّة غير مناسبة للتطبيقات التي تتطلب التشغيل في الخلفية أو إرسال إشعارات مُهمة، مثل التطبيقات الطبية، لأن قفل المساحة الخاصّة يؤدي إلى إيقاف إشعارات التطبيقات المُدرجة فيها ونشاطها في الخلفية.\n\nبالنسبة إلى التطبيقات في المساحة الخاصة، لن تظهر ضمن \"إدارة الأذونات\" و\"لوحة بيانات الخصوصية\" والإعدادات الأخرى إذا كانت المساحة الخاصّة مقفلة.\n\nلا يمكن نقل مساحتك الخاصّة إلى جهاز جديد. إذا أردت استخدام مساحة خاصّة على جهاز آخر، عليك إعدادها على ذلك الجهاز.\n\nإذا ربط أحد المستخدمين جهازك بجهاز كمبيوتر أو ثبَّت تطبيقات ضارة عليه، فقد يستطيع الوصول إلى المساحة الخاصّة."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"المساحات الخاصّة غير مناسبة للتطبيقات التي تتطلب التشغيل في الخلفية أو إرسال إشعارات مُهمة، مثل التطبيقات الطبية، لأن قفل المساحة الخاصّة يؤدي إلى إيقاف إشعارات التطبيقات المُدرجة فيها ونشاطها في الخلفية.\n\nبالنسبة إلى التطبيقات في المساحة الخاصة، لن تظهر ضمن \"إدارة الأذونات\" و\"لوحة بيانات الخصوصية\" والإعدادات الأخرى إذا كانت المساحة الخاصّة مقفلة.\n\nلا يمكن استعادة مساحتك الخاصّة إلى جهاز جديد. إذا أردت استخدام مساحة خاصّة على جهاز آخر، عليك إعدادها على ذلك الجهاز.\n\nإذا ربط أحد المستخدمين جهازك بجهاز كمبيوتر أو ثبَّت تطبيقات ضارة عليه، فقد يستطيع الوصول إلى المساحة الخاصّة."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"مزيد من المعلومات حول المساحة الخاصة"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"سيستغرق هذا الإجراء بضع لحظات"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"جارٍ إعداد المساحة الخاصة…"</string>
@@ -776,7 +776,7 @@
<string name="lock_last_pattern_attempt_before_wipe_profile" msgid="2479195488386373253">"عند إدخال نقش غير صحيح في المحاولة التالية، سيتم حذف ملفك الشخصي للعمل وبياناته"</string>
<string name="lock_last_pin_attempt_before_wipe_profile" msgid="7086428013814722436">"عند إدخال رقم تعريف شخصي غير صحيح في المحاولة التالية، سيتم حذف ملفك الشخصي للعمل وبياناته"</string>
<string name="lock_last_password_attempt_before_wipe_profile" msgid="253673907244112643">"عند إدخال كلمة مرور غير صحيحة في المحاولة التالية، سيتم حذف ملفك الشخصي للعمل وبياناته"</string>
- <string name="lockpassword_password_too_short" msgid="1938086368137797700">"{count,plural, =1{يجب أن تحتوي كلمة المرور على حرف واحد على الأقل}zero{يجب ألّا يقل عدد الحروف عن # حرف}two{يجب ألّا يقل عدد الحروف عن حرفَين}few{يجب ألّا يقل عدد الحروف عن # أحرف}many{يجب ألّا يقل عدد الحروف عن # حرفًا}other{يجب ألّا يقل عدد الحروف عن # حرف}}"</string>
+ <string name="lockpassword_password_too_short" msgid="1938086368137797700">"{count,plural, =1{يجب أن تحتوي كلمة المرور على حرف واحد على الأقل}zero{يجب ألّا يقل عدد الحروف عن #}two{يجب ألّا يقل عدد الحروف عن حرفَين}few{يجب ألّا يقل عدد الحروف عن #}many{يجب ألّا يقل عدد الحروف عن #}other{يجب ألّا يقل عدد الحروف عن #}}"</string>
<string name="lockpassword_password_too_short_all_numeric" msgid="4301294924022401502">"{count,plural, =1{في حال استخدام الأرقام فقط، يجب أن تحتوي كلمة المرور على رقم واحد على الأقل.}zero{في حال استخدام الأرقام فقط، يجب أن تحتوي كلمة المرور على # رقم على الأقل.}two{في حال استخدام الأرقام فقط، يجب أن تحتوي كلمة المرور على رقمَين على الأقل.}few{في حال استخدام الأرقام فقط، يجب أن تحتوي كلمة المرور على # أرقام على الأقل.}many{في حال استخدام الأرقام فقط، يجب أن تحتوي كلمة المرور على # رقمًا على الأقل.}other{في حال استخدام الأرقام فقط، يجب أن تحتوي كلمة المرور على # رقم على الأقل.}}"</string>
<string name="lockpassword_pin_too_short" msgid="8910105226463085689">"{count,plural, =1{يجب أن يحتوي رقم التعريف الشخصي على رقم واحد على الأقل.}zero{يجب أن يحتوي رقم التعريف الشخصي على # رقم على الأقل.}two{يجب أن يحتوي رقم التعريف الشخصي على رقمَين على الأقل.}few{يجب أن يحتوي رقم التعريف الشخصي على # أرقام على الأقل.}many{يجب أن يحتوي رقم التعريف الشخصي على # رقمًا على الأقل.}other{يجب أن يحتوي رقم التعريف الشخصي على # رقم على الأقل.}}"</string>
<string name="lockpassword_pin_too_short_autoConfirm_extra_message" msgid="3271351502900762571">"{count,plural, =1{يجب أن يحتوي رقم التعريف الشخصي على رقم واحد على الأقل ولكن يُنصَح بأن يكون مكوّنًا من {minAutoConfirmLen} أرقام لمزيد من الأمان}zero{يجب أن يحتوي رقم التعريف الشخصي على # رقم على الأقل ولكن يُنصَح بأن يكون مكوّنًا من {minAutoConfirmLen} أرقام لمزيد من الأمان}two{يجب أن يحتوي رقم التعريف الشخصي على رقمَين على الأقل ولكن يُنصَح بأن يكون مكوّنًا من {minAutoConfirmLen} أرقام لمزيد من الأمان}few{يجب أن يحتوي رقم التعريف الشخصي على # أرقام على الأقل ولكن يُنصَح بأن يكون مكوّنًا من {minAutoConfirmLen} أرقام لمزيد من الأمان}many{يجب أن يحتوي رقم التعريف الشخصي على # رقمًا على الأقل ولكن يُنصَح بأن يكون مكوّنًا من {minAutoConfirmLen} أرقام لمزيد من الأمان}other{يجب أن يحتوي رقم التعريف الشخصي على # رقم على الأقل ولكن يُنصَح بأن يكون مكوّنًا من {minAutoConfirmLen} أرقام لمزيد من الأمان}}"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"هل تريد إعادة تشغيل الجهاز؟"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"تسجيل الدخول عبر اتصال قصير المدى (NFC) مفصَّل مصمَّم لأغراض التطوير فقط. يتم تضمين بيانات إضافية عن الاتصال القصير المدى (NFC) في تقارير الأخطاء وقد تحتوي على معلومات خاصة. عليك إعادة تشغيل جهازك لتغيير هذا الخيار."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"إعادة التشغيل"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"البث"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"انعكاس"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"تفعيل عرض شاشة لاسلكي"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"توافقية"</string>
<string name="brightness" msgid="6216871641021779698">"مستوى السطوع"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"السطوع التكيُّفي"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"لمحة عن ميزة \"السطوع التكيُّفي\""</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"سيتم ضبط سطوع الشاشة تلقائيًا حسب البيئة المحيطة والأنشطة. ويمكنك تحريك شريط التمرير يدويًا لضبط السطوع التكيُّفي حسبما تفضّل."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"مفعّل"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"غير مفعّل"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"الخيارات"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"تسهيل الاستخدام"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"لوحة المفاتيح الخارجية"</string>
- <string name="show_ime" msgid="4334255501724746849">"استخدام لوحة المفاتيح على الشاشة"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"استمرار عرضها على الشاشة عندما تكون لوحة المفاتيح الخارجية متصلة"</string>
<string name="bounce_keys" msgid="7419450970351743904">"تجاهُل النقرات المتكرّرة"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"تتجاهل لوحة المفاتيح الضغطات المتكررة بسرعة على المفتاح نفسه خلال <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ملي ثانية"</string>
<string name="slow_keys" msgid="2891452895499690837">"المفاتيح البطيئة"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"تنسيق محدَّد من المستخدم: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"الكلام"</string>
<string name="pointer_speed" msgid="7398649279282675718">"سرعة المؤشر"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"وحدة التحكم في الألعاب"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"إعادة توجيه الاهتزاز"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"إرسال الاهتزاز إلى وحدة التحكم في الألعاب عند الاتصال"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"المتابعة على أيّ حال"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"إلغاء"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"إعدادات التكبير"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"التحريك بإصبع واحد"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"حرِّك المكبِّر بإصبع واحد"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"اسحب بإصبع واحد للتنقل على الشاشة"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"يمكنك نقل منطقة التكبير عن طريق سحب إصبع واحد."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"يمكنك نقل منطقة التكبير عن طريق سحب إصبعين."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"لا تتوفّر هذه الميزة عند تكبير جزء من الشاشة فقط"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"انقر على أحد الأزرار للتكبير"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"يمكنك تكبير الشاشة بسرعة لتكبير المحتوى"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>لتكبير الشاشة، نفِّذ الخطوات التالية:</b><br/> {0,number,integer}. استخدِم الاختصار المخصّص لبدء تكبير المحتوى<br/> {1,number,integer}. انقر على الشاشة<br/> {2,number,integer}. اسحب إصبعين للتنقّل على الشاشة<br/> {3,number,integer}. باعِد أو قارِب بإصبعين لتعديل مستوى التكبير/التصغير<br/> {4,number,integer}. استخدِم الاختصار المخصّص لإيقاف تكبير المحتوى<br/><br/><b>لتكبير المحتوى مؤقتًا، نفِّذ الخطوات التالية:</b><br/> {0,number,integer}. تأكّد من ضبط نوع التكبير على وضع ملء الشاشة<br/> {1,number,integer}. استخدِم الاختصار المخصّص لبدء تكبير المحتوى<br/> {2,number,integer}. انقر مع الاستمرار على أي مكان على الشاشة<br/> {3,number,integer}. اسحب إصبعك للتنقّل على الشاشة<br/> {4,number,integer}. ارفع إصبعك لإيقاف تكبير الشاشة"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>لتكبير الشاشة:</b><br/> {0,number,integer}. استخدِم الاختصار المخصّص لبدء التكبير<br/> {1,number,integer}. انقر على الشاشة<br/> {2,number,integer}. اسحب بإصبعين للتنقّل على الشاشة<br/> {3,number,integer}. باعِد أو قارِب بإصبعين لتعديل مستوى التكبير أو التصغير<br/> {4,number,integer}. استخدِم الاختصار المخصَّص لإيقاف التكبير<br/><br/> يمكنك أيضًا التكبير بشكل مؤقت وغير ذلك."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>لتكبير الشاشة:</b><br/> {0,number,integer}. استخدِم الاختصار المخصّص لبدء التكبير<br/> {1,number,integer}. انقر على الشاشة<br/> {2,number,integer}. اسحب بإصبع واحد أو إصبعين للتنقّل على الشاشة<br/> {3,number,integer}. باعِد أو قارِب بإصبعين لتعديل مستوى التكبير أو التصغير<br/> {4,number,integer}. استخدِم الاختصار المخصَّص لإيقاف التكبير<br/><br/> يمكنك أيضًا التكبير بشكل مؤقت وغير ذلك."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"عند تفعيل ميزة \"التكبير\"، يمكنك تكبير حجم المحتوى على الشاشة.\n\n"<b>"للتكبير"</b>"، يمكنك تفعيل ميزة \"التكبير\" والنقر بعد ذلك على أي مكان في الشاشة.\n"<ul><li>"يمكنك سحب إصبعين أو أكثر للتمرير."</li>\n<li>"يمكنك ضمّ إصبعين أو أكثر لتعديل حجم المحتوى."</li></ul>\n\n<b>"للتكبير مؤقتًا"</b>"، يمكنك تفعيل ميزة التكبير والنقر مع الاستمرار على أي مكان في الشاشة.\n"<ul><li>"يمكنك السحب للتنقّل داخل الشاشة."</li>\n<li>"يمكنك رفع إصبعك للتصغير."</li></ul>\n\n"لن يكون بإمكانك التكبير على لوحة المفاتيح أو شريط التنقل."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"الصفحة <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> من <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"اختصار زر أدوات تسهيل الاستخدام"</string>
@@ -2195,7 +2233,7 @@
<string name="accessibility_button_location_title" msgid="7182107846092304942">"الموقع"</string>
<string name="accessibility_button_size_title" msgid="5785110470538960881">"حجم الزر"</string>
<string name="accessibility_button_fade_title" msgid="8081993897680588829">"تلاشي الزر عند عدم استخدامه"</string>
- <string name="accessibility_button_fade_summary" msgid="7865950833524973709">"يتلاشى الزر بعد بضع ثوانٍ، ما يسهِّل عليك رؤية الشاشة"</string>
+ <string name="accessibility_button_fade_summary" msgid="7865950833524973709">"تلاشي الزر بعد بضع ثوانٍ، ما يسهِّل عليك رؤية الشاشة"</string>
<string name="accessibility_button_opacity_title" msgid="4727355657530362289">"شفافية الزر عند عدم استخدامه"</string>
<string name="accessibility_button_low_label" msgid="4193015407828927741">"شفاف"</string>
<string name="accessibility_button_high_label" msgid="9138077512008190896">"غير شفاف"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"ستصلك الإشعارات من الأشخاص المهمّين والتطبيقات المهمّة فقط"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"اختيار نوع التفعيل"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"الوقت"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"على سبيل المثال: \"من 9:30 صباحًا حتى 5:00 بعد الظهر\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"التقويم"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"على سبيل المثال: \"التقويم الشخصي\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"إنشاء وضع"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"مخصَّص"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"الحد من المقاطعات"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"تفعيل ميزة \"عدم الإزعاج\""</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"السماح للمنبهات وأصوات الوسائط بمقاطعة عمل الميزة"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"الجداول الزمنية"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"حذف الجداول الزمنية"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"حذف"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"تعديل"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"الجداول الزمنية"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"الجدول الزمني"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"ضبط جدول زمني"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"الجدول الزمني"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ساعة و<xliff:g id="MINUTES">%2$d</xliff:g> دقيقة"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"التفعيل تلقائيًا"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"الجدول الزمني"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"كتم صوت الهاتف في أوقات معيّنة"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"تعيين قواعد عدم الإزعاج"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"السماح بالمقاطعات التي تصدر صوتًا"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"حظر الإشعارات المرئية"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"السماح بالإشارات المرئية"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"الإشعارات التي يمكنها الوصول إليك"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"الحفاظ على التركيز"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"الإجراءات الإضافية"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"إعدادات العرض"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"خيارات العرض"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"تفعيل المظهر الداكن"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"يتم تبديل نظام التشغيل والتطبيقات إلى تفضيل النص الفاتح على الخلفية الداكنة لإراحة العين وتوفير شحن البطارية بشكل ملحوظ في بعض الأجهزة"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{لم تحدث تغيرات بالعرض}=1{{effect_1}}=2{{effect_1} و{effect_2}}=3{{effect_1} و{effect_2} و{effect_3}}few{{effect_1} و{effect_2} و# تغييرات أخرى}many{{effect_1} و{effect_2} و# تغييرًا آخر}other{{effect_1} و{effect_2} و# تغيير آخر}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"فلترة مصادر الإزعاج"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"لا تتم فلترة مصادر الإزعاج"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"خيارات العرض للإشعارات المفلتَرة"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"عندما تكون ميزة \"عدم الإزعاج\" مفعّلة"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"بدون تنبيهات صوتية من الإشعارات"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"فتح الإشعار"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"السماح بتأجيل الإشعارات"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"نقطة الإشعار على رموز التطبيقات"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"حِزم الإشعارات"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"فقاعات المحادثات"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"فقاعات المحادثات"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"إظهار هذه المحادثة كفقاعة"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"الفئات"</string>
<string name="notification_channels_other" msgid="18159805343647908">"غير ذلك"</string>
<string name="no_channels" msgid="4716199078612071915">"لم ينشر هذا التطبيق أي إشعارات."</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"عرض الفئات غير المستخدَمة"</string>
<string name="app_settings_link" msgid="6725453466705333311">"الإعدادات الإضافية في التطبيق"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"عرض الفئات غير المستخدَمة"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"إخفاء الفئات غير المستخدَمة"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"كل التطبيقات"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"السماح للتطبيقات بإلغاء وضع \"عدم الإزعاج\""</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"التطبيقات التي يمكنها مقاطعة عمل الميزة"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"اختيار مزيد من التطبيقات"</string>
@@ -4067,7 +4129,7 @@
<string name="storage_summary" msgid="5903562203143572768">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> مستخدمة - <xliff:g id="FREE_SPACE">%2$s</xliff:g> متاحة"</string>
<string name="display_dashboard_summary" msgid="1599453894989339454">"المظهر الداكن وحجم الخط والسطوع"</string>
<string name="memory_summary" msgid="8221954450951651735">"تم استخدام متوسط ذاكرة بحجم <xliff:g id="USED_MEMORY">%1$s</xliff:g> من إجمالي <xliff:g id="TOTAL_MEMORY">%2$s</xliff:g>"</string>
- <string name="users_summary" msgid="8473589474976307510">"تم تسجيل الدخول باسم <xliff:g id="USER_NAME">%1$s</xliff:g>."</string>
+ <string name="users_summary" msgid="8473589474976307510">"تم تسجيل الدخول باسم <xliff:g id="USER_NAME">%1$s</xliff:g>"</string>
<string name="android_version_summary" msgid="7818952662015042768">"تم التحديث إلى الإصدار <xliff:g id="VERSION">%1$s</xliff:g> من Android."</string>
<string name="android_version_pending_update_summary" msgid="5404532347171027730">"هناك تحديث متوفّر."</string>
<string name="disabled_by_policy_title" msgid="6852347040813204503">"سياسة العمل تحظر هذا الإجراء"</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"الحافظة"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"البطارية"</string>
<string name="settings_panel_title" msgid="346363079938069215">"لوحة الإعدادات"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"فرض وضع سطح المكتب"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"فرض وضع سطح المكتب التجريبي على شاشات العرض الثانوية"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"تفعيل النوافذ الحرة"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"سيتم تفعيل عرض النوافذ الحرة."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"تفعيل عرض النوافذ الحرة على شاشة عرض أخرى"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"سيتم تفعيل النوافذ الحرة فقط على شاشة عرض ثانوية."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"استخدام التطبيقات التي لا يتغير حجمها في النوافذ المتعددة"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"السماح باستخدام التطبيقات التي لا يتغير حجمها في النوافذ المتعددة"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"إلغاء ميزة فرض تعتيم الشاشة"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"يجب تحويل قسم البيانات في هذا الجهاز إلى نظام الملفات ext4 لتتمكّن من استخدام الوضع ١٦ كيلوبايت ضِمن خيارات المطوِّرين. وفي هذا الوضع، لا يمكن ضمان سلامة برنامج النظام. وعندما يكون برنامج الإقلاع غير مقفل، قد تصبح بياناتك المخزَّنة على الهاتف معرَّضة للخطر. لتفعيل الخيار ١٦ كيلوبايت، يجب إعادة تشغيل الجهاز مرة أخرى بعد ذلك. بعد تفعيل هذا الوضع، يمكنك التبديل بين الوضعَين ٤ كيلوبايت و١٦ كيلوبايت من خلال إعادة تشغيل الجهاز لمرّة واحدة. سيتم إيقاف بعض الميزات في هذَين الوضعَين، وبالتالي قد لا تعمل بعض التطبيقات. لإعادة الجهاز إلى وضع الإنتاج، عليك التبديل مرة أخرى إلى الوضع ٤ كيلوبايت وقفل برنامج الإقلاع، وسيؤدي ذلك إلى إعادة ضبط الجهاز على الإعدادات الأصلية. بعد تشغيل نظام Android على الجهاز بنجاح، أوقِف الإعداد \"فتح قفل المصنّع الأصلي للجهاز\" ضِمن \"خيارات المطوّرين\". بعد التأكيد، سيتم حجب بيانات الجهاز وتغيير نظام الملفات إلى ext4. بعد إتمام هذه الخطوات، يُرجى إعادة تفعيل الوضع ١٦ كيلوبايت."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"محو جميع البيانات"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"تعذَّر حجب قسم البيانات وإعادة تنسيقه إلى ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"يجب فتح قفل برنامج الإقلاع لتفعيل الوضع 16 كيلوبايت"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"يجب فتح قفل برنامج الإقلاع"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"يجب فتح قفل برنامج الإقلاع على هذا الجهاز قبل استخدام الوضع 16 كيلوبايت ضِمن خيارات المطوِّرين. وفي هذا الوضع، لا يمكن ضمان سلامة برنامج النظام. وعندما يكون برنامج الإقلاع غير مقفل، قد تصبح بياناتك المخزَّنة على الهاتف معرَّضة للخطر. وعند تفعيل الوضع 16 كيلوبايت، سيتم حجب كل بيانات المستخدم وإعداداته. بعد فتح قفل برنامج الإقلاع، سيكون عليك إعادة تشغيل الجهاز مرّتين لتفعيل الخيار 16 كيلوبايت. بعد تفعيل هذا الوضع، يمكنك التبديل بين الوضعَين 4 كيلوبايت و16 كيلوبايت من خلال إعادة تشغيل الجهاز لمرّة واحدة. سيتم إيقاف بعض الميزات في هذَين الوضعَين، وبالتالي قد لا تعمل بعض التطبيقات. لإعادة الجهاز إلى وضع الإنتاج، عليك التبديل مرة أخرى إلى الوضع 4 كيلوبايت وقفل برنامج الإقلاع أو إعدادات المصنّع الأصلي للجهاز، وسيؤدي ذلك إلى إعادة ضبط الجهاز على الإعدادات الأصلية. يُرجى فتح قفل برنامج الإقلاع ثم إعادة المحاولة. يمكنك الاطّلاع على تعليمات حول كيفية تنفيذ هذا الإجراء من خلال الانتقال إلى: <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"استخدام الوضع ٤ كيلوبايت غير المستند إلى حجم الصفحة"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"جهازك الآن في الوضع ٤ كيلوبايت ضِمن الوضع غير المستند إلى حجم الصفحة. وفي هذا الوضع، لا يمكن ضمان سلامة برنامج النظام. وعندما يكون برنامج الإقلاع غير مقفل، قد تصبح بياناتك المخزَّنة على الهاتف معرَّضة للخطر. سيتم إيقاف بعض الميزات في هذَين الوضعَين، وبالتالي قد لا تعمل بعض التطبيقات. لإعادة تفعيل وضع الإنتاج، عليك قفل برنامج إقلاع الجهاز. انقر لقراءة المزيد."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"جهازك الآن في الوضع ٤ كيلوبايت ضِمن الوضع غير المستند إلى حجم الصفحة. وفي هذا الوضع، لا يمكن ضمان سلامة برنامج النظام. وعندما يكون برنامج الإقلاع غير مقفل، قد تصبح بياناتك المخزَّنة على الهاتف معرَّضة للخطر. سيتم إيقاف بعض الميزات في هذَين الوضعَين، وبالتالي قد لا تعمل بعض التطبيقات. لإعادة تفعيل وضع الإنتاج، عليك قفل برنامج إقلاع الجهاز. سيؤدي هذا الإجراء إلى إعادة ضبط الجهاز على الإعدادات الأصلية لوضع الإنتاج. بعد تشغيل نظام Android على الجهاز بنجاح، أوقِف الإعداد \"فتح قفل المصنّع الأصلي للجهاز\" ضِمن \"خيارات المطوّرين\". إذا تعذَّر تشغيل نظام Android أو كان يعمل بشكل غير مستقر، عليك إعادة تثبيت أحدث نسخ برامج الجهة المصنِّعة من خلال <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> أو <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a>، وتحديد الخيارات التالية: \"حجب بيانات الجهاز\" (Wipe Device)، و\"قفل برنامج الإقلاع\" (Lock Bootloader)، و\"فرض تثبيت البيانات في جميع الأقسام\" (Force Flash all partitions)."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"استخدام الوضع ١٦ كيلوبايت غير المستند إلى حجم الصفحة"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"جهازك الآن في الوضع ١٦ كيلوبايت ضِمن الوضع غير المستند إلى حجم الصفحة. وفي هذا الوضع، لا يمكن ضمان سلامة برنامج النظام. وعندما يكون برنامج الإقلاع غير مقفل، قد تصبح بياناتك المخزَّنة على الهاتف معرَّضة للخطر. سيتم إيقاف بعض الميزات في هذَين الوضعَين، وبالتالي قد لا تعمل بعض التطبيقات. لإعادة تفعيل وضع الإنتاج، عليك التبديل مرة أخرى إلى الوضع ٤ كيلوبايت وقفل برنامج الإقلاع. انقر لقراءة المزيد."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"جهازك الآن في الوضع 16 كيلوبايت ضِمن الوضع غير المستند إلى حجم الصفحة. وفي هذا الوضع، لا يمكن ضمان سلامة برنامج النظام. وعندما يكون برنامج الإقلاع غير مقفل، قد تصبح بياناتك المخزَّنة على الهاتف معرَّضة للخطر. سيتم إيقاف بعض الميزات في هذَين الوضعَين، وبالتالي قد لا تعمل بعض التطبيقات. لإعادة تفعيل وضع الإنتاج، عليك التبديل مرة أخرى إلى الوضع 4 كيلوبايت وقفل برنامج الإقلاع. سيؤدي هذا الإجراء إلى إعادة ضبط الجهاز على الإعدادات الأصلية لوضع الإنتاج. بعد تشغيل نظام Android على الجهاز بنجاح، أوقِف الإعداد \"فتح قفل المصنّع الأصلي للجهاز\" ضِمن \"خيارات المطوّرين\". إذا تعذَّر تشغيل نظام Android أو كان يعمل بشكل غير مستقر، عليك إعادة تثبيت أحدث نسخ برامج الجهة المصنِّعة من خلال <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> أو <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a>، وتحديد الخيارات التالية: \"حجب بيانات الجهاز\" (Wipe Device)، و\"قفل برنامج الإقلاع\" (Lock Bootloader)، و\"فرض تثبيت البيانات في جميع الأقسام\" (Force Flash all partitions)."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"جهازك الآن في الوضع 16 كيلوبايت ضِمن الوضع غير المستند إلى حجم الصفحة. وفي هذا الوضع، لا يمكن ضمان سلامة برنامج النظام. وعندما يكون برنامج الإقلاع غير مقفل، قد تصبح بياناتك المخزَّنة على الهاتف معرَّضة للخطر. وسيتم إيقاف بعض الميزات في هذين الوضعين، وبالتالي قد لا تعمل بعض التطبيقات. لإعادة تفعيل وضع الإنتاج، عليك التبديل مرة أخرى إلى الوضع 4 كيلوبايت وقفل برنامج الإقلاع للجهاز. انقر لقراءة المزيد."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"جهازك الآن في الوضع 16 كيلوبايت ضِمن الوضع غير المستند إلى حجم الصفحة. وفي هذا الوضع، لا يمكن ضمان سلامة برنامج النظام. وعندما يكون برنامج الإقلاع غير مقفل، قد تصبح بياناتك المخزَّنة على الهاتف معرَّضة للخطر. وسيتم إيقاف بعض الميزات في هذين الوضعين، وبالتالي قد لا تعمل بعض التطبيقات. لإعادة تفعيل وضع الإنتاج، عليك التبديل مرة أخرى إلى الوضع 4 كيلوبايت وقفل برنامج الإقلاع للجهاز. سيؤدي هذا الإجراء إلى إعادة ضبط الجهاز على الإعدادات الأصلية لوضع الإنتاج. بعد تشغيل نظام Android على الجهاز بنجاح، أوقِف الإعداد \"فتح قفل المصنّع الأصلي للجهاز\" ضِمن \"خيارات المطوّرين\". إذا تعذَّر تشغيل نظام Android أو كان يعمل بشكل غير مستقر، عليك إعادة تثبيت أحدث نُسخ برامج الجهة المصنِّعة من خلال <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> أو استخدام <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a>، وتحديد الخيارات التالية: \"حجب بيانات الجهاز\" (Wipe Device)، و\"قفل برنامج الإقلاع\" (Lock Bootloader)، و\"فرض تثبيت البيانات في جميع الأقسام\" (Force Flash all partitions)."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"الوضع 16 كيلوبايت غير المستند إلى حجم الصفحة"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"قراءة المزيد"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"معالِج تقارير الأخطاء"</string>
@@ -5011,7 +5075,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"استخدام ميزة \"تثبيت الشاشة على تطبيق معيّن\""</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"استخدام ميزة \"خيارات المطورين\""</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"استخدام خدمة الطباعة"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"السماح لمستخدمين متعددين"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"السماح، متعدد، مستخدم، سماح، عديد"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"مستخدمون متعددون، مستخدمون، ملفات شخصية، أشخاص، حسابات، تبديل، غير ذلك"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"استخدام ميزة \"تصحيح الأخطاء اللاسلكي\""</string>
@@ -5125,8 +5190,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"اختَر ما تريد أن يظهر على شاشتك عندما يكون جهازك اللوحي في حالة إرساء. قد يستهلك جهازك قدرًا أكبر من الطاقة عند استخدام شاشة الاستراحة."</string>
<string name="customize_button_title" msgid="1110284655990203359">"تخصيص"</string>
<string name="customize_button_description" msgid="7440248477266126231">"تخصيص <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"يجب إعادة التشغيل لتفعيل النوافذ الحرة."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"يجب إعادة التشغيل لفرض وضع الكمبيوتر المكتبي على الشاشات الثانوية."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"يجب إعادة التشغيل لتفعيل عرض النوافذ الحرة القديمة."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"يجب إعادة التشغيل لتغيير إعدادات عرض النوافذ الحرة."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"يجب إعادة التشغيل لفرض عرض النوافذ الحرة على شاشات العرض الثانوية."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"إعادة التشغيل الآن"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"إعادة التشغيل لاحقًا"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"الصوت المكاني"</string>
@@ -5355,4 +5421,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"الاستماع إلى البث"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"عليك أن تمسح ضوئيًا رمز الاستجابة السريعة للبث الصوتي للاستماع إليه باستخدام \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\""</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"لا يمكن تعديل كلمة المرور أثناء المشاركة. ولتعديلها، عليك أولاً إيقاف ميزة \"مشاركة الصوت\"."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-as/arrays.xml b/res/values-as/arrays.xml
index 950ac71..fbd43a0 100644
--- a/res/values-as/arrays.xml
+++ b/res/values-as/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"বেডটাইম"</item>
+ <item msgid="4152450357280759894">"গাড়ী চলোৱা"</item>
+ <item msgid="7096549258219399423">"ইমাৰ্ছিভ"</item>
+ <item msgid="2760716776980432977">"পৰিচালিত"</item>
+ <item msgid="601734478369121764">"তৰা"</item>
+ <item msgid="6243809315432780521">"কেলেণ্ডাৰ"</item>
+ <item msgid="4913577903148415331">"সময়"</item>
+ <item msgid="3653377604690057780">"থিয়েটাৰ"</item>
+ <item msgid="3843711267408385410">"ফুল"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index e9a8648..97ab432 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"শুনাৰ ডিভাইচৰ ছেটিং"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"শ্বৰ্টকাট, শ্ৰৱণ যন্ত্ৰৰ সুসংগতা"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"প্ৰিছেট"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"আপোনাৰ অডিঅ’লজিষ্টে প্ৰ’গ্ৰাম কৰা কোনো প্ৰিছেট নাই"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"প্ৰিছেট আপডে’ট কৰিব পৰা নগ’ল"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"অডিঅ’ আউটপুট"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"অডিঅ’ আউটপুটৰ বিষয়ে"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"মুখাৱয়ব আৰু <xliff:g id="WATCH">%s</xliff:g> যোগ দিয়া হৈছে"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"মুখাৱয়ব, ফিংগাৰপ্ৰিণ্ট আৰু <xliff:g id="WATCH">%s</xliff:g> যোগ দিয়া হৈছে"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"মুখাৱয়ব, ফিংগাৰপ্ৰিণ্ট আৰু <xliff:g id="WATCH">%s</xliff:g> যোগ দিয়া হৈছে"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"যিহেতু পৰিচয় পৰীক্ষা কৰাৰ সুবিধাটো অন হৈ আছে, এইটো আৱশ্যকীয়"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Authenticatorৰ দ্বাৰা দূৰৰ পৰা আনলক কৰা"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"ঘড়ী যোগ দিয়া হৈছে"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"আপোনাৰ ঘড়ীটো ছেট আপ কৰক"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"ঘড়ীৰ দ্বাৰা আনলক কৰাৰ সুবিধাটোৰ বিষয়ে অধিক জানক"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"ঘড়ী যোগ দিয়ক"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"ঘড়ীটো আঁতৰাওক"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ফিংগাৰপ্ৰিণ্ট আৰু ফে’চ আনলক কৰাৰ সুবিধা"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ফেচ আৰু ফিংগাৰপ্ৰিন্ট আনলক"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"কাৰ্যৰ বাবে ফে’চ আৰু ফিংগাৰপ্ৰিন্ট আনলক"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ছেটআপৰ আৱশ্যক"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"মুখাৱয়ব আৰু ফিংগাৰপ্ৰিণ্ট যোগ দিয়া হ’ল"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"এপ্সমূহ ইনষ্টল কৰক"</b>\n"আপুনি আপোনাৰ স্পে’চত ব্যক্তিগত কৰি ৰাখিব বিচৰা এপ্সমূহ ইনষ্টল কৰক"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"মনত ৰাখিব"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"আপুনি আপোনাৰ স্পে’চ লক কৰিলে এপ্সমূহ বন্ধ হৈ যায়"</b>\n"আপুনি আপোনাৰ স্পে’চ লক কৰিলে, আপোনাৰ স্পে’চত থকা এপ্সমূহ বন্ধ হৈ যায় আৰু আপুনি সেইসমূহৰ পৰা জাননী লাভ নকৰে"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"প্ৰাইভেট স্পে’চসমূহ নেপথ্যত চলিবলগীয়া বা জটিল জাননী প্ৰেৰণ কৰিবলগীয়া এপ্সমূহৰ বাবে উপযুক্ত নহয়, যেনে চিকিৎসা সম্পৰ্কীয় এপ্সমূহ। ইয়াৰ কাৰণ হৈছে আপোনাৰ স্পে’চ লক হ’লে জাননী আৰু নেপথ্যৰ কাৰ্যকলাপ বন্ধ কৰা হয়।\n\nআপোনাৰ প্ৰাইভেট স্পে’চ লক হ’লে আপোনাৰ প্ৰাইভেট স্পে’চত থকা এপ্সমূহ অনুমতি পৰিচালক, গোপনীয়তাৰ ডেশ্বব’ৰ্ড আৰু আন ছেটিংসমূহত প্ৰদৰ্শিত নহ’ব।\n\nআপোনাৰ প্ৰাইভেট স্পে’চ কোনো নতুন ডিভাইচলৈ নিব নোৱাৰি। আপুনি অন্য এটা ডিভাইচত প্ৰাইভেট স্পে’চ ব্যৱহাৰ কৰিব বিচাৰিলে আপুনি অন্য এটা প্ৰাইভেট স্পে’চ ছেট আপ কৰিব লাগিব।\n\nআপোনাৰ ডিভাইচটো কোনো কম্পিউটাৰৰ সৈতে সংযোগ কৰা বা আপোনাৰ ডিভাইচত ক্ষতিকাৰক এপ্ ইনষ্টল কৰা যিকোনো লোকে আপোনাৰ প্ৰাইভেট স্পে’চ এক্সেছ কৰিব পাৰিব পাৰে।"</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"প্ৰাইভেট স্পে’চসমূহ নেপথ্যত চলিবলগীয়া বা জটিল জাননী প্ৰেৰণ কৰিবলগীয়া এপ্সমূহৰ বাবে উপযুক্ত নহয়, যেনে চিকিৎসা সম্পৰ্কীয় এপ্সমূহ। ইয়াৰ কাৰণ হৈছে আপোনাৰ স্পে’চ লক হ’লে জাননী আৰু নেপথ্যৰ কাৰ্যকলাপ বন্ধ কৰা হয়।\n\nপ্ৰাইভেট স্পে’চ লক হ’লে আপোনাৰ প্ৰাইভেট স্পে’চত থকা এপ্সমূহ অনুমতি পৰিচালক, গোপনীয়তাৰ ডেশ্বব’ৰ্ড আৰু আন ছেটিংসমূহত প্ৰদৰ্শিত নহ’ব।\n\nআপোনাৰ প্ৰাইভেট স্পে’চ কোনো নতুন ডিভাইচত পুনঃস্থাপন কৰিব নোৱাৰি। আপুনি অন্য এটা ডিভাইচত স্পে’চ ব্যৱহাৰ কৰিব বিচাৰিলে অন্য এটা স্পে’চ ছেট আপ কৰিব লাগিব।\n\nআপোনাৰ ডিভাইচটো কোনো কম্পিউটাৰৰ সৈতে সংযোগ কৰা বা আপোনাৰ ডিভাইচত ক্ষতিকাৰক এপ্ ইনষ্টল কৰা যিকোনো লোকে আপোনাৰ প্ৰাইভেট স্পে’চ এক্সেছ কৰিব পাৰিব পাৰে।"</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"প্ৰাইভেট স্পে’চৰ বিষয়ে অধিক জানক"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"ইয়াৰ বাবে কেইমুহূৰ্তমান লাগিব"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"প্ৰাইভেট স্পে\'চ ছেট আপ কৰি থকা হৈছে…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"ডিভাইচটো ৰিষ্টাৰ্ট কৰিবনে?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"সবিশেষ NFC লগিং কেৱল বিকাশৰ উদ্দেশ্যে কৰা হয়। অতিৰিক্ত NFC ডেটা বাগ ৰিপ’ৰ্টসমূহত অন্তৰ্ভুক্ত কৰা হয়, য’ত ব্যক্তিগত তথ্য থাকিব পাৰে। এই ছেটিং সলনি কৰিবলৈ আপোনাৰ ডিভাইচটো ৰিষ্টাৰ্ট কৰক।"</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"ৰিষ্টাৰ্ট কৰক"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"কাষ্ট"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"আইনা"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"বেতাঁৰ ডিছপ্লে’ সক্ষম কৰক"</string>
@@ -900,7 +930,7 @@
<string name="wifi_notify_open_networks" msgid="2610323626246818961">"ৰাজহুৱা নেটৱৰ্কসমূহৰ বাবে জাননী দিয়ক"</string>
<string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"এটা উচ্চ গুণমানৰ ৰাজহুৱা নেটৱৰ্ক উপলব্ধ হ\'লে মোক জনাওক"</string>
<string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP নেটৱৰ্কক অনুমতি দিয়ক"</string>
- <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP হৈছে এটা অধিক পুৰণি সুৰক্ষাৰ প্ৰট’কল, যিটো কম সুৰক্ষিত"</string>
+ <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP হৈছে এটা অধিক পুৰণি সুৰক্ষাৰ প্ৰ্ৰ\'টকল, যিটো কম সুৰক্ষিত"</string>
<string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"আপোনাৰ বাহকে WEP নেটৱৰ্কক অনুমতি নিদিয়ে, কাৰণ সেইসমূহ কম সুৰক্ষিত"</string>
<string name="wifi_wakeup" msgid="3834327315861781611">"ৱাই-ফাই স্বয়ংক্ৰিয়ভাৱে অন কৰক"</string>
<string name="wifi_wakeup_summary" msgid="5778059083790221465">"ছেভ কৰি থোৱা উচ্চ মানৰ সংৰক্ষিত নেটৱৰ্ক পালেহে ৱাই-ফাই অন হ\'ব, যেনে আপোনাৰ ঘৰৰ নেটৱৰ্ক"</string>
@@ -923,10 +953,10 @@
<string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"ৱাই-ফাই স্কেনিং সুবিধাই ৱাই-ফাই অফ থকা অৱস্থাতো যিকোনো সময়ত এপ্ আৰু সেৱাসমূহক ৱাই-ফাই নেটৱৰ্ক স্কেন কৰিবলৈ দিয়ে। উদাহৰণস্বৰূপে, ইয়াক অৱস্থান আধাৰিত সুবিধা আৰু সেৱাসমূহক উন্নত কৰিবলৈ ব্যৱহাৰ কৰিব পাৰি।"</string>
<string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"অন কৰক"</string>
<string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"ৱাই-ফাই স্কেনিং অন আছে"</string>
- <string name="wifi_settings_warning_wep_network" msgid="7032462362300663466">"এই নেটৱৰ্কটোৱে WEP নামৰ এটা পুৰণি সুৰক্ষাৰ প্ৰট’কল ব্যৱহাৰ কৰে, যিটো কম সুৰক্ষিত"</string>
+ <string name="wifi_settings_warning_wep_network" msgid="7032462362300663466">"এই নেটৱৰ্কটোৱে WEP নামৰ এটা পুৰণি সুৰক্ষাৰ প্ৰ্ৰ\'টকল ব্যৱহাৰ কৰে, যিটো কম সুৰক্ষিত"</string>
<string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> অৱৰোধ কৰা হৈছে"</string>
- <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"এই নেটৱৰ্কটোৱে এটা কম সুৰক্ষিত অধিক পুৰণি WEP নামৰ সুৰক্ষাৰ প্ৰট’কল ব্যৱহাৰ কৰে। তথাপি সংযোগ কৰিবলৈ, আপুনি WEP নেটৱৰ্কক অনুমতি দিব পাৰে।"</string>
- <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="5891581925109256871">"আপোনাৰ বাহকে আপোনাক এই নেটৱৰ্কটোৰ সৈতে সংযোগ কৰিবলৈ নিদিয়ে কাৰণ ই WEP নামৰ এটা পুৰণি সুৰক্ষাৰ প্ৰট’কল ব্যৱহাৰ কৰে, যিটো কম সুৰক্ষিত"</string>
+ <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"এই নেটৱৰ্কটোৱে এটা কম সুৰক্ষিত অধিক পুৰণি WEP নামৰ সুৰক্ষাৰ প্ৰ্ৰ\'টকল ব্যৱহাৰ কৰে। তথাপি সংযোগ কৰিবলৈ, আপুনি WEP নেটৱৰ্কক অনুমতি দিব পাৰে।"</string>
+ <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="5891581925109256871">"আপোনাৰ বাহকে আপোনাক এই নেটৱৰ্কটোৰ সৈতে সংযোগ কৰিবলৈ নিদিয়ে কাৰণ ই WEP নামৰ এটা পুৰণি সুৰক্ষাৰ প্ৰ্ৰ\'টকল ব্যৱহাৰ কৰে, যিটো কম সুৰক্ষিত"</string>
<string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEP অনুমতি দিয়ক"</string>
<string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"বন্ধ কৰক"</string>
<string name="wifi_settings_wep_networks_disconnect_title" msgid="2428960671702242156">"WEP নেটৱৰ্কসমূহৰ অনুমতি দিয়া বন্ধ কৰিবনে?"</string>
@@ -1051,7 +1081,7 @@
<string name="wifi_certificate_summary_system" msgid="6521297326433133669">"ছিষ্টেমৰ প্ৰমাণপত্ৰ"</string>
<string name="wifi_certificate_summary_pinning" msgid="5901067790901727957">"প্ৰমাণপত্ৰ পিন কৰা"</string>
<string name="wifi_details_title" msgid="222735438574597493">"নেটৱৰ্কৰ সবিশেষ"</string>
- <string name="wep_network_less_secure_warning_title" msgid="2118823633436946728">"এই নেটৱৰ্কটোৱে WEP নামৰ এটা পুৰণি সুৰক্ষাৰ প্ৰট’কল ব্যৱহাৰ কৰে, যিটো কম সুৰক্ষিত"</string>
+ <string name="wep_network_less_secure_warning_title" msgid="2118823633436946728">"এই নেটৱৰ্কটোৱে WEP নামৰ এটা পুৰণি সুৰক্ষাৰ প্ৰ্ৰ\'টকল ব্যৱহাৰ কৰে, যিটো কম সুৰক্ষিত"</string>
<string name="wifi_details_subnet_mask" msgid="1619151769276260512">"ছাবনেট মাস্ক"</string>
<string name="server_name_title" msgid="7257095185810299066">"ছাৰ্ভাৰৰ নাম"</string>
<string name="wifi_type_title" msgid="2174893488722015838">"প্ৰকাৰ"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"অভিযোজিত"</string>
<string name="brightness" msgid="6216871641021779698">"উজ্জ্বলতাৰ স্তৰ"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"অভিযোজিত উজ্জ্বলতা"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"অভিযোজিত উজ্জ্বলতাৰ বিষয়ে"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"আপোনাৰ স্ক্ৰীনৰ উজ্জ্বলতা আপোনাৰ পৰিৱেশ আৰু কাৰ্যকলাপবোৰৰ লগত স্ৱয়ংক্ৰিয়ভাৱে খাপ খায়। আপুনি অভিযোজিত উজ্জ্বলতাক আপোনাৰ অগ্ৰাধিকাৰসমূহ বুজাত সহায় কৰাৰ বাবে শ্লাইডাৰ মেনুৱেলভাৱে স্থানান্তৰ কৰিব পাৰে।"</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"অন আছে"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"অফ হৈ আছে"</string>
@@ -1463,8 +1494,8 @@
<string name="apn_mnc" msgid="1926382406843447854">"এমএনচি"</string>
<string name="apn_auth_type" msgid="4234397513494356932">"বিশ্বাসযোগ্যতা প্ৰমাণীকৰণৰ ধৰণ"</string>
<string name="apn_type" msgid="1835573305077788773">"এপিএনৰ প্ৰকাৰ"</string>
- <string name="apn_protocol" msgid="181529867160380010">"এপিএনৰ নিয়মপ্ৰণালী"</string>
- <string name="apn_roaming_protocol" msgid="1645131094105362513">"এপিএন ৰ\'মিঙৰ নিয়মপ্ৰণালী"</string>
+ <string name="apn_protocol" msgid="181529867160380010">"এপিএনৰ প্ৰ্ৰ\'টকল"</string>
+ <string name="apn_roaming_protocol" msgid="1645131094105362513">"এপিএন ৰ\'মিঙৰ প্ৰ্ৰ\'টকল"</string>
<string name="carrier_enabled" msgid="664074151573150130">"এপিএন সক্ষম/অক্ষম কৰক"</string>
<string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN সক্ষম হৈছে"</string>
<string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"এপিএন অক্ষম কৰা হৈছে"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"বিকল্পসমূহ"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"সাধ্য সুবিধা"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"কায়িক কীব\'ৰ্ড"</string>
- <string name="show_ime" msgid="4334255501724746849">"অন-স্ক্ৰীন কীব’ৰ্ড ব্যৱহাৰ কৰক"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"কায়িক কীব’ৰ্ড সক্ৰিয় হৈ থাকিলে ইয়াক স্ক্ৰীনত ৰাখিব"</string>
<string name="bounce_keys" msgid="7419450970351743904">"বাউন্স কী"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"কীব’ৰ্ডে <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> এমএছৰ ভিতৰত একেটা কী ক্ষিপ্ৰতাৰে বাৰে বাৰে টিপাটো উপেক্ষা কৰে।"</string>
<string name="slow_keys" msgid="2891452895499690837">"ধীৰ গতিৰ কী"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"ব্যৱহাৰকাৰীয়ে বাছনি কৰা: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"কথন"</string>
<string name="pointer_speed" msgid="7398649279282675718">"পইণ্টাৰৰ বেগ"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"গেইম নিয়ন্ত্ৰক"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"কম্পনক পুনৰ নিৰ্দেশিত কৰক"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"গেইম নিয়ন্ত্ৰক সংযোজিত হ\'লে তালৈ কম্পন পঠিয়াওক"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"যি হ’লেও অব্যাহত ৰাখক"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"বাতিল কৰক"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"বিবৰ্ধন কৰাৰ ছেটিং"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"এটা আঙুলিৰে পেনিং কৰা"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"১ টা আঙুলিৰে বিবৰ্ধক স্থানান্তৰ কৰক"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"স্ক্ৰীনত ইফাল-সিফাল কৰিবলৈ ১ টা আঙুলিৰে টানি আনি এৰক"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"এটা আঙুলিৰে টানি আনি এৰি দি বিবৰ্ধন কৰা অংশটো লৰচৰ কৰক।"</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"দুটা আঙুলিৰে টানি আনি এৰি দি বিবৰ্ধন কৰা অংশটো লৰচৰ কৰক।"</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"স্ক্ৰীনখনৰ কেৱল এটা অংশ বিবৰ্ধন কৰাৰ সময়ত উপলব্ধ নহয়"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"জুম কৰিবলৈ এটা বুটাম টিপক"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"সমলৰ আকাৰ ডাঙৰ কৰিবলৈ স্ক্ৰীনখনত ক্ষিপ্ৰভাৱে জুম ইন কৰক"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>জুম ইন কৰিবলৈ:</b><br/> {0,number,integer}। বিবৰ্ধনৰ সুবিধাটো আৰম্ভ কৰিবলৈ শ্বৰ্টকাট ব্যৱহাৰ কৰক<br/> {1,number,integer}। স্ক্ৰীনখনত টিপক<br/> {2,number,integer}। স্ক্ৰীনৰ চাৰিওফালে ইফাল-সিফাল কৰিবলৈ ২ টা আঙুলিৰে টানি আনি এৰক<br/> {3,number,integer}। জুম মিলাবলৈ ২ টা আঙুলিৰে পিঞ্চ কৰক<br/> {4,number,integer}। বিবৰ্ধনৰ সুবিধাটো বন্ধ কৰিবলৈ শ্বৰ্টকাট ব্যৱহাৰ কৰক<br/><br/><b>সাময়িকভাৱে জুম ইন কৰিবলৈ:</b><br/> {0,number,integer}। আপোনাৰ বিবৰ্ধনৰ প্ৰকাৰটো সম্পূৰ্ণ স্ক্ৰীনলৈ ছেট কৰাটো নিশ্চিত কৰক<br/> {1,number,integer}। বিবৰ্ধনৰ সুবিধাটো আৰম্ভ কৰিবলৈ শ্বৰ্টকাট ব্যৱহাৰ কৰক<br/> {2,number,integer}। স্ক্ৰীনখনৰ যিকোনো স্থানত স্পৰ্শ কৰি ধৰি ৰাখক<br/> {3,number,integer}। স্ক্ৰীনৰ চাৰিওফালে ইফাল-সিফাল কৰিবলৈ আঙুলিৰে টানি আনি এৰক<br/> {4,number,integer}। বিবৰ্ধনৰ সুবিধাটো বন্ধ কৰিবলৈ আঙুলি উঠাওক"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>জুম ইন কৰিবলৈ:</b><br/> {0,number,integer}। বিবৰ্ধনৰ সুবিধাটো আৰম্ভ কৰিবলৈ শ্বৰ্টকাট ব্যৱহাৰ কৰক<br/> {1,number,integer}। স্ক্ৰীনখনত টিপক<br/> {2,number,integer}। স্ক্ৰীনত ইফাল-সিফাল কৰিবলৈ ২ টা আঙুলিৰে টানি আনি এৰক<br/> {3,number,integer}। জুম মিলাবলৈ ২ টা আঙুলিৰে পিঞ্চ কৰক<br/> {4,number,integer}। বিবৰ্ধন বন্ধ কৰিবলৈ শ্বৰ্টকাট ব্যৱহাৰ কৰক<br/><br/> আপুনি সাময়িকভাৱে জুম ইন কৰাৰ লগতে আৰু বহুতো কাৰ্য কৰিব পাৰে।"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>জুম ইন কৰিবলৈ:</b><br/> {0,number,integer}। বিবৰ্ধনৰ সুবিধাটো আৰম্ভ কৰিবলৈ শ্বৰ্টকাট ব্যৱহাৰ কৰক<br/> {1,number,integer}। স্ক্ৰীনখনত টিপক<br/> {2,number,integer}। স্ক্ৰীনত ইফাল-সিফাল কৰিবলৈ ১ টা বা ২ টা আঙুলিৰে টানি আনি এৰক<br/> {3,number,integer}। জুম মিলাবলৈ ২ টা আঙুলিৰে পিঞ্চ কৰক<br/> {4,number,integer}। বিবৰ্ধন বন্ধ কৰিবলৈ শ্বৰ্টকাট ব্যৱহাৰ কৰক<br/><br/> আপুনি সাময়িকভাৱে জুম ইন কৰাৰ লগতে আৰু বহুতো কাৰ্য কৰিব পাৰে।"</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"বিৱৰ্ধন অন কৰা থাকিলে আপুনি নিজৰ স্ক্রীনখনত জুম ইন কৰিব পাৰে।\n\n"<b>"জুম কৰিবলৈ"</b>", বিৱৰ্ধন আৰম্ভ কৰক আৰু তাৰ পাছত স্ক্রীনখনৰ যিকোনো ঠাইত টিপক।\n"<ul><li>"স্ক্ৰ’ল কৰিবলৈ ২টা অথবা ততোধিক আঙুলি স্ক্ৰীনত পিছলাওক"</li>\n<li>"জুম মিলাবলৈ স্ক্ৰীনত ২টা অথবা অধিক আঙুলিৰে টিপক"</li></ul>\n\n<b>"সাময়িকভাৱে জুম কৰিবলৈ"</b>"বিৱৰ্ধন আৰম্ভ কৰক, তাৰ পাছত স্ক্ৰীনৰ যিকোনো অংশত স্পৰ্শ কৰি হেঁচি ধৰক।\n"<ul><li>"স্ক্ৰীনখন ইফালে-সিফালে নিবলৈ আঙুলিৰে টানক"</li>\n<li>"জুম আউট কৰিবলৈ আঙুলি উঠাওক"</li></ul>\n\n"আপুনি কীব’ৰ্ড অথবা নেভিগেশ্বন বাৰ জুম কৰিব নোৱাৰে।"</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g> পৃষ্ঠাৰ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> নম্বৰ পৃষ্ঠা"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"সাধ্য সুবিধা বুটামৰ শ্বৰ্টকাট"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"কেৱল গুৰুত্বপূর্ণ লোক আৰু এপ্সমূহৰ পৰা জাননী পাওক"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"সক্ৰিয়কৰণৰ প্ৰকাৰ বাছনি কৰক"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"সময়"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"উদাহৰণস্বৰূপে, \"আবেলি ৯:৩০ বজাৰ পৰা ৫:০০ বজালৈ\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"কেলেণ্ডাৰ"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"উদাহৰণস্বৰূপে, \"ব্যক্তিগত কেলেণ্ডাৰ\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"এটা ম’ড সৃষ্টি কৰক"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"কাষ্টম"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"বাধাবোৰ সীমিত কৰক"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"অসুবিধা নিদিব অন কৰক"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"এলাৰ্ম আৰু মিডিয়া ধ্বনিসমূহে ব্যাঘাত জন্মাব পাৰে"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"সময়সূচী"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"নিৰ্ধাৰিত সূচী মচক"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"মচক"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"সম্পাদনা কৰক"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"সময়সূচী"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"সময়সূচী"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"সময়সূচী ছেট কৰক"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"সময়সূচী"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ঘণ্টা, <xliff:g id="MINUTES">%2$d</xliff:g> মিনিট"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"স্বয়ংক্ৰিয়ভাৱে অন কৰক"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"সময়সূচী"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"নিৰ্দ্দিষ্ট সময়ৰ মূৰত ফ\'ন নিৰৱ কৰক"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"অসুবিধা নিদিবৰ নিয়ম ছেট কৰক"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"ধ্বনিৰ সৃষ্টি কৰা বাধাসমূহৰ বাবে অনুমতি দিয়ক"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"দৃশ্যমান বিঘিনি প্ৰতিৰোধ কৰক"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"দৃশ্যমান সংকেতৰ অনুমতি দিয়ক"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"আপোনাৰ সৈতে সম্পৰ্ক স্থাপন কৰিব পৰা জাননীসমূহ"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"মন দি থাকক"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"অতিৰিক্ত কাৰ্য"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"ডিছপ্লে’ ছেটিং"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"ডিছপ্লে’ৰ বিকল্পসমূহ"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"গাঢ় ৰঙৰ থীম সক্ষম কৰক"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"OS আৰু এপ্সমূহক গাঢ় ৰঙৰ পটভূমিত পাতল ৰঙৰ পাঠ পছন্দ কৰিবলৈ সলনি কৰক, যি চকুৰ বাবে সহজ হ’ব পাৰে আৰু কিছুমান ডিভাইচত যথেষ্ট বেটাৰি সঞ্চয় কৰিবলৈ দিয়ে"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{কোনো ডিছপ্লে’ সম্পৰ্কীয় সালসলনি নাই}=1{{effect_1}}=2{{effect_1} আৰু {effect_2}}=3{{effect_1}, {effect_2} আৰু {effect_3}}one{{effect_1}, {effect_2} আৰু # অধিক}other{{effect_1}, {effect_2} আৰু # অধিক}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"বাধা ফিল্টাৰ কৰক"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"কোনো বাধা ফিল্টাৰ কৰা নহয়"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ফিল্টাৰ কৰা জাননীৰ বাবে ডিছপ্লে’ বিকল্পসমূহ"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"অসুবিধা নিদিব ম’ডটো অন হৈ থাকিলে"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"জাননীৰ পৰা কোনো ধ্বনি নাই"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"জাননী খোলক"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"জাননী স্নুজ কৰাৰ অনুমতি দিয়ক"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"এপ্ চিহ্নত জাননী বিন্দু"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"জাননীৰ বাণ্ডল"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Bubbles"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubbles"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"এই বাৰ্তালাপটো বাবল কৰক"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"শ্ৰেণী"</string>
<string name="notification_channels_other" msgid="18159805343647908">"অন্যান্য"</string>
<string name="no_channels" msgid="4716199078612071915">"এই এপটোৱে এটাও জাননী দিয়া নাই"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"অব্যৱহৃত শিতানসমূহ দেখুৱাওক"</string>
<string name="app_settings_link" msgid="6725453466705333311">"এপত থকা অতিৰিক্ত ছেটিং"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"অব্যৱহৃত শিতানসমূহ দেখুৱাওক"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"অব্যৱহৃত শিতানসমূহ লুকুৱাওক"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"আটাইবোৰ"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"এপক অ\'ভাৰৰাইডৰ অনুমতি দিয়ক"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ব্যাঘাত জন্মাব পৰা এপ্সমূহ"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"অধিক এপ্ বাছনি কৰক"</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"কে’ছ"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"বেটাৰী"</string>
<string name="settings_panel_title" msgid="346363079938069215">"ছেটিঙৰ পেনেল"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"বলপূৰ্বক ডেস্কটপ ম’ড"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"দ্বিতীয় ডিছপ্লে’ত পৰীক্ষামূলক ডেস্কটপ ম’ড বলপূৰ্বকভাৱে প্ৰয়োগ কৰক"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"ফ্ৰীফৰ্ম ৱিণ্ড’ সক্ষম কৰক"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"ফ্ৰীফৰ্ম ৱিণ্ড’ৰ সমৰ্থন সক্ষম কৰক।"</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"দ্বিতীয় ডিছপ্লে’ত ফ্ৰীফৰ্ম ৱিণ্ড’ৱিং সক্ষম কৰক"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"কেৱল গৌণ ডিছপ্লে’ত ফ্ৰীফৰ্ম ৱিণ্ড’ সক্ষম কৰক।"</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"একাধিক ৱিণ্ড’ত আকাৰ সলনি কৰিব নোৱৰা সুবিধাটো সক্ষম কৰক"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"আকাৰ সলনি কৰিব নোৱৰা এপক একাধিক ৱিণ্ড’ত থকাৰ অনুমতি দিয়ে"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"বলপূর্বকভাৱে গাঢ় ৰঙৰ থীম ব্যৱহাৰ কৰা সুবিধাটো অ\'ভাৰৰাইড কৰক"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"১৬ কেবি বিকাশকৰ্তাৰ বিকল্প ব্যৱহাৰ কৰাৰ আগতে এই ডিভাইচৰ ডেটা বিভাজন ext4 লৈ ৰূপান্তৰ কৰিব লাগিব। এই ম’ডত ছফ্টৱেৰৰ অখণ্ডতা নিশ্চিত কৰিব নোৱাৰি আৰু বুটল’ডাৰ আনলক হৈ থকাৰ সময়ত ফ’নত ষ্ট’ৰ কৰা যিকোনো ডেটাৰ ক্ষেত্ৰত বিপদাশংকা থাকিব পাৰে। ১৬ কেবি বিকল্প সক্ৰিয় কৰাৰ বাবে ইয়াৰ পাছত আৰু এবাৰ ৰিবুট কৰাৰ প্ৰয়োজন হ’ব। আপুনি এবাৰ এই ম’ডত থাকিলে, আপুনি এবাৰ ৰিবুট কৰিয়েই ৪ কেবি আৰু ১৬ কেবি ম’ডৰ মাজত আগ-পিছ কৰিব পাৰিব। এই ম’ডসমূহত কিছুমান সুবিধা অক্ষম কৰা হ’ব, গতিকে কিছুমান এপ্লিকেশ্বনে কাম নকৰিবও পাৰে। ডিভাইচটোক উৎপাদন ম’ডলৈ উভতাই নিবলৈ, আপুনি ৪ কেবি ম’ডলৈ পুনৰ সলনি কৰিব লাগিব আৰু বুটল’ডাৰ লক কৰিব লাগিব, যিয়ে ডিভাইচটো ফেক্টৰী ৰিছেট কৰে। ডিভাইচটোৱে Androidত সফলতাৰে বুট কৰাৰ পাছত, বিকাশকৰ্তাৰ বিকল্পসমূহত OEM আনলক কৰাটো অক্ষম কৰক। ডিভাইচটো মচি পেলোৱা হ’ব আৰু নিশ্চিতকৰণৰ পাছত ফাইলছিষ্টেম ext4লৈ সলনি কৰা হ’ব। এইটো সম্পূৰ্ণ হোৱাৰ পাছত, ১৬ কেবি পুনৰ সক্ষম কৰিবলৈ কৰিবলৈ অনুগ্ৰহ কৰি উভতি আহক।"</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"আটাইবোৰ ডেটা মচক"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"ডেটা বিভাজন মচিব আৰু ext4 হিচাপে পুনৰ ফৰ্মেট কৰিব পৰা নগ’ল।"</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"১৬ কেবি ম’ডৰ বাবে বুটল’ডাৰ আনলক কৰাৰ প্ৰয়োজন"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"বুটল’ডাৰ আনলক কৰাৰ আৱশ্যক"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"১৬ কেবি বিকাশকৰ্তাৰ বিকল্প ব্যৱহাৰ কৰাৰ আগতে এই ডিভাইচত বুটল’ডাৰ আনলক কৰিব লাগিব। এই ম’ডত ছফ্টৱেৰৰ অখণ্ডতা নিশ্চিত কৰিব নোৱাৰি আৰু বুটল’ডাৰ আনলক হৈ থকাৰ সময়ত ফ’নত ষ্ট’ৰ কৰা যিকোনো ডেটাৰ ক্ষেত্ৰত বিপদাশংকা থাকিব পাৰে। ১৬ কেবি ম’ড সক্ৰিয় কৰাৰ সময়ত ব্যৱহাৰকাৰীৰ আটাইবোৰ ডেটা আৰু ছেটিং মচি পেলোৱা হ’ব। এবাৰ বুটল’ডাৰ আনলক কৰা হ’লে, ১৬ কেবি বিকল্প সক্ৰিয় কৰিবলৈ দুবাৰ ৰিবুট কৰাৰ প্ৰয়োজন হ’ব। আপুনি এবাৰ এই ম’ডত থাকিলে, আপুনি এবাৰ ৰিবুট কৰিয়েই ৪ কেবি আৰু ১৬ কেবি ম’ডৰ মাজত আগ-পিছ কৰিব পাৰিব। এই ম’ডসমূহত কিছুমান সুবিধা অক্ষম কৰা হ’ব, গতিকে কিছুমান এপ্লিকেশ্বনে কাম নকৰিবও পাৰে। ডিভাইচটোক উৎপাদন ম’ডলৈ উভতাই নিবলৈ, আপুনি ৪ কেবি ম’ডলৈ পুনৰ সলনি কৰিব লাগিব আৰু ডিভাইচটো OEM/বুটল’ডাৰ লক (যিয়ে ফেক্টৰী ৰিছেট কৰে) কৰিব লাগিব। অনুগ্ৰহ কৰি বুটল’ডাৰ আনলক কৰক আৰু পুনৰ চেষ্টা কৰক। আপুনি এইটো কেনেকৈ কৰিব লাগে তাৰ নিৰ্দেশনা <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>ত চাব পাৰে"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"৪ কেবি পেজ-এগন’ষ্টিক ম’ড ব্যৱহাৰ কৰি থকা হৈছে"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"আপুনি পেজ-এগন’ষ্টিক ম’ডৰ ৪ কেবি ম’ডত আছে। এই ম’ডত ছফ্টৱেৰৰ অখণ্ডতা নিশ্চিত কৰিব নোৱাৰি আৰু বুটল’ডাৰ আনলক হৈ থকাৰ সময়ত ফ’নত ষ্ট’ৰ কৰা যিকোনো ডেটাৰ ক্ষেত্ৰত বিপদাশংকা থাকিব পাৰে। এই ম’ডসমূহত কিছুমান সুবিধা অক্ষম কৰা হ’ব, গতিকে কিছুমান এপ্লিকেশ্বনে কাম নকৰিবও পাৰে। উৎপাদন ম’ডত পুনৰ প্ৰৱেশ কৰিবলৈ, আপুনি ডিভাইচৰ বুটল’ডাৰ লক কৰিবই লাগিব। অধিক পঢ়িবলৈ টিপক।"</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"আপুনি পেজ-এগন’ষ্টিক ম’ডৰ ৪ কেবি ম’ডত আছে। এই ম’ডত ছফ্টৱেৰৰ অখণ্ডতা নিশ্চিত কৰিব নোৱাৰি আৰু বুটল’ডাৰ আনলক হৈ থকাৰ সময়ত ফ’নত ষ্ট’ৰ কৰা যিকোনো ডেটাৰ ক্ষেত্ৰত বিপদাশংকা থাকিব পাৰে। এই ম’ডসমূহত কিছুমান সুবিধা অক্ষম কৰা হ’ব, গতিকে কিছুমান এপ্লিকেশ্বনে কাম নকৰিবও পাৰে। উৎপাদন ম’ডত পুনৰ প্ৰৱেশ কৰিবলৈ, আপুনি ডিভাইচৰ বুটল’ডাৰ লক কৰিবই লাগিব। ই ডিভাইচটো পুনৰ ফেক্টৰী ৰিছেট কৰিব আৰু সেইটোক উৎপাদন ছেটিঙলৈ পুনঃস্থাপন কৰিব। ডিভাইচটোৱে Androidত সফলতাৰে বুট কৰাৰ পাছত, বিকাশকৰ্তাৰ বিকল্পসমূহত OEM আনলক কৰাটো অক্ষম কৰক। যদি ডিভাইচটো Androidত বুট কৰিব পৰা নাযায় বা অস্থিৰ হয়, তেন্তে <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a>ৰ পৰা শেহতীয়া ফেক্টৰী প্ৰতিচ্ছবিসমূহৰ সৈতে ডিভাইচটো পুনৰ ফ্লেশ্ব কৰক আৰু \'ডিভাইচ মচি পেলাওক\', \'বুটল’ডাৰ লক কৰক\' আৰু \'আটাইবোৰ বিভাজন বলপূৰ্বক ফ্লেশ্ব কৰক\' বাছনি কৰক।"</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"১৬ কেবি পেজ-এগন’ষ্টিক ম’ড ব্যৱহাৰ কৰি থকা হৈছে"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"আপুনি পেজ-এগন’ষ্টিক ম’ডৰ ১৬ কেবি ম’ডত আছে। এই ম’ডত ছফ্টৱেৰৰ অখণ্ডতা নিশ্চিত কৰিব নোৱাৰি আৰু বুটল’ডাৰ আনলক হৈ থকাৰ সময়ত ফ’নত ষ্ট’ৰ কৰা যিকোনো ডেটাৰ ক্ষেত্ৰত বিপদাশংকা থাকিব পাৰে। এই ম’ডসমূহত কিছুমান সুবিধা অক্ষম কৰা হ’ব, গতিকে কিছুমান এপ্লিকেশ্বনে কাম নকৰিবও পাৰে। উৎপাদন ম’ডত পুনৰ প্ৰৱেশ কৰিবলৈ, আপুনি 4K ম’ডলৈ উভতি যাবই লাগিব আৰু তাৰ পাছত ডিভাইচৰ বুটল’ডাৰ লক কৰিবই লাগিব। অধিক পঢ়িবলৈ টিপক।"</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"আপুনি পেজ-এগন’ষ্টিক ম’ডৰ ১৬ কেবি ম’ডত আছে। এই ম’ডত ছফ্টৱেৰৰ অখণ্ডতা নিশ্চিত কৰিব নোৱাৰি আৰু বুটল’ডাৰ আনলক হৈ থকাৰ সময়ত ফ’নত ষ্ট’ৰ কৰা যিকোনো ডেটাৰ ক্ষেত্ৰত বিপদাশংকা থাকিব পাৰে। এই ম’ডসমূহত কিছুমান সুবিধা অক্ষম কৰা হ’ব, গতিকে কিছুমান এপ্লিকেশ্বনে কাম নকৰিবও পাৰে। উৎপাদন ম’ডত পুনৰ প্ৰৱেশ কৰিবলৈ, আপুনি 4K ম’ডলৈ উভতি যাবই লাগিব আৰু তাৰ পাছত ডিভাইচৰ বুটল’ডাৰ লক কৰিবই লাগিব। ই ডিভাইচটো পুনৰ ফেক্টৰী ৰিছেট কৰিব আৰু সেইটোক উৎপাদন ছেটিঙলৈ পুনঃস্থাপন কৰিব। ডিভাইচটোৱে Androidত সফলতাৰে বুট কৰাৰ পাছত, বিকাশকৰ্তাৰ বিকল্পসমূহত OEM আনলক কৰাটো অক্ষম কৰক। যদি ডিভাইচটো Androidত বুট কৰিব পৰা নাযায় বা অস্থিৰ হয়, তেন্তে <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a>ৰ পৰা শেহতীয়া ফেক্টৰী প্ৰতিচ্ছবিসমূহৰ সৈতে ডিভাইচটো পুনৰ ফ্লেশ্ব কৰক আৰু \'ডিভাইচ মচি পেলাওক\', \'বুটল’ডাৰ লক কৰক\' আৰু \'আটাইবোৰ বিভাজন বলপূৰ্বক ফ্লেশ্ব কৰক\' বাছনি কৰক।"</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"আপুনি পেজ-এগন’ষ্টিক ম’ডৰ ১৬ কেবি ম’ডত আছে। এই ম’ডত ছফ্টৱেৰৰ অখণ্ডতা নিশ্চিত কৰিব নোৱাৰি আৰু বুটল’ডাৰ আনলক হৈ থকাৰ সময়ত ফ’নত ষ্ট’ৰ কৰা যিকোনো ডেটাৰ ক্ষেত্ৰত বিপদাশংকা থাকিব পাৰে। এই ম’ডসমূহত কিছুমান সুবিধা অক্ষম কৰা হ’ব, গতিকে কিছুমান এপ্লিকেশ্বনে কাম নকৰিবও পাৰে। উৎপাদন ম’ডত পুনৰ প্ৰৱেশ কৰিবলৈ, আপুনি ৪ কেবি ম’ডলৈ উভতি যাবই লাগিব আৰু তাৰ পাছত ডিভাইচৰ বুটল’ডাৰ লক কৰিবই লাগিব। অধিক পঢ়িবলৈ টিপক।"</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"আপুনি পেজ-এগন’ষ্টিক ম’ডৰ ১৬ কেবি ম’ডত আছে। এই ম’ডত ছফ্টৱেৰৰ অখণ্ডতা নিশ্চিত কৰিব নোৱাৰি আৰু বুটল’ডাৰ আনলক হৈ থকাৰ সময়ত ফ’নত ষ্ট’ৰ কৰা যিকোনো ডেটাৰ ক্ষেত্ৰত বিপদাশংকা থাকিব পাৰে। এই ম’ডসমূহত কিছুমান সুবিধা অক্ষম কৰা হ’ব, গতিকে কিছুমান এপ্লিকেশ্বনে কাম নকৰিবও পাৰে। উৎপাদন ম’ডত পুনৰ প্ৰৱেশ কৰিবলৈ, আপুনি ৪ কেবি ম’ডলৈ উভতি যাবই লাগিব আৰু তাৰ পাছত ডিভাইচৰ বুটল’ডাৰ লক কৰিবই লাগিব। ই ডিভাইচটো পুনৰ ফেক্টৰী ৰিছেট কৰিব আৰু সেইটোক উৎপাদন ছেটিঙলৈ পুনঃস্থাপন কৰিব। ডিভাইচটোৱে Androidত সফলতাৰে বুট কৰাৰ পাছত, বিকাশকৰ্তাৰ বিকল্পসমূহত OEM আনলক কৰাটো অক্ষম কৰক। যদি ডিভাইচটো Androidত বুট কৰিব পৰা নাযায় বা অস্থিৰ হয়, তেন্তে <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a>ৰ পৰা শেহতীয়া ফেক্টৰী প্ৰতিচ্ছবিসমূহৰ সৈতে ডিভাইচটো পুনৰ ফ্লেশ্ব কৰক আৰু \'ডিভাইচৰ ডেটা মচি পেলাওক\', \'বুটল’ডাৰ লক কৰক\' আৰু \'আটাইবোৰ বিভাজন বলপূৰ্বক ফ্লেশ্ব কৰক\' বাছনি কৰক।"</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"১৬ কেবি পেজ-এগন’ষ্টিক ম’ড"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"অধিক পঢ়ক"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"বাগ ৰিপ’ৰ্ট নিয়ন্ত্ৰণ কৰোঁতা"</string>
@@ -5007,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"এপ্ পিন কৰাৰ সুবিধাটো ব্যৱহাৰ কৰক"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"বিকাশকৰ্তাৰ বিকল্পসমূহ ব্যৱহাৰ কৰক"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"প্ৰিণ্ট সেৱা ব্যৱহাৰ কৰক"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"একাধিক ব্যৱহাৰকাৰীৰ অনুমতি দিয়ক"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"অনুমতি দিয়ক, একাধিক,ব্যৱহাৰকাৰী, অনুমতি, বহুত"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"একাধিক, ব্যৱহাৰকাৰী, প্ৰ’ফাইল, লোকসকল, একাউণ্ট, ছুইচ, বহুত"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ৱায়াৰলেচ ডি’বাগিং ব্যৱহাৰ কৰক"</string>
@@ -5121,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"আপোনাৰ টেবলেটটো লক হৈ থাকিলে আপুনি সেইটোৰ স্ক্ৰীনত কি দেখা পাব সেয়া বাছনি কৰক। স্ক্ৰীন ছেভাৰ ব্যৱহাৰ কৰাৰ সময়ত আপোনাৰ ডিভাইচটোৱে হয়তো অধিক শক্তি ব্যৱহাৰ কৰিব।"</string>
<string name="customize_button_title" msgid="1110284655990203359">"কাষ্টমাইজ কৰক"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> কাষ্টমাইজ কৰক"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"ফ্ৰীফৰ্ম সমৰ্থন সক্ষম কৰিবৰ বাবে ৰিবুটৰ প্ৰয়োজন।"</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"গৌণ ডিছপ্লেত ডেস্কটপ ম’ড সক্ষম কৰিবৰ বাবে ৰিবুটৰ প্ৰয়োজন।"</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"লিগেচী ফ্ৰীফৰ্ম ৱিণ্ড’ৱিং সমৰ্থন সক্ষম কৰিবলৈ এবাৰ ৰিবুট কৰাৰ আৱশ্যক।"</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"ফ্ৰীফৰ্ম ৱিণ্ড’ৱিঙৰ সমৰ্থন সলনি কৰিবলৈ এবাৰ ৰিবুট কৰাৰ আৱশ্যক।"</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"গৌণ ডিছপ্লে’ত বলপূৰ্বকভাৱে ফ্ৰীফৰ্ম ৱিণ্ড’ৱিং কৰাৰ বাবে এবাৰ ৰিবুট কৰাৰ আৱশ্যক।"</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"এতিয়াই ৰিবুট কৰক"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"পাছত ৰিবুট কৰক"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"প্ৰকৃত অভিজ্ঞতা প্ৰদান কৰা অডিঅ’"</string>
@@ -5351,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ষ্ট্ৰীম শুনক"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>ৰ জৰিয়তে শুনিবলৈ অডিঅ’ ষ্ট্ৰীমৰ কিউআৰ ক’ড এটা স্কেন কৰক"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"শ্বেয়াৰ কৰি থকা সময়ত পাছৱৰ্ড সম্পাদনা কৰিব নোৱাৰি। পাছৱৰ্ডটো সলনি কৰিবলৈ, প্ৰথমে অডিঅ’ শ্বেয়াৰিং অফ কৰক।"</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-az/arrays.xml b/res/values-az/arrays.xml
index 5e1b4e6..118e445 100644
--- a/res/values-az/arrays.xml
+++ b/res/values-az/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Yuxu vaxtı"</item>
+ <item msgid="4152450357280759894">"Sürücülük"</item>
+ <item msgid="7096549258219399423">"İmmersiv"</item>
+ <item msgid="2760716776980432977">"İdarə edilən"</item>
+ <item msgid="601734478369121764">"Ulduz"</item>
+ <item msgid="6243809315432780521">"Təqvim"</item>
+ <item msgid="4913577903148415331">"Vaxt"</item>
+ <item msgid="3653377604690057780">"Teatr"</item>
+ <item msgid="3843711267408385410">"Çiçək"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 9b0de63..8036ff2 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Eşitmə cihazı ayarları"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Qısayol, eşitmə cihazı uyğunluğu"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Hazır ayar"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Audioloq tərəfindən proqramlaşdırılmış hazır ayar yoxdur"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Hazır ayar güncəllənmədi"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audio çıxışı"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Audio çıxışı haqqında"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Üz və <xliff:g id="WATCH">%s</xliff:g> əlavə edilib"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Üz, barmaq izi və <xliff:g id="WATCH">%s</xliff:g> əlavə edilib"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Üz, barmaq izləri və <xliff:g id="WATCH">%s</xliff:g> əlavə edilib"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Kimlik yoxlanışı aktiv olduğu üçün lazımdır"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Uzaqdan doğrulayıcı kilidaçması"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Saat əlavə edildi"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Saatı ayarlayın"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Saatla Kilidaçma haqqında ətraflı məlumat"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Saat əlavə edin"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Saatı silin"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Barmaq İzi və Üz ilə Kiliddən Açma"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Üz və barmaq izi ilə kiliddən çıxarma"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"İş üçün Üz və Barmaq izi ilə kiliddən çıxarma"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Ayarlamaq lazımdır"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Üz və barmaq izləri əlavə edildi"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Tətbiqlər quraşdırın"</b>\n"Sahənizdə məxfi saxlamaq istədiyiniz tətbiqləri quraşdırın"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Nəzərdə saxlayın"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Sahəni kilidlədikdə tətbiqlər dayanır"</b>\n"Sahəni kilidlədikdə sahədəki tətbiqlər dayandırılır və onlardan bildirişlər almayacaqsınız"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Şəxsi sahələr arxa fonda icra edilməli və ya tibbi tətbiqlər kimi kritik bildirişlər göndərməli olan tətbiqlər üçün uyğun deyil. Bunun səbəbi sahə kilidləndikdə bildirişlərin və arxa fon fəaliyyətinin dayandırılmasıdır.\n\nŞəxsi sahə kilidləndikdə şəxsi sahədəki tətbiqlər icazə menecerində, məxfilik panelində və digər ayarlarda görünməyəcək.\n\nŞəxsi sahə yeni cihaza köçürülə bilməz. Başqa cihazda istifadə etmək istəsəniz, başqa şəxsi sahə ayarlamalısınız.\n\nCihazı kompüterə qoşan və ya cihazda zərərli tətbiqlər quraşdıran istənilən şəxs şəxsi sahəyə daxil ola bilər."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Şəxsi sahələr arxa fonda icra edilməli və ya tibbi tətbiqlər kimi kritik bildirişlər göndərməli olan tətbiqlər üçün uyğun deyil. Bunun səbəbi sahə kilidləndikdə bildirişlərin və arxa fon fəaliyyətinin dayandırılmasıdır.\n\nŞəxsi sahə kilidləndikdə şəxsi sahədəki tətbiqlər icazə menecerində, məxfilik panelində və digər ayarlarda görünməyəcək.\n\nŞəxsi sahə yeni cihaza bərpa edilə bilməz. Başqa cihazda istifadə etmək istəsəniz, başqa sahə ayarlamalısınız.\n\nCihazı kompüterə qoşan və ya cihazınızda zərərli tətbiqlər quraşdıran istənilən şəxs şəxsi sahəyə daxil ola bilər."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Şəxsi sahə haqqında ətraflı məlumat"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Bir neçə dəqiqə çəkəcək"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Məxfi yer ayarlanır…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Cihaz yenidən başladılsın?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Detallı NFC qeydi yalnız inkişaf məqsədləri üçün nəzərdə tutulub. Əlavə NFC məlumatları şəxsi məlumatları ehtiva edə bilən baq hesabatlarına daxil edilir. Bu ayarı dəyişmək üçün cihazı yenidən başladın."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Yenidən başladın"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Yayım"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"güzgü"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Naqilsiz displeyi aktivləşdirin"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptiv"</string>
<string name="brightness" msgid="6216871641021779698">"Parlaqlıq səviyyəsi"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Adaptiv parlaqlıq"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Adaptiv parlaqlıq haqqında"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Ekran parlaqlığı avtomatik olaraq ətraf mühitə və fəaliyyətlrinizə görə tənzimlənəcək. Ayarlana bilən parlaqlığın təcihlərinizi öyrənməsi üçün slayderi əlinizlə hərəkət etdirin."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Aktiv"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Deaktiv"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Seçimlər"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Əlçatımlıq"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Fiziki klaviatura"</string>
- <string name="show_ime" msgid="4334255501724746849">"Ekran klaviaturası istifadə edin"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Fiziki klaviatura aktiv olanda görünsün"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Sıçrama düymələri"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Klaviatura <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms ərzində eyni düymənin tez-tez basılmasını nəzərə almır"</string>
<string name="slow_keys" msgid="2891452895499690837">"Asta düymələr"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"İstifadəçi seçib: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Nitq"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Kursor sürəti"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Oyun Kontrolleri"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Vibrasiyanı yenidən yönləndirin"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Qoşulduqda oyun nəzarətinə vibrasiya göndərin"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Yenə də davam edin"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Ləğv edin"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Böyütmə ayarları"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Bir barmaqla hərəkət"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"1 barmaq ilə böyüdücünü hərəkət etdirin"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Ekranda hərəkət üçün 1 barmağı sürüşdürün"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Bir barmaqla sürüşdürməklə böyütmə sahəsini hərəkət etdirin."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"İki barmaqla sürüşdürməklə böyütmə sahəsini hərəkət etdirin."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Yalnız ekranın bir hissəsini böyüdərkən əlçatan deyil"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Yaxınlaşdırmaq üçün düyməyə klikləyin"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Məzmunu böyütmək üçün ekranı sürətlə yaxınlaşdırın"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Yaxınlaşdırmaq üçün:</b><br/> {0,number,integer}. Böyütməyə başlamaq üçün qısayoldan istifadə edin<br/> {1,number,integer}. Ekrana toxunun<br/> {2,number,integer}. Ekranın ətrafında hərəkət etmək üçün 2 barmağınızı sürüşdürün<br/> {3,number,integer}. Miqyası tənzimləmək üçün 2 barmaqla yaxınlaşdırıb-uzaqlaşdırın<br/> {4,number,integer}. Böyütməni dayandırmaq üçün qısayoldan istifadə edin<br/><br/> <b>Müvəqqəti böyütmək üçün:</b><br/> {0,number,integer}. Böyütmə növünün tam ekrana ayarlandığına əmin olun<br/> {1,number,integer}. Böyütməyə başlamaq üçün qısayoldan istifadə edin<br/> {2,number,integer}. Ekranın istənilən yerinə toxunub saxlayın<br/> {3,number,integer}. Ekranın ətrafında hərəkət etmək üçün barmağınızı sürüşdürün<br/> {4,number,integer}. Böyütməni dayandırmaq üçün barmağınızı qaldırın"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Yaxınlaşdırmaq üçün:</b><br/> {0,number,integer}. Böyütməyə başlamaq üçün qısayoldan istifadə edin<br/> {1,number,integer}. Ekrana toxunun<br/> {2,number,integer}. Ekranda hərəkət etmək üçün 2 barmağı sürüşdürün<br/> {3,number,integer}. Miqyası tənzimləmək üçün 2 barmaqla yaxınlaşdırıb-uzaqlaşdırın<br/> {4,number,integer}. Böyütməni dayandırmaq üçün qısayoldan istifadə edin<br/><br/> Həmçinin müvəqqəti böyüdə və s. əməliyyatları edə bilərsiniz."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Yaxınlaşdırmaq üçün:</b><br/> {0,number,integer}. Böyütməyə başlamaq üçün qısayoldan istifadə edin<br/> {1,number,integer}. Ekrana toxunun<br/> {2,number,integer}. Ekranda hərəkət etmək üçün 1 və ya 2 barmağı sürüşdürün<br/> {3,number,integer}. Miqyası tənzimləmək üçün 2 barmaqla yaxınlaşdırıb-uzaqlaşdırın<br/> {4,number,integer}. Böyütməni dayandırmaq üçün qısayoldan istifadə edin<br/><br/> Həmçinin müvəqqəti böyüdə və s. əməliyyatları edə bilərsiniz."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Böyütmə aktiv edildikdə ekranda yaxınlaşdıra bilərsiniz.\n\n"<b>"Miqyası dəyişmək üçün"</b>" böyütməni başlatdıqdan sonra ekranda istənilən yerə toxunun.\n"<ul><li>"Sürüşdürmək üçün ən azı 2 barmağınızla çəkin"</li>\n<li>"Miqyası tənzimləmək üçün ən azı 2 barmağınızla sürüşdürərək yaxınlaşdırın"</li></ul>\n\n<b>"Miqyası müvəqqəti dəyişmək üçün"</b>" böyütməni başladıb ekranda istənilən yerə basın & saxlayın.\n"<ul><li>"Ekranda hərəkət etmək üçün çəkin"</li>\n<li>"Uzaqlaşdırmaq üçün barmağınızı qaldırın"</li></ul>\n\n"Klaviatura və ya naviqasiya panelində yaxınlaşdıra bilməzsiniz."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Səhifə <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Xüsusi imkanlar düyməsi qısayolu"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Yalnız vacib şəxs və tətbiqlərdən bildiriş alın."</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Aktivləşdirmə növü seçin"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Vaxt"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Nümunə: \"09:30-17:00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Təqvim"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Nümunə: \"Şəxsi təqvim\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Rejim yaradın"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Fərdi"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Kəsintiləri məhdudlaşdırın"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\"Narahat Etməyin\" rejimini aktiv edin"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Siqnallar və media səsləri narahat edə bilər"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Cədvəllər"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Rejimləri silin"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Silin"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Redaktə edin"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Cədvəllər"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Rejim"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Təqvim əlavə edin"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Təqvim istifadə edin"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Cədvəl"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Cədvəl ayarlayın"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Cədvəl"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> saat <xliff:g id="MINUTES">%2$d</xliff:g> dəq"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Avtomatik yandırın"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Rutin"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Müəyyən vaxtlarda telefonu səssiz edin"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"\"Narahat etməyin\" qaydaları ayarlayın"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Səsli xəbərdarlıqlara icazə verin"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Vizual fəsadları blok edin"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Görünən siqnallara icazə verin"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Sizə gələ biləcək bildirişlər"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Diqqətinizi cəmləyin"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Əlavə əməliyyatlar"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Displey ayarları"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Displey seçimləri"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"tünd temanı aktivləşdirin"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Qaranlıq arxa fonda açıq mətnə üstünlük vermək üçün ƏS və tətbiqləri dəyişin. Bu, gözləri daha az yora bilər və bəzi cihazlarda əhəmiyyətli enerji qənaəti təmin edir."</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Displey dəyişikliyi yoxdur}=1{{effect_1}}=2{{effect_1} və {effect_2}}=3{{effect_1}, {effect_2} və {effect_3}}other{{effect_1}, {effect_2} və daha # effekt}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Kəsintiləri filtrləyin"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Kəsinti filtrlənməyib"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Filtrlənmiş bildirişlər üzrə seçimləri göstərin"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"\"Narahat Etməyin\" rejimi aktiv olduqda"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Bildirişlər səssiz olsun"</string>
@@ -3486,6 +3541,8 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"bildirişi açın"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Bildirişin ertələnməsinə icazə verin"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Tətbiq ikonunda bildiriş nöqtəsi"</string>
+ <!-- no translation found for notification_bundles (3614044525822580826) -->
+ <skip />
<string name="notification_bubbles_title" msgid="5681506665322329301">"Köpüklər"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Köpüklər"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Söhbət üzə çıxsın"</string>
@@ -3667,6 +3724,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Kateqoriyalar"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Digər"</string>
<string name="no_channels" msgid="4716199078612071915">"Bu tətbiq heç bir bildiriş paylaşmayıb"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"İstifadəsiz kateqoriyaları göstərin"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Tətbiqdə əlavə ayarlar"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"İstifadəsiz kateqoriyaları göstərin"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"İstifadəsiz kateqoriyaları gizlədin"</string>
@@ -3778,6 +3836,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Hamısı"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Tətbiqlərin rejimdən imtina etməsinə icazə verin"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Narahat etmiş sayılmayan tətbiqlər"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Daha çox tətbiq seçin"</string>
@@ -3814,12 +3874,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Yalnız bu vaxtadək bir saatlıq xəbərdarlıqlara dəyişin: {time}}other{Yalnız bu vaxtadək # saatlıq xəbərdarlıqlara dəyişin: {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Yalnız <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> vaxtınadək xəbərdarlıqları dəyişin"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Həmişə fasiləyə dəyişin"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Adını dəyişin"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"İkonanı dəyişin"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"İkonanı dəyişin"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Xəbərdarlıq"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Bağlayın"</string>
<string name="device_feedback" msgid="5351614458411688608">"Bu cihaz haqqında fikrinizi bildirin"</string>
@@ -4805,8 +4862,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Qutu"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batareya"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Ayarlar Paneli"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Masaüstü rejiminə keçid məcburi olsun"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Əlavə ekranlarda masaüstünün eksperimental rejiminə keçid məcburi olsun"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"İxtiyari formada pəncərələri aktivləşdirin"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"İxtiyari formada pəncərələr üçün dəstəyi aktivləşdirin."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"İkinci displeydə ixtiyari formada pəncərə imkanı"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"İxtiyari formada pəncərələri yalnız ikinci displeydə aktivləşdirin."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Dəyişməyən miqyas çoxpəncərəli rejimdə açılsın"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Miqyası dəyişməyən tətbiqləri çoxpəncərəli rejimdə açır"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"icbari qaranlıq rejim etibarsız edilsin"</string>
@@ -4874,14 +4933,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"16KB developer seçimindən istifadə etməzdən əvvəl bu cihazın data bölməsi ext4-ə çevrilməlidir. Bu rejimdə proqram təminatının bütövlüyü təmin edilə bilməz və yükləyicinin kilidi açıq halda telefonda saxlanılan data risk altında ola bilər. 16 KB seçimini aktivləşdirmək üçün bundan sonra daha bir yenidən başlatma tələb ediləcək. Bu rejimdə bir dəfə yenidən başlatma ilə 4KB və 16KB rejimi arasında dəyişə bilərsiniz. Bu rejimlərdə bəzi funksiyalar deaktiv ediləcək, buna görə də bəzi proqramlar işləməyə bilər. Cihazı istehsal rejiminə qaytarmaq üçün 4KB rejiminə qaytarmalı və sonra yükləyicini kilidləməlisiniz ki, bu da cihazı zavod ayarlarına sıfırlayır. Cihaz Android-ə yükləndikdən sonra Developer seçimlərində OEM kiliddən çıxarılmasını deaktiv edin. Təsdiqdən sonra cihaz datası silinəcək və fayl sistemi ext4-ə dəyişdiriləcək. Bu tamamlandıqdan sonra 16KB-ni yenidən aktivləşdirmək üçün geri qayıdın."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Bütün datanı silin"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Data bölməsini yenidən formatlamaq və ext4-ə ayarlamaq alınmadı."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16KB rejimi üçün yükləyici kilidaçması tələb edilir"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Yükləyici kilidaçması tələb edilir"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Bu cihaz 16KB developer seçimindən istifadə etməzdən əvvəl yükləyicinin kilidini açmalıdır. Bu rejimdə proqram təminatının bütövlüyü təmin edilə bilməz və yükləyicinin kilidi açıq halda telefonda saxlanılan data risk altında ola bilər. 16KB rejimi aktivləşdirildikdə bütün istifadəçi datası və ayarları silinəcək. Yükləyici kilidi açıldıqdan sonra 16KB seçimini aktivləşdirmək üçün iki dəfə yenidən başlatma tələb olunacaq. Bu rejimdə bir dəfə yenidən başlatma ilə 4KB və 16KB rejimi arasında dəyişə bilərsiniz. Bu rejimlərdə bəzi funksiyalar deaktiv ediləcək, buna görə də bəzi proqramlar işləməyə bilər. Cihazı istehsal rejiminə qaytarmaq üçün yenidən 4KB rejiminə keçməli və sonra cihazda OEM/yükləyici kilidləməsi (zavod ayarlarına sıfırlayır) icra etməlisiniz. Yükləyicini kiliddən çıxarın və yenidən cəhd edin. Təlimatlara burada baxa bilərsiniz: <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"4KB səhifə-aqnostik rejimindən istifadə"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Səhifə-aqnostik rejiminin 4KB rejimindəsiniz. Bu rejimdə proqram təminatının bütövlüyü təmin edilə bilməz və yükləyicinin kilidi açıq halda telefonda saxlanılan data risk altında ola bilər. Bu rejimlərdə bəzi funksiyalar deaktiv ediləcək, buna görə də bəzi proqramlar işləməyə bilər. İstehsal rejiminə yenidən daxil olmaq üçün cihazın yükləyicisini kilidləməlisiniz. Toxunaraq ətraflı oxuyun."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Səhifə-aqnostik rejiminin 4KB rejimindəsiniz. Bu rejimdə proqram təminatının bütövlüyü təmin edilə bilməz və yükləyicinin kilidi açıq halda telefonda saxlanılan data risk altında ola bilər. Bu rejimlərdə bəzi funksiyalar deaktiv ediləcək, buna görə də bəzi proqramlar işləməyə bilər. İstehsal rejiminə yenidən daxil olmaq üçün cihazın yükləyicisini kilidləməlisiniz. Bununla cihaz yenidən zavod ayarlarına qayıdacaq və istehsal ayarları bərpa ediləcək. Cihaz Android-ə yükləndikdən sonra Developer seçimlərində OEM kiliddən çıxarılmasını deaktiv edin. Cihaz Android-ə yüklənmirsə və ya qeyri-sabitdirsə, cihazı buradan əldə edilən ən son fabrik şəkilləri ilə yenidən işə salın: <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> yaxud <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> istifadə edin və \"Cihaz datasını silin\", \"Yükləyicini kilidləyin\" və \"Bütün hissələri məcburi yükləyin\" seçin."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"16KB səhifə-aqnostik rejimindən istifadə"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Səhifə-aqnostik rejiminin 16KB rejimindəsiniz. Bu rejimdə proqram təminatının bütövlüyü təmin edilə bilməz və yükləyicinin kilidi açıq halda telefonda saxlanılan data risk altında ola bilər. Bu rejimlərdə bəzi funksiyalar deaktiv ediləcək, buna görə də bəzi proqramlar işləməyə bilər. İstehsal rejiminə yenidən daxil olmaq üçün yenidən 4K rejiminə keçməli və sonra cihazın yükləyicisini kilidləməlisiniz. Toxunaraq ətraflı oxuyun."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Səhifə-aqnostik rejiminin 16KB rejimindəsiniz. Bu rejimdə proqram təminatının bütövlüyü təmin edilə bilməz və yükləyicinin kilidi açıq halda telefonda saxlanılan data risk altında ola bilər. Bu rejimlərdə bəzi funksiyalar deaktiv ediləcək, buna görə də bəzi proqramlar işləməyə bilər. İstehsal rejiminə yenidən daxil olmaq üçün yenidən 4K rejiminə keçməli və sonra cihazın yükləyicisini kilidləməlisiniz. Bununla cihaz yenidən zavod ayarlarına qayıdacaq və istehsal ayarları bərpa ediləcək. Cihaz Android-ə yükləndikdən sonra Developer seçimlərində OEM kiliddən çıxarılmasını deaktiv edin. Cihaz Android-ə yüklənmirsə və ya qeyri-sabitdirsə, cihazı buradan əldə edilən ən son fabrik şəkilləri ilə yenidən işə salın: <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> yaxud <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> istifadə edin və \"Cihaz datasını silin\", \"Yükləyicini kilidləyin\" və \"Bütün hissələri məcburi yükləyin\" seçin."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Səhifədən asılı olmayan rejimin 16 KB rejimindəsiniz. Bu rejimdə proqram təminatının bütövlüyü təmin edilə bilməz və yükləyicinin kilidi açıq halda telefonda saxlanılan data risk altında ola bilər. Bu rejimlərdə bəzi funksiyalar deaktiv ediləcək, buna görə də bəzi tətbiqlər işləməyə bilər. İstehsal rejiminə yenidən daxil olmaq üçün yenidən 4 KB rejiminə keçməli və sonra cihazın yükləyicisini kilidləməlisiniz. Toxunaraq ətraflı oxuyun."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Səhifədən asılı olmayan rejimin 16 KB rejimindəsiniz. Bu rejimdə proqram təminatının bütövlüyü təmin edilə bilməz və yükləyicinin kilidi açıq halda telefonda saxlanılan data risk altında ola bilər. Bu rejimlərdə bəzi funksiyalar deaktiv ediləcək, buna görə də bəzi tətbiqlər işləməyə bilər. İstehsal rejiminə yenidən daxil olmaq üçün yenidən 4 KB rejiminə keçməli və sonra cihazın yükləyicisini kilidləməlisiniz. Bununla cihaz yenidən zavod ayarlarına qayıdacaq və istehsal ayarları bərpa ediləcək. Cihaz Android-ə yükləndikdən sonra Developer seçimlərində OEM kiliddən çıxarılmasını deaktiv edin. Cihaz Android-ə yüklənmirsə və ya qeyri-sabitdirsə, cihazı buradan əldə edilən ən son fabrik şəkilləri ilə yenidən işə salın: <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> yaxud <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> istifadə edin və \"Cihaz datasını silin\", \"Yükləyicini kilidləyin\" və \"Bütün hissələri məcburi yükləyin\" seçin."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16KB səhifə-aqnostik rejimi"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Ətraflı məlumat"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Baq hesabatı idarəedicisi"</string>
@@ -5013,7 +5072,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Tətbiq bərkidilməsi"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Developer seçimlərini işlədin"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Çap xidməti"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Bir neçə istifadəçiyə icazə verin"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"icazə, çox sayda, istifadəçi, icazə, çox"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"çoxsaylı, istifadəçilər, profillər, insanlar, hesablar, keçirici, çoxlu"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Wi-Fi vasitəsilə sazlayın"</string>
@@ -5127,8 +5187,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Planşet doka yerləşdirildikdə ekranda nə görəcəyinizi seçin. Ekran qoruyucusu istifadə edildikdə cihazınız daha çox enerji sərf edə bilər."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Fərdiləşdirin"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Fərdiləşdirin: <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Sərbəst forma dəstəyini aktivləşdirmək üçün yenidən başlatma tələb olunur."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"İkinci dərəcəli displeylərdə masaüstü rejimini məcburi aktiv etmək üçün yenidən başlatma tələb olunur."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Köhnə ixtiyari formada pəncərə dəstəyini aktivləşdirmək üçün yenidən yükləmə tələb olunur."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"İxtiyari formada pəncərə dəstəyini dəyişmək üçün yenidən yükləmə tələb olunur."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"İkinci displeylərdə ixtiyari formada pəncərələri məcbur etmək üçün yenidən yükləmə tələb olunur."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"İndi yenidən başladın"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Sonra yeniden başladın"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Uzaysal Audio"</string>
@@ -5357,4 +5418,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Yayımı dinləyin"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ilə dinləmək üçün audio yayımı QR kodunu skanlayın"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Paylaşarkən parolu redaktə etmək olmur. Parolu dəyişmək üçün əvvəlcə audio paylaşmanı deaktiv edin."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-b+sr+Latn/arrays.xml b/res/values-b+sr+Latn/arrays.xml
index 69b2c2a..b4da200 100644
--- a/res/values-b+sr+Latn/arrays.xml
+++ b/res/values-b+sr+Latn/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Vreme za spavanje"</item>
+ <item msgid="4152450357280759894">"Vožnja"</item>
+ <item msgid="7096549258219399423">"Imerzivno"</item>
+ <item msgid="2760716776980432977">"Upravljano"</item>
+ <item msgid="601734478369121764">"Zvezda"</item>
+ <item msgid="6243809315432780521">"Kalendar"</item>
+ <item msgid="4913577903148415331">"Vreme"</item>
+ <item msgid="3653377604690057780">"Pozorište"</item>
+ <item msgid="3843711267408385410">"Cvet"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 968995e..6c9567b 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Podešavanja slušnog aparata"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Prečica, kompatibilnost sa slušnim aparatima"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Zadata podešavanja"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Ne postoje zadata podešavanja koja je programirao audiolog"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Ažuriranje zadatih podešavanja nije uspelo"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audio izlaz"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"O audio izlazu"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Dodati su lice i <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Dodati su lice, otisak prsta i <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Dodati su lice, otisci prstiju i <xliff:g id="WATCH">%s</xliff:g>"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"To je potrebno jer je uključena provera identiteta"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Otključavanje uz Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Sat je dodat"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Podesite sat"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Saznajte više o otključavanju sata"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Dodaj sat"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Ukloni sat"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Otisak prsta i otključavanje licem"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Otključavanje licem i otiskom prsta"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Otključavanje licem i otiskom prsta za posao"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Treba da podesite"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Lice i otisci prsta su dodati"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Instalirajte aplikacije"</b>\n"Aplikacije za koje želite da budu privatne instalirajte u prostoru"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Imajte na umu"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Aplikacije se zaustavljaju kada zaključate prostor"</b>\n"Kada zaključate prostor, aplikacije u njemu se zaustavljaju i ne šalju vam obaveštenja"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Privatni prostori nisu pogodni za aplikacije koje treba da rade u pozadini ili šalju važna obaveštenja, poput medicinskih aplikacija. Razlog je to što se obaveštenja i aktivnosti u pozadini zaustavljaju kada je prostor zaključan.\n\nAplikacije u privatnom prostoru se neće prikazivati u menadžeru dozvola, na kontrolnoj tabli za privatnost ni u drugim podešavanjima kada je privatan prostor zaključan.\n\nPrivatan prostor ne možete da premestite na novi uređaj. Morate da podesite drugi privatan prostor ako želite da ga koristite na drugom uređaju.\n\nSvako ko vaš uređaj poveže sa računarom ili na njega instalira štetne aplikacije, moći će da pristupi vašem privatnom prostoru."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Privatni prostori nisu pogodni za aplikacije koje treba da rade u pozadini ili šalju važna obaveštenja, poput medicinskih aplikacija. Razlog je to što se obaveštenja i aktivnosti u pozadini zaustavljaju kada je prostor zaključan.\n\nAplikacije u privatnom prostoru se neće prikazivati u menadžeru dozvola, na kontrolnoj tabli za privatnost ni u drugim podešavanjima kada je privatan prostor zaključan.\n\nPrivatan prostor ne možete da vratite na novi uređaj. Morate da podesite drugi prostor ako želite da ga koristite na drugom uređaju.\n\nSvako ko vaš uređaj poveže sa računarom ili na njega instalira zlonamerne aplikacije, moći će da pristupi vašem privatnom prostoru."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Saznajte više o privatnom prostoru"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Potrajaće nekoliko trenutaka"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Podešava se privatni prostor…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Želite da restartujete uređaj?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"NFC evidentiranje detalja je namenjeno samo u svrhe programiranja. Dodatni NFC podaci uvršteni su u izveštaje o greškama, koji mogu da sadrže privatne podatke. Restartujte uređaj da biste promenili ovo podešavanje."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Restartuj"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Prebacivanje"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"preslikati"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Omogući bežični prikaz"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Prilagodljivo"</string>
<string name="brightness" msgid="6216871641021779698">"Nivo osvetljenosti"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Prilagodljiva osvetljenost"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"O priladoljivoj osvetljenosti"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Osvetljenost ekrana će se automatski prilagođavati okruženju i aktivnostima. Možete ručno da pomerate klizač da bi prilagodljivo podešavanje osvetljenosti naučilo šta vam odgovara."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Uključeno"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Isključeno"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Opcije"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Pristupačnost"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Fizička tastatura"</string>
- <string name="show_ime" msgid="4334255501724746849">"Koristi tastaturu na ekranu"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Zadržava se na ekranu dok je fizička tastatura aktivna"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Duži odziv tastera"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Tastatura zanemaruje brze pritiske istog tastera koji se ponavljaju u roku od <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Spori tasteri"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Izabrao je korisnik: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Govor"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Brzina pokazivača"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Kontroler za igre"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Preusmeri vibraciju"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Preusmeri vibraciju na kontroler za igre kada je povezan"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Ipak nastavi"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Otkaži"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Podešavanja uvećanja"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Pomeranje jednim prstom"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Pomerite lupu 1 prstom"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Prevlačite 1 prst za kretanje po ekranu"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Pomerajte oblast za uvećanje prevlačenjem jednog prsta."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Pomerajte oblast za uvećanje prevlačenjem dva prsta."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Nije dostupno kada se uvećava samo deo ekrana"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Dodirnite dugme da biste zumirali"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Brzo uvećajte ekran da bi sadržaj bio veći"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Da biste uvećali:</b><br/> {0,number,integer}. Koristite prečicu da biste pokrenuli uvećanje<br/> {1,number,integer}. Dodirnite ekran<br/> {2,number,integer}. Prevlačite pomoću 2 prsta da biste se kretali po ekranu<br/> {3,number,integer}. Skupite 2 prsta da biste prilagodili zumiranje<br/> {4,number,integer}. Koristite prečicu da biste zaustavili uvećanje<br/><br/> <b>Da biste privremeno uvećali:</b><br/> {0,number,integer}. Uverite se da je tip uvećanja podešen na ceo ekran<br/> {1,number,integer}. Koristite prečicu da biste pokrenuli uvećanje<br/> {2,number,integer}. Dodirnite i zadržite bilo koji deo ekrana<br/> {3,number,integer}. Prevlačite prst da biste se kretali po ekranu<br/> {4,number,integer}. Podignite prst da biste zaustavili uvećanje"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Da biste uvećali:</b><br/> {0,number,integer}. Koristite prečicu da biste pokrenuli uvećanje<br/> {1,number,integer}. Dodirnite ekran<br/> {2,number,integer}. Prevlačite pomoću 2 prsta da biste se kretali po ekranu<br/> {3,number,integer}. Skupite 2 prsta da biste prilagodili zumiranje<br/> {4,number,integer}. Koristite prečicu da biste zaustavili uvećanje<br/><br/> Možete privremeno da zumirate i drugo."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Da biste uvećali:</b><br/> {0,number,integer}. Koristite prečicu da biste pokrenuli uvećanje<br/> {1,number,integer}. Dodirnite ekran<br/> {2,number,integer}. Prevlačite 1 ili 2 prsta da biste se kretali po ekranu <br/> {3,number,integer}. Skupite 2 prsta da biste prilagodili zumiranje<br/> {4,number,integer}. Koristite prečicu da biste zaustavili uvećanje<br/><br/> Možete privremeno da zumirate i drugo."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Kada je uvećanje uključeno, možete da uvećate ekran.\n\n"<b>"Da biste zumirali"</b>", pokrenite uvećanje, pa dodirnite bilo koji deo ekrana.\n"<ul><li>"Prevlačite pomoću 2 ili više prstiju da biste pomerali prikaz"</li>\n<li>"Skupite 2 ili više prstiju da biste prilagodili zumiranje"</li></ul>\n\n<b>"Za privremeno zumiranje"</b>" pokrenite uvećanje, pa dodirnite i zadržite bilo koji deo ekrana.\n"<ul><li>"Prevlačite da biste se kretali po ekranu"</li>\n<li>"Podignite prst da biste umanjili prikaz"</li></ul>\n\n"Ne možete da uvećavate tastaturu ili traku za navigaciju."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>. stranica od <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Prečica za dugme Pristupačnost"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Dobijajte obaveštenja samo od važnih osoba i aplikacija"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Izaberite tip aktiviranja"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Vreme"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Na primer „9:30–17:00“"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Kalendar"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Na primer „Lični kalendar“"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Napravite režim"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Prilagođeno"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ograničite prekide"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Uključite režim Ne uznemiravaj"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Zvukovi alarma i medija mogu da prekinu"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Rasporedi"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Izbriši rasporede"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Izbriši"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Izmeni"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Rasporedi"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Raspored"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Podesite raspored"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Raspored"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> s, <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Automatski uključi"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Raspored"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Utišajte telefon u određeno vreme"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Podesite pravila za režim „Ne uznemiravaj“"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Omogućite prekide koji proizvode zvuk"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokiraj vizuelna ometanja"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Dozvoli vizuelne signale"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Obaveštenja koja dozvoljavate"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Budite prisutni"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Dodatne radnje"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Podešavanja prikaza"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Opcije prikaza"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"omogući tamnu temu"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Prebacite OS i aplikacije na svetao tekst na tamnoj pozadini. To može da bude lakše za oči i dovodi do znatne uštede baterije na nekim uređajima"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Nema promena ekrana}=1{{effect_1}}=2{{effect_1} i {effect_2}}=3{{effect_1}, {effect_2} i {effect_3}}one{{effect_1}, {effect_2} i još #}few{{effect_1}, {effect_2} i još #}other{{effect_1}, {effect_2} i još #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filtriraj prekide"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Nijedan prekid se ne filtrira"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opcije prikaza za filtrirana obaveštenja"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Kada je uključen režim Ne uznemiravaj"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Bez zvučnog signala za obaveštenja"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"otvaranje obaveštenja"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Omogući odlaganje obaveštenja"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Tačka za obaveštenja na ikoni aplikacije"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Skupovi obaveštenja"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Oblačići"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Oblačići"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Prikaži ovu konverzaciju u oblačiću"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Kategorije"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Drugo"</string>
<string name="no_channels" msgid="4716199078612071915">"Ova aplikacija nije postavila nijedno obaveštenje"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Prikaži nekorišćene kategorije"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Dodatna podešavanja u aplikaciji"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Prikaži nekorišćene kategorije"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Sakrij nekorišćene kategorije"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Sve"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Dozvoli da aplikacije zanemaruju"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikacije koje mogu da prekidaju"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Izaberite još aplikacija"</string>
@@ -4284,7 +4346,7 @@
<string name="system_navigation_title" msgid="4890381153527184636">"Režim navigacije"</string>
<string name="swipe_up_to_switch_apps_title" msgid="6677266952021118342">"Navigacija pomoću 2 dugmeta"</string>
<string name="swipe_up_to_switch_apps_summary" msgid="1415457307836359560">"Da biste prešli sa jedne aplikacije na drugu, prevucite nagore na dugmetu Početak. Da biste videli sve aplikacije, ponovo prevucite nagore. Da biste se vratili, dodirnite dugme Nazad."</string>
- <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Bezbednost i hitni slučajevi"</string>
+ <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Lična bezbednost i hitni slučajevi"</string>
<string name="emergency_dashboard_summary" msgid="401033951074039302">"Hitna pomoć, medicinske informacije, obaveštenja"</string>
<string name="edge_to_edge_navigation_title" msgid="714427081306043819">"Navigacija pomoću pokreta"</string>
<string name="edge_to_edge_navigation_summary" msgid="818109176611921504">"Da biste otišli na početni ekran, prevucite nagore od dna ekrana. Da biste prešli sa jedne aplikacije na drugu, prevucite nagore od dna ekrana, zadržite, pa pustite. Da biste se vratili nazad, prevucite od leve ili desne ivice."</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Futrola"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Baterija"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Tabla sa podešavanjima"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Nametni režim računara"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Nameće eksperimentalni režim računara na sekundarnim ekranima"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Omogući prozore proizvoljnog formata"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Omogućava podršku za prozore proizvoljnog formata."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Omogući prozore proizvoljnog formata na 2. ekranu"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Omogućava prozore proizvoljnog formata samo na sekundarnom ekranu."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Omogući aplikacije nepromenjive veličine u više prozora"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Omogućava da aplikacije nepromenjive veličine budu u više prozora"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Zameni funkciju nametanja tamne teme"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Da bi ovaj uređaj mogao da koristi opciju za programera od 16 kB, njegova particija podataka treba da se konvertuje u ext4. U ovom režimu ne može da se garantuje integritet softvera, pa podaci koji se čuvaju na telefonu dok je pokretački program otključan mogu da budu ugroženi. Aktiviranje opcije od 16 kB zahteva još jedno restartovanje. Kada budete u ovom režimu, moći ćete da prelazite sa režima od 4 kB na režim od 16 kB i obratno uz jedno restartovanje. Neke funkcije su onemogućene u ovim režimima, što znači da neke aplikacije možda neće raditi. Da biste uređaj vratili na proizvodni režim, treba da ga vratite na režim od 4 kB i zaključate pokretački program, čime će se uređaj resetovati na fabrička podešavanja. Kada se na uređaju uključi Android, onemogućite OEM otključavanje u Opcijama za programera. Uređaj će posle potvrde biti obrisan, a sistem fajlova promenjen na ext4. Kada se to završi, vratite se ovde da biste ponovo omogućili režim od 16 kB."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Obriši sve podatke"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Reformatiranje i brisanje particije podataka na ext4 nije uspelo."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Treba da otključate pokretački program da biste koristili 16 KB režim"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Treba da otključate pokretački program"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Da bi ovaj uređaj mogao da koristi opciju za programera od 16 kB, na njemu treba da bude otključan pokretački program. U ovom režimu ne može da se garantuje integritet softvera, pa mogu biti ugroženi podaci koji se čuvaju na telefonu dok je pokretački program otključan. Kada se aktivira režim od 16 kB, svi podaci i podešavanja korisnika će biti izbrisani. Kada se pokretački program otključa, aktiviranje opcije od 16 kB zahteva dva restartovanja. Kada budete u ovom režimu, moći ćete da prelazite sa režima od 4 kB na režim od 16 kB i obratno uz jedno restartovanje. Neke funkcije su onemogućene u ovim režimima, što znači da neke aplikacije možda neće raditi. Da biste uređaj vratili na proizvodni režim, treba da ga vratite na režim od 4 kB i zaključate OEM ili pokretački program na uređaju (što će ga resetovati na fabrička podešavanja). Otključajte pokretački program i probajte ponovo. Uputstva kako to da uradite potražite na <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Koristite režim od 4 kB nezavisan od veličine stranice"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Koristite režim od 4 kB u okviru režima nezavisnog od veličine stranice. U ovom režimu ne može da se garantuje integritet softvera, pa podaci koji se čuvaju na telefonu dok je pokretački program otključan mogu da budu ugroženi. Neke funkcije su onemogućene u ovim režimima, što znači da neke aplikacije možda neće raditi. Da biste uređaj ponovo vratili u proizvodni režim, morate da zaključate pokretački program uređaja. Dodirnite da biste pročitali više."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Koristite režim od 4 kB u okviru režima nezavisnog od veličine stranice. U ovom režimu ne može da se garantuje integritet softvera, pa mogu biti ugroženi podaci koji se čuvaju na telefonu dok je pokretački program otključan. Neke funkcije su onemogućene u ovim režimima, što znači da neke aplikacije možda neće raditi. Da biste uređaj ponovo vratili u proizvodni režim, morate da zaključate pokretački program uređaja. To će ponovo resetovati uređaj na fabrička podešavanja i vratiti ga na proizvodna podešavanja. Kada se na uređaju uključi Android, onemogućite OEM otključavanje u Opcijama za programera. Ako je uređaj nestabilan ili se na njemu ne uključi Android, ponovo ga flešujte koristeći najnovije slike sa fabričkim podešavanjima sa <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>. Možete i da koristite <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> i izaberete Obriši uređaj, Zaključaj pokretački program i Prinudno flešuj sve particije."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Koristite režim od 16 kB nezavisan od veličine stranice"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Koristite režim od 16 kB u okviru režima nezavisnog od veličine stranice. U ovom režimu ne može da se garantuje integritet softvera, pa podaci koji se čuvaju na telefonu dok je pokretački program otključan mogu da budu ugroženi. Neke funkcije su onemogućene u ovim režimima, što znači da neke aplikacije možda neće raditi. Da biste uređaj ponovo vratili u proizvodni režim, morate da ga vratite na režim od 4 kB i zaključate pokretački program uređaja. Dodirnite da biste pročitali više."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Koristite režim od 16 kB u okviru režima nezavisnog od veličine stranice. U ovom režimu ne može da se garantuje integritet softvera, pa podaci koji se čuvaju na telefonu dok je pokretački program otključan mogu da budu ugroženi. Neke funkcije su onemogućene u ovim režimima, što znači da neke aplikacije možda neće raditi. Da biste uređaj ponovo vratili u proizvodni režim, morate da ga vratite na režim od 4 kB i zaključate pokretački program uređaja. To će ponovo resetovati uređaj na fabrička podešavanja i vratiti ga na proizvodna podešavanja. Kada se na uređaju uključi Android, onemogućite OEM otključavanje u Opcijama za programera. Ako je uređaj nestabilan ili se na njemu ne uključi Android, ponovo ga flešujte koristeći najnovije slike sa fabričkim podešavanjima sa <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>. Možete i da koristite <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> i izaberete Obriši uređaj, Zaključaj pokretački program i Prinudno flešuj sve particije."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Koristite režim od 16 KB u okviru režima nezavisnog od veličine stranice. U ovom režimu ne može da se garantuje integritet softvera, pa mogu biti ugroženi podaci koji se čuvaju na telefonu dok je pokretački program otključan. Neke funkcije su onemogućene u ovim režimima, što znači da neke aplikacije možda neće raditi. Da biste uređaj ponovo vratili u proizvodni režim, morate da ga vratite na režim od 4 KB i zaključate pokretački program uređaja. Dodirnite da biste pročitali više."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Koristite režim od 16 KB u okviru režima nezavisnog od veličine stranice. U ovom režimu ne može da se garantuje integritet softvera, pa mogu biti ugroženi podaci koji se čuvaju na telefonu dok je pokretački program otključan. Neke funkcije su onemogućene u ovim režimima, što znači da neke aplikacije možda neće raditi. Da biste uređaj ponovo vratili u proizvodni režim, morate da ga vratite na režim od 4 KB i zaključate pokretački program uređaja. To će ponovo resetovati uređaj na fabrička podešavanja i vratiti ga na proizvodna podešavanja. Kada se na uređaju uključi Android, onemogućite OEM otključavanje u Opcijama za programera. Ako je uređaj nestabilan ili se na njemu ne uključi Android, ponovo ga flešujte koristeći najnovije slike sa fabričkim podešavanjima sa <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>. Možete i da koristite <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> i izaberete Obriši uređaj, Zaključaj pokretački program i Prinudno flešuj sve particije."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Režim od 16 kB nezavisan od veličine stranice"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Pročitajte više"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Obrađivač izveštaja o grešci"</string>
@@ -5008,7 +5072,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Koristi kačenje aplikacija"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Koristi opcije za programere"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Koristi uslugu štampanja"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Dozvoli više korisnika"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"omogućiti, više, korisnik, dozvoliti, mnogo"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"više, korisnici, profili, ljudi, nalozi, promena, veliki broj"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Koristi bežično otklanjanje grešaka"</string>
@@ -5122,8 +5187,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Izaberite šta ćete videti na ekranu kada je tablet na baznoj stanici. Uređaj može da troši više energije kada se koristi čuvar ekrana."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Prilagodi"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Prilagodite <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Morate da restartujete da biste omogućili podršku za slobodan oblik."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Morate da restartujete da biste prinudno omogućili režim za računare na sekundarnim ekranima."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Morate da restartujete da biste omogućili podršku za zastarele prozore proizvoljnog formata."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Morate da restartujete da biste promenili podršku za prozore proizvoljnog formata."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Morate da restartujete da biste prinudno omogućili prozore proizvoljnog formata na sekundarnom ekranu."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Restartuj"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Restartuj kasnije"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Prostorni zvuk"</string>
@@ -5352,4 +5418,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Slušajte strim"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Skenirajte QR kôd audio strima da biste slušali pomoću: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Lozinka ne može da se menja tokom deljenja. Da biste promenili lozinku, prvo isključite deljenje zvuka."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-be/arrays.xml b/res/values-be/arrays.xml
index d5c5b10..6c8307a 100644
--- a/res/values-be/arrays.xml
+++ b/res/values-be/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Час сну"</item>
+ <item msgid="4152450357280759894">"За рулём"</item>
+ <item msgid="7096549258219399423">"З эфектам прысутнасці"</item>
+ <item msgid="2760716776980432977">"Пад кіраваннем"</item>
+ <item msgid="601734478369121764">"Зорка"</item>
+ <item msgid="6243809315432780521">"Каляндар"</item>
+ <item msgid="4913577903148415331">"Час"</item>
+ <item msgid="3653377604690057780">"Тэатр"</item>
+ <item msgid="3843711267408385410">"Кветка"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 40f7119..877eaa8 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Налады слыхавога апарата"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Хуткае ўключэнне спецыяльных магчымасцей, сумяшчальнасць са слыхавымі апаратамі"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Набор налад"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Ваш сурдолаг не запраграмаваў ніякіх набораў налад"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Не ўдалося абнавіць набор налад"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Аўдыявыхад"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Пра аўдыявыхад"</string>
@@ -134,12 +135,12 @@
<string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth уключаны"</string>
<string name="previous_connected_see_all" msgid="7759413145713251328">"Паказаць усе"</string>
<string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Паглядзець усе"</string>
- <string name="stylus_device_details_title" msgid="7618295136015480864">"Стылус"</string>
+ <string name="stylus_device_details_title" msgid="7618295136015480864">"Пяро"</string>
<string name="stylus_default_notes_app" msgid="4165657465911764628">"Пры націсканні на кнопку пяра"</string>
<string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Працоўны профіль)"</string>
<string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Увод тэксту ў тэкставыя палі"</string>
- <string name="stylus_ignore_button" msgid="7734540973145241391">"Ігнараваць націсканні кнопак стілусам"</string>
- <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Стылус"</string>
+ <string name="stylus_ignore_button" msgid="7734540973145241391">"Ігнараваць націсканні кнопак пяром"</string>
+ <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Пяро"</string>
<string name="date_and_time" msgid="1788358029823431692">"Дата і час"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Проксі-сервер"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Ачысціць"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Твар і гадзіннік \"<xliff:g id="WATCH">%s</xliff:g>\" дададзены"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Твар, адбітак пальца і гадзіннік \"<xliff:g id="WATCH">%s</xliff:g>\" дададзены"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Твар, адбіткі пальцаў і гадзіннік \"<xliff:g id="WATCH">%s</xliff:g>\" дададзены"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Гэта неабходна, паколькі ўключана функцыя праверкі асобы"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Разблакіраваць Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Гадзіннік дададзены"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Наладжванне гадзінніка"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Даведацца больш пра разблакіроўку гадзіннікам"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Дадаць гадзіннік"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Выдаліць гадзіннік"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Разблакіроўка тварам і адбіткам пальца"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Распазнаванне твару і разблакіроўка адбіткам пальца"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Разблакіроўка тварам і адбіткам пальца для працоўнага профілю"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Патрабуецца наладжванне"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Дададзены твар і адбіткі пальцаў"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Усталюйце праграмы"</b>\n"Усталюйце праграмы, якія будуць заставацца прыватнымі дзякуючы прасторы"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Што трэба мець на ўвазе"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Пры заблакіраваным доступе да прасторы дададзеныя ў яе праграмы перастаюць працаваць"</b>\n"Калі доступ да прасторы заблакіраваны, дададзеныя ў яе праграмы перастаюць працаваць і апавяшчэнні з іх не паказваюцца"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Не дадавайце ў прыватную прастору праграмы, якія працуюць у фонавым рэжыме або адпраўляюць крытычныя апавяшчэнні, напрыклад медыцынскія праграмы. Пры блакіраванні прыватнай прасторы адпраўка апавяшчэнняў і фонавая дзейнасць праграм спыняюцца.\n\nКалі доступ да прыватнай прасторы заблакіраваны, праграмы з яе не паказваюцца ў менеджары дазволаў і на панэлі кіравання доступам, а таксама ў іншых наладах.\n\nПрыватную прастору нельга перамясціць на іншую прыладу. Для кожнай прылады трэба будзе наладжваць асобную прыватную прастору.\n\nДоступ да прыватнай прасторы можа атрымаць чалавек, які ўсталюе на вашай прыладзе шкодныя праграмы або падключыць яе да камп’ютара."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Не дадавайце ў прыватную прастору праграмы, якія працуюць у фонавым рэжыме або адпраўляюць крытычныя апавяшчэнні, напрыклад медыцынскія праграмы. Пры блакіраванні прыватнай прасторы адпраўка апавяшчэнняў і фонавая дзейнасць праграм спыняюцца.\n\nКалі доступ да прыватнай прасторы заблакіраваны, праграмы з яе не паказваюцца ў менеджары дазволаў і на панэлі кіравання доступам, а таксама ў іншых наладах.\n\nПрыватную прастору нельга перамясціць на іншую прыладу. Для кожнай прылады трэба будзе наладжваць асобную прыватную прастору.\n\nДоступ да прыватнай прасторы можа атрымаць чалавек, які ўсталюе на вашай прыладзе шкодныя праграмы або падключыць яе да камп’ютара."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Даведацца больш пра прыватную прастору"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Гэты працэс зойме крыху часу"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Ідзе наладжванне прыватнай прасторы…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Перазапусціць прыладу?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Падрабязнае вядзенне журналаў NFC прызначана толькі для мэт распрацоўкі. У справаздачы пра памылкі ўключаюцца дадатковыя даныя NFC, якія могуць утрымліваць прыватную інфармацыю. Перазапусціце прыладу, каб змяніць гэту наладу."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Перазапусціць"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Трансляцыя"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"адлюстраванне"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Уключыць бесправадны дысплей"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Адаптыўныя"</string>
<string name="brightness" msgid="6216871641021779698">"Узровень яркасці"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Адаптыўная яркасць"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Інфармацыя пра адаптыўную яркасць"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Яркасць экрана будзе мяняцца аўтаматычна, у залежнасці ад наваколля і вашых дзеянняў. Можна пераключаць паўзунок уручную, каб дастасаваць функцыю да вашых параметраў."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Уключана"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Выключана"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Іншыя версіі"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Спецыяльныя магчымасці"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Фізічная клавіятура"</string>
- <string name="show_ime" msgid="4334255501724746849">"Выкарыстоўваць экранную клавіятуру"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Захоўваць яе на экране ў той час, калі фізічная клавіятура актыўная"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Ігнараванне паўторнага націскання"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Паўторныя націсканні адной і той жа клавішы, ажыццёўленыя на працягу <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> мс, ігнаруюцца"</string>
<string name="slow_keys" msgid="2891452895499690837">"Запавольванне рэакцыі на націсканне"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Выбрана карыстальнікам: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Маўленне"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Хуткасць указальніка"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Прылада кiравання гульнёй"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Перанакіраванне вібрасігналу"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Адпраўляць вібрасігнал на гульнявы кантролер пры падключэнні."</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Усё роўна працягнуць"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Скасаваць"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Налады павелічэння"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Зрушэнне адным пальцам"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Перамяшчайце лупу адным пальцам"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Для перамяшчэння па экране перасоўвайце адзін палец"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Вобласць павелічэння перацягваецца адным пальцам."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Вобласць павелічэння перацягваецца двума пальцамі."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Недаступна, калі павялічваецца толькі частка экрана"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Дакраніцеся да кнопкі, каб павялічыць маштаб"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Хутка павялічвайце маштаб экрана"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Каб павялічыць маштаб:</b><br/> {0,number,integer}. Скарыстайце хуткі доступ для запуску функцыі павелічэння<br/> {1,number,integer}. Націсніце на экран<br/> {2,number,integer}. Каб перамясціць выяву, перацягніце яе двума пальцамі<br/> {3,number,integer}. Звядзіце ці развядзіце два пальцы для змены маштабу<br/> {4,number,integer}. Скарыстайце хуткі доступ, каб выключыць функцыю павелічэння<br/><br/><b>Каб часова павялічыць маштаб:</b><br/> {0,number,integer}. Упэўніцеся, што ў якасці тыпу павелічэння выбраны поўнаэкранны рэжым<br/> {1,number,integer}. Скарыстайце хуткі доступ для запуску функцыі павелічэння<br/> {2,number,integer}. Утрымлівайце палец націснутым у любым месцы экрана<br/> {3,number,integer}. Каб перамясціць выяву, перацягніце яе пальцам<br/> {4,number,integer}. Падніміце палец, каб спыніць функцыю павелічэння"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Каб павялічыць маштаб:</b><br/> {0,number,integer}. Скарыстайце хуткі доступ для запуску функцыі павелічэння<br/> {1,number,integer}. Націсніце на экран<br/> {2,number,integer}. Для перамяшчэння па экране перасоўвайце два пальцы<br/> {3,number,integer}. Звядзіце ці развядзіце два пальцы для змены маштабу<br/> {4,number,integer}. Скарыстайце хуткі доступ для выключэння функцыі павелічэння<br/><br/> Таксама вы можаце часова павялічыць маштаб і выканаць іншыя дзеянні."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Каб павялічыць маштаб:</b><br/> {0,number,integer}. Скарыстайце хуткі доступ для запуску функцыі павелічэння<br/> {1,number,integer}. Націсніце на экран<br/> {2,number,integer}. Для перамяшчэння па экране перасоўвайце адзін або два пальцы<br/> {3,number,integer}. Звядзіце ці развядзіце два пальцы для змены маштабу<br/> {4,number,integer}. Скарыстайце хуткі доступ для выключэння функцыі павелічэння<br/><br/> Таксама вы можаце часова павялічыць маштаб і выканаць іншыя дзеянні."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Калі ўключана функцыя павелічэння, вы можаце павялічыць маштаб на экране.\n\n"<b>"Для гэтага"</b>" запусціце функцыю павелічэння, а пасля націсніце ў любым месцы экрана.\n"<ul><li>"Каб прагартаць, перацягніце пальцамі (двума ці больш)."</li>\n<li>"Каб адрэгуляваць маштаб, звядзіце ці развядзіце пальцы (два ці больш)."</li></ul>\n\n<b>"Каб часова змяніць маштаб"</b>", запусціце функцыю павелічэння, потым утрымлівайце націснутым любое месца на экране.\n"<ul><li>"Перацягніце для навігацыі па экране."</li>\n<li>"Падыміце палец, каб паменшыць маштаб."</li></ul>\n\n"Павелічэнне маштабу клавіятуры ці панэлі навігацыі не прадугледжана."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Старонка <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> з <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Хуткае ўключэнне: кнопка спецыяльных магчымасцей"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Атрымліваць апавяшчэнні толькі ад важных людзей і праграм"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Выбраць тып актывацыі"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Час"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Напрыклад: \"9:30 – 17:00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Каляндар"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Напрыклад: \"асабісты каляндар\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Стварыць рэжым"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Карыстальніцкі"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Абмежаванне колькасці непатрэбных апавяшчэнняў"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Уключэнне рэжыму \"Не турбаваць\""</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Гэты рэжым не распаўсюджваецца на сігналы будзільнікаў і гукі мультымедыя"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Расклады"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Выдаліць расклады"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Выдаліць"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Змяніць"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Расклады"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Расклад"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Задаць расклад"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Расклад"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> гадз <xliff:g id="MINUTES">%2$d</xliff:g> хв"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Уключаць аўтаматычна"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Расклад"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Выключаць гук тэлефона ў пэўны час"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Правілы рэжыму \"Не турбаваць\""</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Дазволіць гукавыя апавяшчэнні"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Блакіроўка візуальных апавяшчэнняў"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Дазволіць візуальныя сігналы"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Апавяшчэнні, якія будуць адлюстроўвацца"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Захоўвайце канцэнтрацыю"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Дадатковыя дзеянні"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Налады адлюстравання"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Параметры адлюстравання"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"уключыць цёмную тэму"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Пераключэнне АС і праграм на адлюстраванне светлага тэксту на цёмным фоне, што дазваляе знізіць нагрузку на зрок і на некаторых прыладах значна эканоміць зарад акумулятара"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Няма змен у адлюстраванні}=1{{effect_1}}=2{{effect_1} і {effect_2}}=3{{effect_1}, {effect_2} і {effect_3}}one{{effect_1}, {effect_2} і яшчэ #}few{{effect_1}, {effect_2} і яшчэ #}many{{effect_1}, {effect_2} і яшчэ #}other{{effect_1}, {effect_2} і яшчэ #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Адфільтроўваць апавяшчэнні"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Апавяшчэнні не адфільтроўваюцца"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Параметры адлюстравання для адфільтраваных апавяшчэнняў"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Калі рэжым \"Не турбаваць\" уключаны"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Апавяшчэнні без гуку"</string>
@@ -3483,6 +3541,8 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"адкрыць апавяшчэнне"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Дазволіць адкладванне апавяшчэнняў"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Значок апавяшчэнняў на значку праграмы"</string>
+ <!-- no translation found for notification_bundles (3614044525822580826) -->
+ <skip />
<string name="notification_bubbles_title" msgid="5681506665322329301">"Усплывальныя чаты"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Усплывальныя чаты"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Паказваць гэту размову ў выглядзе ўсплывальных апавяшчэнняў"</string>
@@ -3664,6 +3724,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Катэгорыі"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Іншае"</string>
<string name="no_channels" msgid="4716199078612071915">"Гэта праграма не размяшчала ніякіх апавяшчэнняў"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Паказаць катэгорыі, якія не выкарыстоўваюцца"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Дадатковыя налады ў праграме"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Паказаць неўжывальныя катэгорыі"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Схаваць неўжывальныя катэгорыі"</string>
@@ -3775,6 +3836,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Усе"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Дазволіць праграмам перавызначаць"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Гэты рэжым не распаўсюджваецца на наступныя праграмы"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Выбраць іншыя праграмы"</string>
@@ -4284,7 +4347,7 @@
<string name="system_navigation_title" msgid="4890381153527184636">"Рэжым навігацыі"</string>
<string name="swipe_up_to_switch_apps_title" msgid="6677266952021118342">"2-кнопачная навігацыя"</string>
<string name="swipe_up_to_switch_apps_summary" msgid="1415457307836359560">"Каб пераключыцца на іншую праграму, правядзіце пальцам уверх па кнопцы галоўнага экрана. Каб убачыць усе праграмы, правядзіце яшчэ раз. Каб вярнуцца, націсніце кнопку \"Назад\"."</string>
- <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Бяспека і экстранны выклік"</string>
+ <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Фізічная бяспека і экстранныя сітуацыі"</string>
<string name="emergency_dashboard_summary" msgid="401033951074039302">"Экстранны выклік, медыцынская інфармацыя, абвесткі"</string>
<string name="edge_to_edge_navigation_title" msgid="714427081306043819">"Навігацыя жэстамі"</string>
<string name="edge_to_edge_navigation_summary" msgid="818109176611921504">"Каб вярнуцца на галоўную старонку, правядзіце па экране пальцам знізу ўверх. Каб пераключыцца на іншую праграму, правядзіце па экране пальцам знізу ўверх, затрымайцеся, а потым адпусціце. Каб вярнуцца назад, правядзіце па экране пальцам управа ці ўлева."</string>
@@ -4799,8 +4862,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Чахол"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Акумулятар"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Панель налад"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Прымусова ўключаць рэжым працоўнага стала"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Прымусова ўключаць эксперыментальны рэжым працоўнага стала на дадатковых экранах"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Уключыць адвольную форму вокнаў"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Уключыць падтрымку адвольнай формы вокнаў."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Уключыць адвольную форму вокнаў на другасным дысплэі"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Уключыць адвольную форму вокнаў толькі на другасным дысплэі."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"У рэжыме некалькіх вокнаў уключыць нязменны памер"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Дазваляе выкарыстоўваць праграмы, якія маюць нязменны памер, у рэжыме некалькіх вокнаў"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Перавызначэнне ўключэння цёмнай тэмы"</string>
@@ -4868,14 +4933,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Каб выкарыстоўваць рэжым 16 КБ у параметрах распрацоўшчыка, раздзел даных на гэтай прыладзе трэба пераўтварыць у ext4. У гэтым рэжыме цэласнасць праграмнага забеспячэння не гарантуецца. Існуе рызыка страціць даныя, якія былі захаваны на тэлефоне, калі загрузчык быў разблакіраваны. Для ўключэння параметра 16 КБ патрабуецца паўторная перазагрузка. Пасля таго як вы ўключыце гэты рэжым, пераключэнне паміж рэжымамі 4 КБ і 16 КБ будзе суправаджацца толькі адной перазагрузкай. Асобныя функцыі будуць адключаны ў гэтых рэжымах, з-за чаго некаторыя праграмы могуць не працаваць. Каб вярнуць прыладу ў эксплуатацыйны рэжым, вам трэба пераключыцца ў рэжым 4 КБ і заблакіраваць загрузчык, што прывядзе да скіду прылады да заводскіх налад. Пасля загрузкі Android на прыладзе выключыце разблакіроўку OEM у Параметрах распрацоўшчыка. Усе даныя будуць выдалены з прылады, а файлавая сістэма пасля пацвярджэння будзе зменена на ext4. Пасля завяршэння вярніцеся, каб зноў уключыць рэжым 16 КБ."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Сцерці ўсе даныя"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Не ўдалося ачысціць раздзел даных і перафармаціраваць яго ў ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Для рэжыму 16 КБ патрабуецца разблакіроўка загрузчыка"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Патрабуецца разблакіроўка загрузчыка"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Каб выкарыстоўваць рэжым 16 КБ у параметрах распрацоўшчыка, трэба разблакіраваць загрузчык на прыладзе. У гэтым рэжыме цэласнасць праграмнага забеспячэння не гарантуецца. Існуе рызыка страціць даныя, якія былі захаваны на тэлефоне, калі загрузчык быў разблакіраваны. Калі рэжым 16 КБ уключыцца, усе даныя і налады карыстальніка будуць выдалены. Калі загрузчык будзе разблакіраваны, для ўключэння параметра 16 КБ спатрэбяцца дзве перазагрузкі. Пасля таго як вы ўключыце гэты рэжым, пераключэнне паміж рэжымамі 4 КБ і 16 КБ будзе суправаджацца толькі адной перазагрузкай. Асобныя функцыі будуць адключаны ў гэтых рэжымах, з-за чаго некаторыя праграмы могуць не працаваць. Каб вярнуць прыладу ў эксплуатацыйны рэжым, вам трэба пераключыцца ў рэжым 4 КБ і заблакіраваць OEM ці загрузчык (што прывядзе да скіду прылады да заводскіх налад). Разблакіруйце загрузчык і паўтарыце спробу. Інструкцыі, як гэта зрабіць, глядзіце на старонцы <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>."</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Дзейнічае рэжым 4 КБ, які не залежыць ад памеру старонкі памяці"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"У вас уключаны рэжым, які не залежыць ад памеру старонкі памяці і працуе з ядром для старонак памяці памерам 4 КБ. У гэтым рэжыме цэласнасць праграмнага забеспячэння не гарантуецца. Існуе рызыка страціць даныя, якія былі захаваны на тэлефоне, калі загрузчык быў разблакіраваны. Асобныя функцыі будуць адключаны ў гэтых рэжымах, з-за чаго некаторыя праграмы могуць не працаваць. Каб паўторна ўвайсці ў эксплуатацыйны рэжым, заблакіруйце загрузчык на прыладзе. Націсніце, каб чытаць далей."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"У вас уключаны рэжым, які не залежыць ад памеру старонкі памяці і працуе з ядром для старонак памяці памерам 4 КБ. У гэтым рэжыме цэласнасць праграмнага забеспячэння не гарантуецца. Існуе рызыка страціць даныя, якія былі захаваны на тэлефоне, калі загрузчык быў разблакіраваны. Асобныя функцыі будуць адключаны ў гэтых рэжымах, з-за чаго некаторыя праграмы могуць не працаваць. Каб паўторна ўвайсці ў эксплуатацыйны рэжым, заблакіруйце загрузчык на прыладзе. Пасля гэтага адбудзецца яе паўторны скід да заводскіх налад. Пасля загрузкі Android на прыладзе выключыце разблакіроўку OEM у Параметрах распрацоўшчыка. Калі на прыладзе не ўдаецца запусціць АС Android ці яе праца нестабільная, перапрашыйце прыладу, выкарыстоўваючы апошнія версіі заводскіх вобразаў, якія можна спампаваць тут: <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>. Або перайдзіце па спасылцы <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> і выберыце \"Ачысціць прыладу\", \"Заблакіраваць загрузчык\" і \"Перапрашыць усе раздзелы\"."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Дзейнічае рэжым 16 КБ, які не залежыць ад памеру старонкі памяці"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"У вас уключаны рэжым, які не залежыць ад памеру старонкі памяці і працуе з ядром для старонак памяці памерам 16 КБ. У гэтым рэжыме цэласнасць праграмнага забеспячэння не гарантуецца. Існуе рызыка страціць даныя, якія былі захаваны на тэлефоне, калі загрузчык быў разблакіраваны. Асобныя функцыі будуць адключаны ў гэтых рэжымах, з-за чаго некаторыя праграмы могуць не працаваць. Каб паўторна ўвайсці ў эксплуатацыйны рэжым, пераключыцеся на рэжым 4 КБ і заблакіруйце загрузчык на прыладзе. Націсніце, каб чытаць далей."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"У вас уключаны рэжым, які не залежыць ад памеру старонкі памяці і працуе з ядром для старонак памяці памерам 16 КБ. У гэтым рэжыме цэласнасць праграмнага забеспячэння не гарантуецца. Існуе рызыка страціць даныя, якія былі захаваны на тэлефоне, калі загрузчык быў разблакіраваны. Асобныя функцыі будуць адключаны ў гэтых рэжымах, з-за чаго некаторыя праграмы могуць не працаваць. Каб паўторна ўвайсці ў эксплуатацыйны рэжым, пераключыцеся на рэжым 4 КБ і заблакіруйце загрузчык на прыладзе. Пасля гэтага адбудзецца яе паўторны скід да заводскіх налад. Пасля загрузкі Android на прыладзе выключыце разблакіроўку OEM у Параметрах распрацоўшчыка. Калі на прыладзе не ўдаецца запусціць АС Android ці яе праца нестабільная, перапрашыйце прыладу, выкарыстоўваючы апошнія версіі заводскіх вобразаў, якія можна спампаваць тут: <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>. Або перайдзіце па спасылцы <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> і выберыце \"Ачысціць прыладу\", \"Заблакіраваць загрузчык\" і \"Перапрашыць усе раздзелы\"."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"У вас уключаны рэжым, які не залежыць ад памеру старонкі памяці і працуе з ядром для старонак памяці памерам 16 КБ. У гэтым рэжыме цэласнасць праграмнага забеспячэння не гарантуецца і ёсць рызыка страціць даныя, якія захоўваюцца на тэлефоне пры разблакіраваным загрузчыку. Асобныя функцыі будуць адключаны ў гэтых рэжымах, з-за чаго некаторыя праграмы могуць не працаваць. Каб паўторна ўвайсці ў эксплуатацыйны рэжым, пераключыцеся на рэжым 4 КБ і заблакіруйце загрузчык на прыладзе. Націсніце, каб чытаць далей."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"У вас уключаны рэжым, які не залежыць ад памеру старонкі памяці і працуе з ядром для старонак памяці памерам 16 КБ. У гэтым рэжыме цэласнасць праграмнага забеспячэння не гарантуецца і ёсць рызыка страціць даныя, якія захоўваюцца на тэлефоне пры разблакіраваным загрузчыку. Асобныя функцыі будуць адключаны ў гэтых рэжымах, з-за чаго некаторыя праграмы могуць не працаваць. Каб паўторна ўвайсці ў эксплуатацыйны рэжым, пераключыцеся на рэжым 4 КБ і заблакіруйце загрузчык на прыладзе. Пасля гэтага адбудзецца яе паўторны скід да заводскіх налад. Пасля загрузкі Android выключыце разблакіроўку OEM у Параметрах распрацоўшчыка. Калі на прыладзе не ўдаецца запусціць АС Android ці яе праца нестабільная, перапрашыйце прыладу, выкарыстоўваючы апошнія версіі заводскіх вобразаў, якія можна спампаваць тут: <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>. Або перайдзіце па спасылцы <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> і выберыце \"Ачысціць прыладу\", \"Заблакіраваць загрузчык\" і \"Перапрашыць усе раздзелы\"."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Рэжым, які не залежыць ад памеру старонкі памяці і працуе з ядром для старонак памяці памерам 16 КБ"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Чытаць далей"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Апрацоўшчык справаздачы пра памылкі"</string>
@@ -5009,7 +5074,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Выкарыстоўваць замацаванне праграмы"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Выкарыстоўваць параметры распрацоўшчыка"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Скарыстаць сэрвіс друку"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Дазволіць некалькі карыстальнікаў"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"дазволіць, некалькі, карыстальнік, дазволіць, шмат"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"некалькі, карыстальнікі, профілі, людзі, уліковыя запісы, пераключыць, многа"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Выкарыстоўваць адладку па Wi-Fi"</string>
@@ -5123,8 +5189,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Выберыце змесціва, якое будзе паказвацца на экране, калі планшэт падключаны да док-станцыі. Пры выкарыстанні экраннай застаўкі прылада можа спажываць больш энергіі."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Наладзіць"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Наладзіць застаўку \"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>\""</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Каб уключыць падтрымку адвольнай формы, патрабуецца перазагрузка."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Каб прымусова ўключыць на дадатковых дысплэях рэжым працоўнага стала, патрабуецца перазагрузка."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Каб уключыць падтрымку адвольнай формы вокнаў (устарэлую наладу), патрабуецца перазагрузка."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Каб змяніць падтрымку адвольнай формы вокнаў, патрабуецца перазагрузка."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Каб прымусова ўключыць падтрымку адвольнай формы вокнаў (устарэлую наладу) на другасных дысплэях, патрабуецца перазагрузка."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Перазагрузіць зараз"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Перазагрузіць пазней"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Прасторавае гучанне"</string>
@@ -5353,4 +5420,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Слухаць плынь"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Адсканіруйце QR-код аўдыяплыні для праслухоўвання на прыладзе \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\""</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Калі ажыццяўляецца абагульванне, змяняць пароль нельга. Каб змяніць пароль, выключыце абагульванне аўдыя."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-bg/arrays.xml b/res/values-bg/arrays.xml
index 712ecab..4c1460a 100644
--- a/res/values-bg/arrays.xml
+++ b/res/values-bg/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Време за сън"</item>
+ <item msgid="4152450357280759894">"Шофиране"</item>
+ <item msgid="7096549258219399423">"Реалистично"</item>
+ <item msgid="2760716776980432977">"Управлявано"</item>
+ <item msgid="601734478369121764">"Звезда"</item>
+ <item msgid="6243809315432780521">"Календар"</item>
+ <item msgid="4913577903148415331">"Време"</item>
+ <item msgid="3653377604690057780">"Театър"</item>
+ <item msgid="3843711267408385410">"Цвете"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 0f53175..b70fa75 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Настройки за слуховия апарат"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Пряк път, съвместимост със слухови апарати"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Предварително зададено"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Няма предвар. зададени стойности, програмирани от аудиолога"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Предварително зададените настройки не бяха актуализирани"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Аудиоизход"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Всичко за аудиоизхода"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Лицето и <xliff:g id="WATCH">%s</xliff:g> бяха добавени"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Лицето, отпечатъкът и <xliff:g id="WATCH">%s</xliff:g> бяха добавени"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Лицето, отпечатъците и <xliff:g id="WATCH">%s</xliff:g> бяха добавени"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Това е необходимо, тъй като функцията за проверка на самоличността е включена"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Отключване с Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Добавихте часовник"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Настройване на часовника ви"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Научете повече за „Отключване чрез часовника“"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Добавяне на часовник"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Премахване на часовника"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Отключване с лице и отпечатък"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Отключване с лице и отпечатък"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Отключване с лице и отпечатък за служебни цели"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Необходимо е настройване"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Добавени са лице и отпечатъци"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Инсталиране на приложения"</b>\n"Инсталирайте приложенията, които искате да запазите частни в пространството си"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Имайте предвид следното"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Спиране на приложенията при заключване на пространството ви"</b>\n"Когато заключите пространството си, приложенията в него се спират и няма да получавате известия от тях"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Частните пространства не са подходящи за приложения, които трябва да се изпълняват на заден план или да изпращат критично важни известия, като например медицински приложения. Това се дължи на факта, че известията и активността на заден план ще бъдат спрени, когато пространството ви е заключено.\n\nКогато частното ви пространство е заключено, приложенията в него няма да се показват в мениджъра за разрешенията, таблото за управление на поверителността и други настройки.\n\nЧастното ви пространство не може да бъде преместено на друго устройство. В такъв случай ще трябва да настроите друго частно пространство.\n\nВсеки, който свърже устройството ви с компютър или инсталира опасни приложения на него, би могъл да осъществи достъп до частното ви пространство."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Частните пространства не са подходящи за приложения, които трябва да се изпълняват на заден план или да изпращат критично важни известия, като например медицински приложения. Това се дължи на факта, че известията и активността на заден план ще бъдат спрени, когато пространството ви е заключено.\n\nКогато частното ви пространство е заключено, приложенията в него няма да се показват в мениджъра за разрешенията, таблото за управление на поверителността и други настройки.\n\nЧастното ви пространство не може да бъде възстановено на друго устройство. В такъв случай ще трябва да настроите друго пространство.\n\nВсеки, който свърже устройството ви с компютър или инсталира злонамерени приложения на него, би могъл да осъществи достъп до частното ви пространство."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Научете повече за частното пространство"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Това ще отнеме известно време"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Частното пространство се настройва…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Да се рестартира ли устройството?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Подробното записване в регистрационни файлове посредством NFC е предназначено само за програмни цели. В сигналите за програмни грешки, които може да съдържат лична информация, са включени допълнителни данни от NFC. За да промените тази настройка, рестартирайте устройството си."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Рестартиране"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Предаване"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"дублиране"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Активир. на безжичния дисплей"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Адаптивни"</string>
<string name="brightness" msgid="6216871641021779698">"Ниво на яркостта"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Адаптивна яркост"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Всичко за адаптивната яркост"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Яркостта на екрана ще се коригира автоматично спрямо средата и активностите ви. Можете да преместите плъзгача ръчно, за да помогнете на функцията за адаптивна яркост да научи предпочитанията ви."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Вкл."</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Изключено"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Опции"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Достъпност"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Физическа клавиатура"</string>
- <string name="show_ime" msgid="4334255501724746849">"Използване на екранната клавиатура"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Показва се на екрана, докато физическата клавиатура е активна"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Игнориране на многократ. натискане"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Клавиатурата пренебрегва бързите натискания на един и същ клавиш, повтарящи се в рамките на <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> мсек"</string>
<string name="slow_keys" msgid="2891452895499690837">"Забавяне на сигнала от клавишите"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Избрано от потребителя: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Говор"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Скорост на курсора"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Контролер за игри"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Пренасочване на вибрирането"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Пренасочване на вибрирането към контролера за игри, когато е свързан"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Напред въпреки това"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Отказ"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Настройки за увеличението"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Преместване с един пръст"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Преместете лупата с 1 пръст"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Плъзнете с пръст, за да се придвижвате на екрана."</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Преместете областта за увеличаване, като плъзнете 1 пръст."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Преместете областта за увеличаване, като плъзнете 2 пръста."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Не е налице, когато се увеличава само част от екрана"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Променяйте мащаба с докосване на бутон"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Бързо увеличавайте мащаба на екрана, за да уголемите съдържанието"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>За да увеличите мащаба</b>:<br/> {0,number,integer}. Използвайте прекия път за стартиране на увеличението.<br/> {1,number,integer}. Докоснете екрана.<br/> {2,number,integer}. Плъзнете с 2 пръста, за да се придвижите по екрана.<br/> {3,number,integer}. Съберете 2 пръста, за да коригирате мащаба.<br/> {4,number,integer}. Използвайте прекия път за спиране на увеличението.<br/><br/> <b>За временно увеличаване на мащаба</b>:<br/> {0,number,integer}. За типа увеличение трябва да зададете „Цял екран“.<br/> {1,number,integer}. Използвайте прекия път за стартиране на увеличението.<br/> {2,number,integer}. Докоснете и задръжте произволно място на екрана.<br/> {3,number,integer}. Плъзнете пръст, за да се придвижите по екрана.<br/> {4,number,integer}. Вдигнете пръста си, за да спрете увеличението."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>За да увеличите мащаба</b>:<br/> {0,number,integer}. Използвайте прекия път за стартиране на увеличението.<br/> {1,number,integer}. Докоснете екрана.<br/> {2,number,integer}. Плъзнете с 2 пръста, за да се придвижите по екрана.<br/> {3,number,integer}. Съберете 2 пръста, за да коригирате мащаба.<br/> {4,number,integer}. Използвайте прекия път, за да спрете увеличението.<br/><br/> Можете също да приближавате временно и още много други неща."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>За да увеличите мащаба</b>:<br/> {0,number,integer}. Използвайте прекия път за стартиране на увеличението.<br/> {1,number,integer}. Докоснете екрана.<br/> {2,number,integer}. Плъзнете с 1 или 2 пръста, за да се придвижите по екрана.<br/> {3,number,integer}. Съберете 2 пръста, за да коригирате мащаба.<br/> {4,number,integer}. Използвайте прекия път, за да спрете увеличението.<br/><br/> Можете също да приближавате временно и още много други неща."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Когато функцията за увеличение е включена, можете да увеличавате мащаба на екрана.\n\n"<b>"За да промените мащаба"</b>", стартирайте функцията за увеличение, след което докоснете произволно място на екрана.\n"<ul><li>"Плъзнете 2 или повече пръсти, за да превъртите."</li>\n<li>"Съберете или разтворете 2 или повече пръсти, за да коригирате мащаба."</li></ul>\n\n<b>"За да промените временно мащаба"</b>", стартирайте функцията за увеличение, след което докоснете и задръжте произволно място на екрана.\n"<ul><li>"Плъзнете пръста си, за да се придвижите на екрана."</li>\n<li>"Вдигнете пръста си, за да намалите мащаба."</li></ul>\n\n"Не можете да увеличавате мащаба на клавиатурата или лентата за навигация."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Страница <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> от <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Пряк път чрез бутона за достъпност"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Получаване на известия само от важни хора и приложения"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Изберете тип активиране"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Час"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Напр. „9:30 – 17:00 ч.“"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Календар"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Напр. „Личен календар“"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Създаване на режим"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Персонализирано"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ограничаване на прекъсванията"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Включване на режима „Не безпокойте“"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Будилниците и звуците на мултимедийното съдържание могат да прекъсват режима"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Графици"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Изтриване на графиците"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Изтриване"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Редактиране"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Графици"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"График"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Добавяне на календар"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Използване на календара ви"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"График"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Задаване на график"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"График"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ч и <xliff:g id="MINUTES">%2$d</xliff:g> мин"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Автоматично включване"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"График"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Заглуш. на телефона в опр. моменти"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Правила за „Не безпокойте“"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Разрешаване на звуковите прекъсвания"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Виз. предупрежд.: Блокиране"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Визуални сигнали: Разрешаване"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Известия, които могат да достигнат до вас"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Концентрация"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Допълнителни действия"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Настройки за показване"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Опции за показване"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"активиране на тъмната тема"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Превключете предпочитанията за операционната система и приложенията така, че да дадете предимство на светлия текст на тъмен фон. Това може да е по-щадящо за очите и да доведе до значителна икономия на батерията на някои устройства"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Няма промени в настройките за показване}=1{{effect_1}}=2{{effect_1} и {effect_2}}=3{{effect_1}, {effect_2} и {effect_3}}other{{effect_1}, {effect_2} и още #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Филтриране на прекъсванията"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Прекъсванията не се филтрират"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Опции за показване на филтрираните известия"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Когато режимът „Не безпокойте“ е включен"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Без звук от известията"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"отваряне на известието"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Разрешаване на отлагането на известията"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Точка за известия в иконата на прил."</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Групи известия"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Балончета"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Балончета"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Показване на балонче за този разговор"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Категории"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Други"</string>
<string name="no_channels" msgid="4716199078612071915">"Все още няма публикувани известия от това приложение"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Показване на неизползваните категории"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Допълнителни настройки в приложението"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Показване на неизползв. категории"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Скриване на неизползв. категории"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Всички"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Разрешаване на приложения да отменят режима"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Приложения, които могат да прекъсват режима"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Избиране на още приложения"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Активиране на режима „Само будилници“ за един час (до {time})}other{Активиране на режима „Само будилници“ за # часа (до {time})}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Активиране на режима „Само будилници“ до <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Активиране на режима „Прекъсване винаги“"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Преименуване"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Промяна на иконата"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Промяна на иконата"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Предупреждение"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Затваряне"</string>
<string name="device_feedback" msgid="5351614458411688608">"Отзиви за устройството"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Калъф"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Батерия"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Панел за настройки"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Принудително задаване на настолен режим"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Принудително задаване на експерименталния настолен режим на алтернативни дисплеи"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Активиране на прозорците в свободна форма"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Активиране на поддръжката за прозорците в свободна форма."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Прозорци в свободна форма на втори дисплей: Актив."</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Активиране на прозорците в свободна форма само на вторичен дисплей."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Активиране на непреоразмерими елементи в „Няколко прозореца“"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Разрешава на приложенията, които не могат да се преоразмеряват, да бъдат в режим за няколко прозореца"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Отмяна на налагането на тъмен режим"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Делът с данни на това устройство трябва да се преобразува към ext4, преди да се използва опцията за програмисти 16 KB. Целостта на софтуера не може да се гарантира в този режим. Също така данните, съхранявани на телефона, може да са изложени на риск, докато програмата за първоначално зареждане е отключена. За активирането на опцията 16 KB ще е необходимо още едно рестартиране след това. Когато сте в този режим, можете да превключвате между режимите 4 KB и 16 KB с едно рестартиране. Определени функции ще бъдат деактивирани в тези режими, така че някои приложения може да не работят. За да върнете устройството в производствен режим, ще трябва да превключите обратно към режима 4 KB и след това да заключите програмата за първоначално зареждане, което ще възстанови фабричните настройки на устройството. След като то стартира Android, деактивирайте настройката за отключване чрез OEM от опциите за програмисти. Всички данни на устройството ще бъдат изчистени и след потвърждение файловата система ще се промени на ext4. След като процесът приключи, върнете се, за да активирате опцията 16 KB отново."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Изтриване на всички данни"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Изчистването на всички данни от дяла и преформатирането на ext4 не бе успешно."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"За режима 16 KB се изисква отключване на програмата за първоначално зареждане"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Изисква се отключване на програмата за първоначално зареждане"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Програмата за първоначално зареждане на това устройство трябва да е отключена, преди да се използва опцията за програмисти 16 KB. Целостта на софтуера не може да се гарантира в този режим. Също така данните, съхранявани на телефона, може да са изложени на риск, докато програмата за първоначално зареждане е отключена. Всички потребителски данни и настройки ще бъдат изчистени при активирането на режима 16 KB. След като програмата за първоначално зареждане бъде отключена, за активирането на опцията 16 KB ще са необходими две рестартирания. Когато сте в този режим, можете да превключвате между режимите 4 KB и 16 KB с едно рестартиране. Определени функции ще бъдат деактивирани в тези режими, така че някои приложения може да не работят. За да върнете устройството в производствен режим, ще трябва да превключите обратно към режима 4 KB и след това да възстановите заключването чрез OEM или да заключите програмата за първоначално зареждане на устройството, което ще възстанови фабричните настройки. Моля, отключете програмата за първоначално зареждане и опитайте отново. За инструкции как да направите това, вижте <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"За режима за съвместимост със страниците се използва опцията 4 KB"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Използвате опцията 4 KB за режима за съвместимост със страниците. Целостта на софтуера не може да се гарантира в този режим. Също така данните, съхранявани на телефона, може да са изложени на риск, докато програмата за първоначално зареждане е отключена. Определени функции ще бъдат деактивирани в тези режими, така че някои приложения може да не работят. За да активирате отново производствения режим, трябва да заключите програмата за първоначално зареждане на устройството. Докоснете, за да прочетете повече."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Използвате опцията 4 KB за режима за съвместимост със страниците. Целостта на софтуера не може да се гарантира в този режим. Също така данните, съхранявани на телефона, може да са изложени на риск, докато програмата за първоначално зареждане е отключена. Определени функции ще бъдат деактивирани в тези режими, така че някои приложения може да не работят. За да активирате отново производствения режим, трябва да заключите програмата за първоначално зареждане на устройството. Това отново ще възстанови фабричните настройки на устройството, както и тези на производствения режим. След като то стартира Android, деактивирайте настройката за отключване чрез OEM от опциите за програмисти. Ако устройството не стартира Android или е нестабилно, преинсталирайте го посредством най-новите фабрични образи на адрес <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> или използвайте <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> и изберете опцията за изчистване на всички данни от устройството, „Заключване на програмата за първоначално зареждане“ и опцията за принудително инсталиране на всички дялове."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"За режима за съвместимост със страниците се използва опцията 16 KB"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Използвате опцията 16 KB за режима за съвместимост със страниците. Целостта на софтуера не може да се гарантира в този режим. Също така данните, съхранявани на телефона, може да са изложени на риск, докато програмата за първоначално зареждане е отключена. Определени функции ще бъдат деактивирани в тези режими, така че някои приложения може да не работят. За да активирате отново производствения режим, трябва да превключите обратно към режим 4 KB и след това да заключите програмата за първоначално зареждане на устройството. Докоснете, за да прочетете повече."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Използвате опцията 16 KB за режима за съвместимост със страниците. Целостта на софтуера не може да се гарантира в този режим. Също така данните, съхранявани на телефона, може да са изложени на риск, докато програмата за първоначално зареждане е отключена. Определени функции ще бъдат деактивирани в тези режими, така че някои приложения може да не работят. За да активирате отново производствения режим, трябва да превключите обратно към режим 4 KB и след това да заключите програмата за първоначално зареждане на устройството. Това отново ще възстанови фабричните настройки на устройството, както и тези на производствения режим. След като то стартира Android, деактивирайте настройката за отключване чрез OEM от опциите за програмисти. Ако устройството не стартира Android или е нестабилно, преинсталирайте го посредством най-новите фабрични образи на адрес <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> или използвайте <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> и изберете опцията за изчистване на всички данни от устройството, „Заключване на програмата за първоначално зареждане“ и опцията за принудително инсталиране на всички дялове."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Използвате опцията 16 KB за режима за съвместимост със страниците. Целостта на софтуера не може да се гарантира в този режим. Също така данните, съхранявани на телефона, може да са изложени на риск, докато програмата за първоначално зареждане е отключена. Определени функции ще бъдат деактивирани в тези режими, така че някои приложения може да не работят. За да активирате отново производствения режим, трябва да превключите обратно към режим 4 KB и след това да заключите програмата за първоначално зареждане на устройството. Докоснете, за да прочетете повече."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Използвате опцията 16 KB за режима за съвместимост със страниците. Целостта на софтуера не може да се гарантира в този режим. Също така данните, съхранявани на телефона, може да са изложени на риск, докато програмата за първоначално зареждане е отключена. Определени функции ще бъдат деактивирани в тези режими, така че някои приложения може да не работят. За да активирате отново производствения режим, трябва да превключите обратно към режим 4 KB и след това да заключите програмата за първоначално зареждане на устройството. Това отново ще възстанови фабричните настройки на устройството, както и тези на производствения режим. След като то стартира Android, деактивирайте настройката за отключване чрез OEM от опциите за програмисти. Ако устройството не стартира Android или е нестабилно, преинсталирайте го посредством най-новите фабрични образи на адрес <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> или използвайте <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> и изберете опцията за изчистване на всички данни от устройството, „Заключване на програмата за първоначално зареждане“ и опцията за принудително инсталиране на всички дялове."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Режим за съвместимост със страниците (16 KB)"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Прочетете още"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Манипулатор за сигналите за програмни грешки"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Използване на функцията за фиксиране на приложение"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Използване на опциите за програмисти"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Използване на услуга за отпечатване"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Разрешаване на използването от няколко потребители"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"разрешаване, няколко, потребител, позволяване, много"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"няколко, потребители, потребителски профили, хора, профили, превключване, много"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Използване на безжичното отстраняване на грешки"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Изберете какво да се показва на екрана, когато таблетът ви е свързан с докинг станция. Устройството ви може да изразходва повече енергия при използването на скрийнсейвър."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Персонализиране"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Персонализиране на <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"За да се активира поддръжката в свободна форма, се изисква рестартиране."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"За да се зададе принудително настолният режим на алтернативни дисплеи, се изисква рестартиране."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"За да се активира поддръжката за наследените прозорци в свободна форма, се изисква рестартиране."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"За да се промени поддръжката за прозорците в свободна форма, се изисква рестартиране."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"За да се зададат принудително прозорците в свободна форма на вторични дисплеи, се изисква рестартиране."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Рестартиране сега"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Рестартиране по-късно"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Пространствено аудио"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Слушане на потока"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Сканирайте QR кода за даден аудиопоток, за да го слушате на <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Паролата не може да се редактира по време на споделяне. За да я промените, първо изключете функцията за споделяне на звука."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-bn/arrays.xml b/res/values-bn/arrays.xml
index 73619bf..14da709 100644
--- a/res/values-bn/arrays.xml
+++ b/res/values-bn/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"বেডটাইম"</item>
+ <item msgid="4152450357280759894">"ড্রাইভ করার সময়"</item>
+ <item msgid="7096549258219399423">"ইমারসিভ"</item>
+ <item msgid="2760716776980432977">"ম্যানেজ করা"</item>
+ <item msgid="601734478369121764">"স্টার"</item>
+ <item msgid="6243809315432780521">"ক্যালেন্ডার"</item>
+ <item msgid="4913577903148415331">"সময়"</item>
+ <item msgid="3653377604690057780">"থিয়েটার"</item>
+ <item msgid="3843711267408385410">"ফুল"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 7462d06..4c21cca 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"হিয়ারিং ডিভাইস সংক্রান্ত সেটিংস"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"শর্টকাট, হিয়ারিং এড কম্প্যাটিবিলিটি"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"প্রিসেট"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"আপনার অডিওলজিস্ট কোনও প্রিসেট প্রোগ্রাম করে রাখেননি"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"প্রিসেট আপডেট করা যায়নি"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"অডিও আউটপুট"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"অডিও আউটপুট সম্পর্কে"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"ফেস ও <xliff:g id="WATCH">%s</xliff:g> যোগ করা হয়েছে"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"ফেস, ফিঙ্গারপ্রিন্ট এবং <xliff:g id="WATCH">%s</xliff:g> যোগ করা হয়েছে"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"ফেস, ফিঙ্গারপ্রিন্ট এবং <xliff:g id="WATCH">%s</xliff:g> যোগ করা হয়েছে"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"এটি করতে হবে কারণ আইডেন্টিটি চেক চালু আছে"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"রিমোট Authenticator আনলক করুন"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"স্মার্টওয়াচ যোগ করা হয়েছে"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"আপনার ঘড়ি সেট-আপ করুন"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"\'ঘড়ি আনলক করুন\' ফিচার সম্পর্কে আরও জানুন"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"ঘড়ি যোগ করুন"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"ঘড়ি সরান"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ফিঙ্গারপ্রিন্ট ও ফেস আনলক"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ফেস ও ফিঙ্গারপ্রিন্ট আনলক"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"অফিস প্রোফালের জন্য \'ফেস ও ফিঙ্গারপ্রিন্ট আনলক\' ফিচার"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"সেট-আপ করতে হবে"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"ফেস এবং আঙ্গুলের ছাপ যোগ করা হয়েছে"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"অ্যাপ ইনস্টল করুন"</b>\n"আপনি নিজের স্পেসে যেসব অ্যাপ ব্যক্তিগত রাখতে চান সেগুলি ইনস্টল করুন"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"মনে রাখবেন"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"আপনি নিজের স্পেস লক করলে অ্যাপ বন্ধ হয়"</b>\n"আপনি নিজের স্পেস লক করলে, আপনার স্পেসে থাকা অ্যাপগুলি বন্ধ হয়ে যাবে এবং আপনি সেগুলি থেকে কোনও বিজ্ঞপ্তি পাবেন না"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"যেসব অ্যাপ ব্যাকগ্রাউন্ডে চালাতে হয় বা গুরুত্বপূর্ণ বিজ্ঞপ্তি পাঠায়, সেগুলির জন্য প্রাইভেট স্পেস ব্যবহার করা যাবে না। যেমন, চিকিৎসা সম্পর্কিত অ্যাপ। এর কারণ হল, স্পেস লক হলে বিজ্ঞপ্তি পাঠানোর সুবিধা ও ব্যাকগ্রাউন্ড অ্যাক্টিভিটি বন্ধ হয়ে যায়। \n\nপ্রাইভেট স্পেস লক থাকলে, প্রাইভেট স্পেসে থাকা অ্যাপ পার্মিশন ম্যানেজার, প্রাইভেসি ড্যাশবোর্ড এবং অন্যান্য সেটিংসে দেখা যাবে না।\n\nআপনার প্রাইভেট স্পেস নতুন ডিভাইসে সরানো যাবে না। আপনি অন্য ডিভাইসে প্রাইভেট স্পেস ব্যবহার করতে চাইলে, আপনাকে অন্য একটি প্রাইভেট স্পেস সেট-আপ করতে হবে।\n\nযদি কেউ আপনার ডিভাইস একটি কম্পিউটারের সাথে কানেক্ট করেন বা ডিভাইসে ক্ষতিকারক অ্যাপ ইনস্টল করেন, তাহলে তিনি আপনার প্রাইভেট স্পেস হয়ত অ্যাক্সেস করতে পারবেন।"</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"যেসব অ্যাপ ব্যাকগ্রাউন্ডে চালাতে হয় বা গুরুত্বপূর্ণ বিজ্ঞপ্তি পাঠায়, সেগুলির জন্য প্রাইভেট স্পেস ব্যবহার করা যাবে না। যেমন, চিকিৎসা সম্পর্কিত অ্যাপ। এর কারণ হল, স্পেস লক হলে বিজ্ঞপ্তি পাঠানোর সুবিধা ও ব্যাকগ্রাউন্ড অ্যাক্টিভিটি বন্ধ হয়ে যায়।\n\nপ্রাইভেট স্পেস লক থাকলে, প্রাইভেট স্পেসে থাকা অ্যাপ পার্মিশন ম্যানেজার, প্রাইভেসি ড্যাশবোর্ড এবং অন্যান্য সেটিংসে দেখা যাবে না।\n\nআপনার প্রাইভেট স্পেস নতুন ডিভাইসে ফিরিয়ে আনা যাবে না। আপনি অন্য ডিভাইসে স্পেস ব্যবহার করতে চাইলে আপনাকে অন্য একটি স্পেস সেট-আপ করতে হবে।\n\nকেউ আপনার ডিভাইস কোনও কম্পিউটারের সাথে কানেক্ট করলে বা ডিভাইসে ক্ষতিকর অ্যাপ ইনস্টল করলে, তিনি হয়ত আপনার প্রাইভেট স্পেস অ্যাক্সেস করতে পারবেন।"</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"প্রাইভেট স্পেস সম্পর্কে আরও জানুন"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"এর জন্য কিছুক্ষণ সময় লাগতে পারে"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"প্রাইভেট স্পেস সেট-আপ করা হচ্ছে…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"ডিভাইস রিস্টার্ট করবেন?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"শুধুমাত্র উন্নতির উদ্দেশ্যে বিস্তারিত NFC লগিং করা হয়েছে। NFC সংক্রান্ত অতিরিক্ত ডেটা সমস্যার রিপোর্টে অন্তর্ভুক্ত করা হয়েছে, যার মধ্যে ব্যক্তিগত তথ্যও থাকতে পারে। এই সেটিং পরিবর্তন করতে, আপনার ডিভাইস রিস্টার্ট করুন।"</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"রিস্টার্ট করুন"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"কাস্ট করুন"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"মিরর"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"ওয়্যারলেস প্রদর্শন সক্ষম করুন"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"অভিযোজিত"</string>
<string name="brightness" msgid="6216871641021779698">"উজ্জ্বলতার স্তর"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"পরিবেশের আলো অনুযায়ী উজ্জ্বলতা"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"পরিবেশের আলো অনুযায়ী উজ্জ্বলতা সম্পর্কে"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"আপনার পারিপার্শ্বিক অবস্থা এবং অ্যাক্টিভিটি অনুযায়ী স্ক্রিনের উজ্জ্বলতা নিজে থেকেই অ্যাডজাস্ট করে নেওয়া হবে। স্ক্রিন কতখানি উজ্জ্বল হলে আপনার সুবিধা হয়, তা আপনি স্লাইডারের মাধ্যমে নির্দিষ্ট করে দিতে পারেন।"</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"চালু আছে"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"বন্ধ আছে"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"বিকল্প"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"অ্যাক্সেসিবিলিটি"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"ফিজিক্যাল কীবোর্ড"</string>
- <string name="show_ime" msgid="4334255501724746849">"অন-স্ক্রিন কীবোর্ড ব্যবহার করুন"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"ফিজিক্যাল কীবোর্ড সক্রিয় থাকার সময় এটিকে স্ক্রীনে রাখুন"</string>
<string name="bounce_keys" msgid="7419450970351743904">"বাউন্স \'কী\'"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> মিলি সেকেন্ডের মধ্যে একই কী বারবার প্রেস করলে তা কীবোর্ড উপেক্ষা করে"</string>
<string name="slow_keys" msgid="2891452895499690837">"স্লো কী"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"ব্যবহারকারী বেছে নেওয়া হয়েছে: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"স্পিচ"</string>
<string name="pointer_speed" msgid="7398649279282675718">"পয়েন্টারের গতি"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"গেম নিয়ন্ত্রক"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"ইনপুট ডিভাইসে ভাইব্রেশন হতে দিন"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"গেমের কন্ট্রোলার কানেক্ট করা থাকলে সেটিতে ভাইব্রেশন হতে দিন"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"তা সত্ত্বেও চালিয়ে যান"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"বাতিল করুন"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"বড় করে দেখার সেটিংস"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"একটি আঙুল দিয়ে প্যান করা"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"১টি আঙুল দিয়ে ম্যাগনিফায়ার সরান"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"স্ক্রিনের মধ্যে যে কোনও জায়গায় সরাতে ১টি আঙুল দিয়ে টেনে আনুন"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"\'বড় করে দেখা\' এলাকা একটি আঙুল দিয়ে টেনে সরান।"</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"\'বড় করে দেখা\' এলাকা দুটি আঙুল দিয়ে টেনে সরান।"</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"শুধুমাত্র স্ক্রিনের বড় করে দেখানো অংশে উপলভ্য থাকে না"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"জুম করার জন্য বোতামে ট্যাপ করুন"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"কন্টেন্ট আরও বড় সাইজে দেখার জন্য, স্ক্রিনে দ্রুত জুম বাড়ান"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>জুম ইন করতে:</b><br/> {0,number,integer}. \'বড় করে দেখা\' ফিচার চালু করার জন্য শর্টকাট ব্যবহার করুন<br/> {1,number,integer}। স্ক্রিনে ট্যাপ করুন<br/> {2,number,integer}। স্ক্রিনের চারদিকে ঘোরাতে ২টি আঙুল দিয়ে টেনে আনুন<br/> {3,number,integer}। জুম অ্যাডজাস্ট করার জন্য ২টি আঙুল দিয়ে পিঞ্চ করুন<br/> {4,number,integer}। \'বড় করে দেখা\' ফিচার বন্ধ করার জন্য শর্টকাট ব্যবহার করুন<br/><br/> <b>সাময়িকভাবে জুম ইন করতে:</b><br/> {0,number,integer}। আপনার \'বড় করে দেখা\' ফিচারের ধরন ফুল স্ক্রিনে সেট হয়েছে কিনা ভাল করে দেখে নিন<br/> {1,number,integer}। \'বড় করে দেখা\' ফিচার চালু করতে শর্টকাট ব্যবহার করুন<br/> {2,number,integer}। স্ক্রিনের যেকোনও জায়গা টাচ করে ধরে থাকুন<br/> {3,number,integer}। স্ক্রিনের চারদিকে ঘোরাতে আঙুল দিয়ে টেনে আনুন<br/> {4,number,integer}। \'বড় করে দেখা\' ফিচার বন্ধ করতে স্ক্রিনের উপর থেকে আঙুল সরিয়ে নিন"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>জুম-ইন করতে:</b><br/> {0,number,integer}. \'বড় করে দেখা\' ফিচার চালু করতে শর্টকাট ব্যবহার করুন<br/> {1,number,integer}. স্ক্রিনে ট্যাপ করুন<br/> {2,number,integer}. স্ক্রিনের মধ্যে যে কোনও জায়গায় সরাতে ২টি আঙুল দিয়ে টেনে আনুন<br/> {3,number,integer}. জুম অ্যাডজাস্ট করার জন্য ২টি আঙুল দিয়ে পিঞ্চ করুন zoom<br/> {4,number,integer}. \'বড় করে দেখা\' ফিচার বন্ধ করতে শর্টকাট ব্যবহার করুন<br/><br/> এছাড়াও সাময়িকভাবে জুম-ইন এবং আরও অনেক কিছু করুন।"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>জুম-ইন করতে:</b><br/> {0,number,integer}. \'বড় করে দেখা\' ফিচার চালু করতে শর্টকাট ব্যবহার করুন<br/> {1,number,integer}. স্ক্রিনে ট্যাপ করুন<br/> {2,number,integer}. স্ক্রিনের মধ্যে যে কোনও জায়গায় সরাতে ১টি অথবা ২টি আঙুল দিয়ে টেনে আনুন<br/> {3,number,integer}. জুম অ্যাডজাস্ট করার জন্য ২টি আঙুল দিয়ে পিঞ্চ করুন zoom<br/> {4,number,integer}. \'বড় করে দেখা\' ফিচার বন্ধ করতে শর্টকাট ব্যবহার করুন<br/><br/> এছাড়াও সাময়িকভাবে জুম-ইন এবং আরও অনেক কিছু করুন।"</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"ম্যাগনিফিকেশন চালু করা থাকলে, আপনি স্ক্রিনে জুম বাড়াতে পারবেন।\n\n"<b>"জুম করতে"</b>", ম্যাগনিফিকেশন চালু করে স্ক্রিনের যেকোনও জায়গায় ট্যাপ করুন।\n"<ul><li>"• স্ক্রল করতে ২ বা তার বেশি আঙ্গুল দিয়ে টানুন"</li>\n<li>"• জুম অ্যাডজাস্ট করতে ২ বা তার বেশি আঙ্গুল দিয়ে পিঞ্চ করুন"</li></ul>\n\n<b>"সাময়িকভাবে জুম করতে"</b>", ম্যাগনিফিকেশন চালু করে স্ক্রিনের যেকোনও জায়গায় টাচ করে ধরে থাকুন।\n"<ul><li>"• টেনে স্ক্রিনের বিভিন্ন জায়গায় সরান"</li>\n<li>"• জুম কমাতে স্ক্রিন থেকে আঙ্গুল তুলে নিন"</li></ul>\n\n"কীবোর্ড বা নেভিগেশন বারে আপনি জুম করতে পারবেন না।"</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g>টি মধ্যে <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> নম্বর পৃষ্ঠা"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"অ্যাক্সেসিবিলিটি বোতামের শর্টকার্ট"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"শুধু গুরুত্বপূর্ণ লোকজন এবং অ্যাপ থেকে বিজ্ঞপ্তি পান"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"অ্যাক্টিভেশনের ধরন বেছে নিন"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"সময়"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"যেমন, \"৯:৩০ – ৫:০০ PM\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"ক্যালেন্ডার"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"যেমন, \"ব্যক্তিগত ক্যালেন্ডার\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"মোড তৈরি করুন"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"কাস্টম"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"বিরক্তিকর কন্টেন্ট বন্ধ করা"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'বিরক্ত করবে না\' মোড চালু করুন"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"অ্যালার্ম ও মিডিয়া সাউন্ড বাধা দিতে পারবে"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"সময়সূচি"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"সময়সূচি মুছে দিন"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"মুছে দিন"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"এডিট করুন"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"সময়সূচি"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"সময়সূচি"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"একটি ক্যালেন্ডার যোগ করুন"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"আপনার ক্যালেন্ডার ব্যবহার করুন"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"শিডিউল করুন"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"একটি শিডিউল সেট করুন"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"শিডিউল করুন"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ঘণ্টা, <xliff:g id="MINUTES">%2$d</xliff:g> মিনিট"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"অটোমেটিক চালু করুন"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"সময়সূচি"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"নির্দিষ্ট সময়ে ফোন সাইলেন্ট করুন"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"\'বিরক্ত করবে না\' মোডের নিয়ম সেট-আপ করুন"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"যেসব বিজ্ঞপ্তি এলে আওয়াজ হয় সেগুলিকে অনুমতি দিন"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"ভিজ্যুয়াল ব্যাঘাতগুলিকে ব্লক করুন"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"ভিজুয়াল সঙ্কেতগুলি চালু করুন"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"আপনাকে দেখানো হবে এমন বিজ্ঞপ্তি"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"মনোযোগ বজায় রাখুন"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"অতিরিক্ত অ্যাকশন"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"ডিসপ্লে সেটিংস"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"ডিসপ্লে বিকল্প"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ডার্ক থিম চালু করুন"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"ডার্ক ব্যাকগ্রাউন্ডের উপর হালকা টেক্সট পড়তে OS ও অ্যাপের থিমে পরিবর্তন করুন, এটি চোখের পক্ষে আরামদায়ক হতে পারে এবং কিছু ডিভাইসে যথেষ্ট ব্যাটারি সাশ্রয় করতে পারে"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ডিসপ্লেতে কোনও পরিবর্তন হয়নি}=1{{effect_1}}=2{{effect_1} ও {effect_2}}=3{{effect_1}, {effect_2} ও {effect_3}}one{{effect_1}, {effect_2} ও আরও #টি}other{{effect_1}, {effect_2} ও আরও #টি}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"ইন্টারাপশন ফিল্টার করুন"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"কোনও ইন্টারাপশন, ফিল্টার করা হয়নি"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ফিল্টার করা বিজ্ঞপ্তির জন্য ডিসপ্লে বিকল্প"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"যখন \'বিরক্ত করবে না\' চালু থাকবে"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"বিজ্ঞপ্তি থেকে কোনও সাউন্ড হবে না"</string>
@@ -3486,6 +3541,8 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"বিজ্ঞপ্তি খুলুন"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"বিজ্ঞপ্তি স্নুজ করার অনুমতি দিন"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"অ্যাপ আইকনে বিজ্ঞপ্তির ডট"</string>
+ <!-- no translation found for notification_bundles (3614044525822580826) -->
+ <skip />
<string name="notification_bubbles_title" msgid="5681506665322329301">"বাবল"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"বাবল"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"বাবল আইকন হিসেবে হোম স্ক্রিনে কথোপকথন যোগ করা"</string>
@@ -3667,6 +3724,7 @@
<string name="notification_channels" msgid="1502969522886493799">"বিভাগগুলি"</string>
<string name="notification_channels_other" msgid="18159805343647908">"অন্যান্য"</string>
<string name="no_channels" msgid="4716199078612071915">"এই অ্যাপটি দ্বারা কোন বিজ্ঞপ্তি পোস্ট করা হয়নি"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"অব্যবহৃত বিভাগ দেখুন"</string>
<string name="app_settings_link" msgid="6725453466705333311">"অ্যাপের আরও সেটিংস"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"অব্যবহৃত বিভাগ দেখান"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"অব্যবহৃত বিভাগ লুকান"</string>
@@ -3778,6 +3836,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"সব"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"অ্যাপ ওভাররাইডের অনুমতি দিন"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"যে অ্যাপগুলি \'বিরক্ত করবে না\' মোড এড়িয়ে নিজের কাজ করতে পারে"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"আরও অ্যাপ বেছে নিন"</string>
@@ -3814,12 +3874,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} পর্যন্ত এক ঘণ্টার জন্য অ্যালার্ম পরিবর্তন করুন}one{{time} পর্যন্ত # ঘণ্টার জন্য অ্যালার্ম পরিবর্তন করুন}other{{time} পর্যন্ত # ঘণ্টার জন্য অ্যালার্ম পরিবর্তন করুন}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"শুধুমাত্র <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> পর্যন্ত অ্যালার্মগুলি পরিবর্তন করুন"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"সর্বদা বাধা দেওয়াতে পরিবর্তন করুন"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"নাম পরিবর্তন করুন"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"আইকন পরিবর্তন করুন"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"আইকন পরিবর্তন করুন"</string>
<string name="warning_button_text" msgid="1274234338874005639">"সতর্কতা"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"বন্ধ করুন"</string>
<string name="device_feedback" msgid="5351614458411688608">"এই ডিভাইসের সম্পর্কে মতামত পাঠান"</string>
@@ -4805,8 +4862,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"কেস"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"ব্যাটারি"</string>
<string name="settings_panel_title" msgid="346363079938069215">"সেটিংস প্যানেল"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"ফোর্স ডেস্কটপ মোড"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"সেকেন্ডারি ডিসপ্লেতে ফোর্স এক্সপেরিমেন্টাল ডেস্কটপ মোড চালু করা আছে"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"ফ্রিফর্ম উইন্ডো চালু করুন"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"ফ্রিফর্ম উইন্ডোর জন্য সহায়তা চালু করুন।"</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"সেকেন্ড ডিসপ্লেতে ফ্রিফর্ম উইন্ডো চালু করুন"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"শুধুমাত্র সেকেন্ডারি ডিসপ্লেতে ফ্রিফর্ম উইন্ডো চালু করুন।"</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"ছোট বড় করা যায় না এমন একাধিক উইন্ডো চালু করুন"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"একাধিক উইন্ডোয় ছোট বড় করা যায় না এমন অ্যাপের অনুমতি দিন"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"ফোর্স-ডার্ক ফিচার ওভাররাইড করুন"</string>
@@ -4874,14 +4933,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"১৬ কেবি ডেভেলপার বিকল্প ব্যবহার করার আগে, এই ডিভাইসের ডেটা পার্টিশন ext4-এ পরিবর্তন করতে হবে। এই মোডে সফ্টওয়্যার ইন্টিগ্রিটির গ্যারেন্টি দেওয়া যায় না এবং বুটলোডার আনলক থাকা অবস্থায় ফোনে স্টোর করে রাখা কোনও ডেটা সুরক্ষিত নাও থাকতে পারে। ১৬ কেবি ডেভেলপার বিকল্প অ্যাক্টিভেট করে দিলে, এর পরে ডিভাইসটি আরও একবার রিবুট করতে হবে। আপনি এই মোড থাকলে, একবার রিবুট করার মাধ্যমে ৪ কেবি এবং ১৬ কেবি মোডের মধ্যে সুইচ করতে পারবেন। এইসব মোডে কিছু ফিচার বন্ধ করে দেওয়া হবে, তাই কিছু অ্যাপ্লিকেশন কাজ নাও করতে পারে। ডিভাইসটি প্রোডাকশন মোডে রাখতে, আপনাকে ৪ কেবি মোডে ফিরে আসতে হবে ও তারপরে বুটলোডার লক করতে হবে যেটি ডিভাইসকে ফ্যাক্টরি রিসেট করবে। ডিভাইসটি Android-এ বুট করা হয়ে গেলে, ডেভেলপার বিকল্পে OEM আনলক করা বন্ধ করুন। নিশ্চিত করার পরে ডিভাইস ওয়াইপ করা হবে এবং ফাইল সিস্টেম ext4-এ পরিবর্তিত হয়ে যাবে। এটি হয়ে যাওয়ার পরে, আবার ১৬ কেবি মোড চালু করুন।"</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"সব ডেটা মুছুন"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"ডেটা পার্টিশানকে ext4 ফর্ম্যাটে আবার ফর্ম্যাট করা ও ওয়াইপ করা যায়নি।"</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"১৬ কেবি মোডের জন্য বুটলোডার আনলক করা প্রয়োজন"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"বুটলোডার আনলক করতে হবে"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"১৬ কেবি ডেভেলপার বিকল্প ব্যবহার করতে হলে, এই ডিভাইসের জন্য বুটলোডার আনলক করতে হবে। এই মোডে সফ্টওয়্যার ইন্টিগ্রিটির গ্যারেন্টি দেওয়া যায় না এবং বুটলোডার আনলক থাকা অবস্থায় ফোনে স্টোর করে রাখা কোনও ডেটা সুরক্ষিত নাও থাকতে পারে। ১৬ কেবি মোড অ্যাক্টিভেট করে দিলে, ব্যবহারকারীর সব ডেটা ও সেটিংস ওয়াইপ হয়ে যাবে। বুটলোডার আনলক হয়ে গেলে, ১৬ কেবি মোড বিকল্প চালু করার জন্য ডিভাইস দুবার রিবুট করার প্রয়োজন হয়। আপনি এই মোড থাকলে, একবার রিবুট করার মাধ্যমে ৪ কেবি এবং ১৬ কেবি মোডের মধ্যে সুইচ করতে পারবেন। এইসব মোডে কিছু ফিচার বন্ধ করে দেওয়া হবে, তাই কিছু অ্যাপ্লিকেশন কাজ নাও করতে পারে। ডিভাইসটিকে আবার প্রোডাকশন মোডে রাখতে, আপনাকে ৪ কেবি মোডে ফিরে আসতে হবে ও তারপরে OEM/বুটলোডার লক করতে হবে (যেটি ডিভাইসকে ফ্যাক্টরি রিসেট করবে)। বুটলোডার আনলক করে আবার চেষ্টা করুন। বুটলোডার কীভাবে আনলক করবেন তার নির্দেশাবলী এখানে দেখতে পারেন <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"৪ কেবি পেজ-অ্যাগনোস্টিক মোড ব্যবহার করা হচ্ছে"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"আপনি পেজ-অ্যাগনোস্টিক মোডের ৪ কেবি মোডে আছেন। এই মোডে সফ্টওয়্যার ইন্টিগ্রিটির গ্যারেন্টি দেওয়া যায় না এবং বুটলোডার আনলক থাকা অবস্থায় ফোনে স্টোর করে রাখা কোনও ডেটা সুরক্ষিত নাও থাকতে পারে। এইসব মোডে কিছু ফিচার বন্ধ করে দেওয়া হবে, তাই কিছু অ্যাপ্লিকেশন কাজ নাও করতে পারে। প্রোডাকশন মোডে আবার যেতে চাইলে, অবশ্যই ডিভাইসের বুটলোডার লক করতে হবে। আরও পড়তে ট্যাপ করুন।"</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"আপনি পেজ-অ্যাগনোস্টিক মোডের ৪ কেবি মোডে আছেন। এই মোডে সফ্টওয়্যার ইন্টিগ্রিটির গ্যারেন্টি দেওয়া যায় না এবং বুটলোডার আনলক থাকা অবস্থায় ফোনে স্টোর করে রাখা কোনও ডেটা সুরক্ষিত নাও থাকতে পারে। এইসব মোডে কিছু ফিচার বন্ধ করে দেওয়া হবে, তাই কিছু অ্যাপ্লিকেশন কাজ নাও করতে পারে। প্রোডাকশন মোডে আবার যেতে চাইলে, অবশ্যই ডিভাইসের বুটলোডার লক করতে হবে। এটি ডিভাইসটিকে আবার ফ্যাক্টরি রিসেট করবে এবং এটির প্রোডাকশন সেটিংস আগের মতো হয়ে যাবে। ডিভাইসটি Android-এ বুট করা হয়ে গেলে, ডেভেলপার বিকল্পে OEM আনলক করা বন্ধ করুন। ডিভাইসটি Android-এ বুট করা না গেলে বা স্থিতিশীল না হলে, <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> সাম্প্রতিক ফ্যাক্টরি ইমেজের সাথে ডিভাইসটি আবার ফ্ল্যাশ করুন এবং \'ডিভাইস ওয়াইপ করুন\', \'বুটলোডার লক করুন\' ও \'সব পার্টিশন জোরপূর্বক ফ্ল্যাশ করুন\' বিকল্প বেছে নিন।"</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"১৬ কেবি পেজ-অ্যাগনোস্টিক মোড ব্যবহার করা হচ্ছে"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"আপনি পেজ-অ্যাগনোস্টিক মোডের ১৬ কেবি মোডে আছেন। এই মোডে সফ্টওয়্যার ইন্টিগ্রিটির গ্যারেন্টি দেওয়া যায় না এবং বুটলোডার আনলক থাকা অবস্থায় ফোনে স্টোর করে রাখা কোনও ডেটা সুরক্ষিত নাও থাকতে পারে। এইসব মোডে কিছু ফিচার বন্ধ করে দেওয়া হবে, তাই কিছু অ্যাপ্লিকেশন কাজ নাও করতে পারে। প্রোডাকশন মোডে আবার যেতে চাইলে, আপনাকে অবশ্যই ৪ কেবি মোডে ফিরে যেতে হবে ও তারপরে ডিভাইসের বুটলোডার লক করতে হবে। আরও পড়তে ট্যাপ করুন।"</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"আপনি পেজ-অ্যাগনোস্টিক মোডের ১৬ কেবি মোডে আছেন। এই মোডে সফ্টওয়্যার ইন্টিগ্রিটির গ্যারেন্টি দেওয়া যায় না এবং বুটলোডার আনলক থাকা অবস্থায় ফোনে স্টোর করে রাখা কোনও ডেটা সুরক্ষিত নাও থাকতে পারে। এইসব মোডে কিছু ফিচার বন্ধ করে দেওয়া হবে, তাই কিছু অ্যাপ্লিকেশন কাজ নাও করতে পারে। প্রোডাকশন মোডে আবার যেতে চাইলে, আপনাকে অবশ্যই ৪ কেবি মোডে ফিরে যেতে হবে ও তারপরে ডিভাইসের বুটলোডার লক করতে হবে। এটি ডিভাইসটিকে আবার ফ্যাক্টরি রিসেট করবে এবং এটির প্রোডাকশন সেটিংস আগের মতো হয়ে যাবে। ডিভাইসটি Android-এ বুট করা হয়ে গেলে, ডেভেলপার বিকল্পে OEM আনলক করা বন্ধ করুন। ডিভাইসটি Android-এ বুট করা না গেলে বা স্থিতিশীল না হলে, <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> সাম্প্রতিক ফ্যাক্টরি ইমেজের সাথে ডিভাইসটি আবার ফ্ল্যাশ করুন এবং \'ডিভাইস ওয়াইপ করুন\', \'বুটলোডার লক করুন\' ও \'সব পার্টিশন জোরপূর্বক ফ্ল্যাশ করুন\' বিকল্প বেছে নিন।"</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"আপনি পেজ-অ্যাগনোস্টিক মোডের ১৬কেবি মোডে আছেন। এই মোডে সফ্টওয়্যার ইন্টিগ্রিটির গ্যারান্টি দেওয়া যায় না এবং বুটলোডার আনলক করা অবস্থায় ফোনে সেভ করে রাখা ডেটা নিয়ে ঝুঁকি থাকতে পারে। এই মোডে কিছু ফিচার বন্ধ করা থাকে, তাই কোনও কোনও অ্যাপ্লিকেশন কাজ নাও করতে পারে। প্রোডাকশন মোডে আবার যেতে চাইলে, আপনাকে অবশ্যই ৪কেবি মোডে ফিরে যেতে হবে ও তারপরে ডিভাইসের বুটলোডার লক করতে হবে। আরও পড়তে ট্যাপ করুন।"</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"আপনি পেজ-অ্যাগনোস্টিক মোডের ১৬কেবি মোডে আছেন। এই মোডে সফ্টওয়্যার ইন্টিগ্রিটির গ্যারান্টি দেওয়া যায় না এবং বুটলোডার আনলক করা অবস্থায় ফোনে সেভ করে রাখা ডেটা নিয়ে ঝুঁকি থাকতে পারে। এই মোডে কিছু ফিচার বন্ধ করা থাকে, তাই কোনও কোনও অ্যাপ্লিকেশন কাজ নাও করতে পারে। প্রোডাকশন মোডে আবার যেতে চাইলে, আপনাকে অবশ্যই ৪কেবি মোডে ফিরে যেতে হবে ও তারপরে ডিভাইসের বুটলোডার লক করতে হবে। এটি ডিভাইসটিকে আবার ফ্যাক্টরি রিসেট করবে এবং এটির প্রোডাকশন সেটিংস আগের মতো হয়ে যাবে। ডিভাইস Android-এ বুট হয়ে গেলে, ডেভেলপার বিকল্প থেকে OEM আনলক বন্ধ করুন। ডিভাইসটি Android-এ বুট করা না গেলে বা স্থিতিশীল না হলে, <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> থেকে সাম্প্রতিক ফ্যাক্টরি ইমেজের সাথে ডিভাইসটি আবার ফ্ল্যাশ করুন অথবা <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ব্যবহার করুন এবং \'ডিভাইস ওয়াইপ করুন\', \'বুটলোডার লক করুন\' ও \'সব পার্টিশন ফোর্স ফ্ল্যাশ করুন\' বিকল্প বেছে নিন।"</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"১৬ কেবি পেজ-অ্যাগনোস্টিক মোড"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"আরও পড়ুন"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"সমস্যার রিপোর্টের পরিচালক"</string>
@@ -5013,14 +5072,15 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"অ্যাপ পিন বিকল্প ব্যবহার করুন"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"ডেভেলপার বিকল্প ব্যবহার করুন"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"প্রিন্ট পরিষেবা ব্যবহার করুন"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"একাধিক ব্যবহারকারীকে অনুমতি দিন"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"অনুমতি, একাধিক, ব্যবহারকারী, অনুমতি, অনেক"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"একাধিক, ব্যবহারকারী, প্রোফাইল, লোকজন, অ্যাকাউন্ট, পরিবর্তন করুন, অনেক"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ওয়্যারলেস ডিবাগিং বিকল্প ব্যবহার করুন"</string>
<string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"গ্রাফিক্স ড্রাইভার বিকল্প ব্যবহার করুন"</string>
<string name="night_light_main_switch_title" msgid="3428298022467805219">"নাইট লাইট বিকল্প ব্যবহার করুন"</string>
<string name="nfc_main_switch_title" msgid="6295839988954817432">"NFC বিকল্প ব্যবহার করুন"</string>
- <string name="adaptive_brightness_main_switch_title" msgid="2681666805191642737">"\'পরিবেশের আলো অনুযায়ী উজ্জ্বলতা\' ব্যবহার করুন"</string>
+ <string name="adaptive_brightness_main_switch_title" msgid="2681666805191642737">"পরিবেশের আলো অনুযায়ী উজ্জ্বলতা ব্যবহার করুন"</string>
<string name="wifi_calling_main_switch_title" msgid="4070224008346815634">"Wi-Fi কলিং বিকল্প ব্যবহার করুন"</string>
<string name="default_see_all_apps_title" msgid="7481113230662612178">"সমস্ত অ্যাপ দেখুন"</string>
<string name="smart_forwarding_title" msgid="8368634861971949799">"স্মার্ট ফরওয়ার্ডিং"</string>
@@ -5127,8 +5187,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"ট্যাবলেট ডক করা থাকলে, আপনি স্ক্রিনে কী কী দেখবেন তা বেছে নিন। স্ক্রিন সেভার ব্যবহার করার সময়, আপনার ডিভাইস ব্যাটারির চার্জ বেশি ব্যবহার করতে পারে।"</string>
<string name="customize_button_title" msgid="1110284655990203359">"কাস্টমাইজ করুন"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> কাস্টমাইজ করুন"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"ফ্রিফর্ম সহায়তা চালু করার জন্য, ডিভাইস রিবুট করতে হবে।"</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"সেকেন্ডারি ডিসপ্লেতে ডেস্কটপ মোড জোর করে চালানোর জন্য রিবুট করতে হবে।"</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"ফ্রিফর্ম উইন্ডো সহায়তার লিগ্যাসি মোড চালু করতে রিবুট করতে হবে।"</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"ফ্রিফর্ম উইন্ডো সহায়তা পরিবর্তন করতে রিবুট করতে হবে।"</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"সেকেন্ডারি ডিসপ্লেতে ফ্রিফর্ম উইন্ডো জোর করে চালু করতে রিবুট করতে হবে।"</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"এখনই রিবুট করুন"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"পরে রিবুট করুন"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"স্পেশিয়ল অডিও"</string>
@@ -5357,4 +5418,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"স্ট্রিম শুনুন"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>-এর মাধ্যমে শুনতে অডিও স্ট্রিম QR কোড স্ক্যান করুন"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"শেয়ারিং চলাকালীন পাসওয়ার্ড এডিট করতে পারবেন না। পাসওয়ার্ড পরিবর্তন করতে, প্রথমে অডিও শেয়ারিং বন্ধ করুন।"</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-bs/arrays.xml b/res/values-bs/arrays.xml
index 2b34f3d..e3d2912 100644
--- a/res/values-bs/arrays.xml
+++ b/res/values-bs/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Vrijeme za spavanje"</item>
+ <item msgid="4152450357280759894">"Vožnja"</item>
+ <item msgid="7096549258219399423">"Uvjerljivo"</item>
+ <item msgid="2760716776980432977">"Upravljano"</item>
+ <item msgid="601734478369121764">"Zvijezda"</item>
+ <item msgid="6243809315432780521">"Kalendar"</item>
+ <item msgid="4913577903148415331">"Vrijeme"</item>
+ <item msgid="3653377604690057780">"Pozorište"</item>
+ <item msgid="3843711267408385410">"Cvijet"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 133c096..98eed7c 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Postavke slušnog aparata"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Prečica, kompatibilnost sa slušnim aparatom"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Zadana postavka"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Nema zadanih postavki koje je programirao vaš audiolog"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Ažuriranje zadanih postavki nije uspjelo"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Izlaz zvuka"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Informacije o izlazu zvuka"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Dodani su lice i <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Dodani su lice, otisak prsta i <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Dodani su lice, otisci prstiju i <xliff:g id="WATCH">%s</xliff:g>"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Ovo je potrebno jer je provjera identiteta uključena"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Otključavanje udaljenog autentifikatora"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Sat je dodan"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Postavite sat"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Saznajte više o Otključavanju pomoću sata"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Dodaj sat"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Uklanjanje sata"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Otključavanje otiskom prsta i licem"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Otključavanje licem i otiskom prsta"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Otključavanje licem i otiskom prsta za radni profil"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Potrebno je postavljanje"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Lice i otisci prstiju su dodani"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Instalirajte aplikacije"</b>\n"Instalirajte aplikacije koje želite da budu privatne u vašem prostoru"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Imajte na umu"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Aplikacije se zaustavljaju kada zaključate prostor"</b>\n"Kada zaključate prostor, aplikacije u prostoru se zaustavljaju i od njih više nećete primati obavještenja"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Privatni prostori nisu prikladni za aplikacije koje moraju raditi u pozadini ili koje šalju kritična obavještenja kao što su medicinske aplikacije. Ovo je zato što se obavještenja i aktivnost u pozadini zaustavljaju kada se prostor zaključa.\n\nAplikacije u privatnom prostoru se neće prikazivati na kontrolnoj tabli za privatnost ni u upravitelju odobrenja i drugim postavkama kada je privatni prostor zaključan.\n\nPrivatni prostor se ne može premjestiti na novi uređaj. Trebate postaviti drugi privatni prostor ako ga želite koristiti na drugom uređaju.\n\nSvako ko poveže vaš uređaj s računarom ili na njega instalira štetne aplikacije može pristupati vašem privatnom prostoru."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Privatni prostori nisu prikladni za aplikacije koje moraju raditi u pozadini ili koje šalju kritična obavještenja kao što su medicinske aplikacije. Ovo je zato što se obavještenja i aktivnost u pozadini zaustavljaju kada se prostor zaključa.\n\nAplikacije u privatnom prostoru se neće prikazivati na kontrolnoj tabli za privatnost ni u upravitelju odobrenja i drugim postavkama kada je privatni prostor zaključan.\n\nPrivatni prostor se ne može vratiti na novi uređaj. Trebate postaviti drugi prostor ako ga želite koristiti na drugom uređaju.\n\nSvako ko poveže vaš uređaj s računarom ili na njega instalira zlonamjerne aplikacije može pristupati vašem privatnom prostoru."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Saznajte više o privatnom prostoru"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Ovo će potrajati nekoliko trenutaka"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Postavljanje privatnog prostora…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Ponovo pokrenuti uređaj?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Detaljno zapisivanje NFC podataka je namijenjeno samo za svrhe programiranja. Dodatni NFC podaci su uključeni u izvještaje o greškama, koji mogu sadržavati privatne podatke. Ponovo pokrenite uređaj da promijenite ovu postavku."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Ponovo pokreni"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Emitiranje"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"preslikavanje"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Omogući bežični prikaz"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Prilagodljive"</string>
<string name="brightness" msgid="6216871641021779698">"Nivo osvijetljenosti"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Prilagodljiva osvijetljenost"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"O prilagodljivoj osvijetljenosti"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Osvijetljenost ekrana će se automatski prilagođavati vašem okruženju i aktivnostima. Klizač možete ručno pomjerati kako bi prilagodljiva osvijetljenost zapamtila vaše postavke."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Uključeno"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Isključeno"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Opcije"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Pristupačnost"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Fizička tastatura"</string>
- <string name="show_ime" msgid="4334255501724746849">"Koristi tastaturu na ekranu"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Zadržava se na ekranu dok je fizička tastatura aktivna"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Slučajni pritisci tipki"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Tastatura zanemaruje brzo ponavljana pritiskanja iste tipke u rasponu od <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Sporo reagiranje tipki"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Korisnički odabrano: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Govor"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Brzina pokazivača"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Kontroler za igre"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Preusmjeravanje vibracije"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Pošalji vibraciju na kontroler za igre kada je povezan."</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Ipak nastavi"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Otkaži"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Postavke uvećavanja"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Pomicanjem prstom"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Premjestite povećalo s 1 prstom"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Prevlačite s 1 prstom da se krećete na ekranu"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Pomaknite područje uvećanja prevlačenjem prstom."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Pomaknite područje uvećavanja prevlačenjem s dva prsta."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Nije dostupno dok se uvećava samo dio ekrana"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Dodirnite dugme da zumirate"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Brzo uvećajte ekran da sadržaj postane veći"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Da uvećate:</b><br/> {0,number,integer}. Koristite prečicu da pokrenete uvećavanje.<br/> {1,number,integer}. Dodirnite ekran.<br/> {2,number,integer}. Prevlačite s 2 prsta da se krećete po ekranu.<br/> {3,number,integer}. Uhvatite s 2 prsta da podesite zumiranje.<br/> {4,number,integer}. Koristite prečicu da zaustavite uvećavanje.<br/><br/> <b>Da uvećate privremeno:</b><br/> {0,number,integer}. Provjerite je li vrsta uvećavanja postavljena na prikaz preko cijelog ekrana.<br/> {1,number,integer}. Koristite prečicu da pokrenete uvećavanje.<br/> {2,number,integer}. Dodirnite i zadržite bilo gdje na ekranu.<br/> {3,number,integer}. Prevlačite prstom da se krećete po ekranu.<br/> {4,number,integer}. Podignite prst da zaustavite uvećavanje."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Da uvećate:</b><br/> {0,number,integer}. Upotrijebite prečicu da pokrenete uvećavanje<br/> {1,number,integer}. Dodirnite ekran<br/> {2,number,integer}. Prevlačite s 2 prsta da se krećete na ekranu<br/> {3,number,integer}. Spojite 2 prsta da podesite zumiranje<br/> {4,number,integer}. Upotrijebite prečicu da zaustavite uvećavanje<br/><br/> Možete i privremeno uvećavati i drugo."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Da uvećate:</b><br/> {0,number,integer}. Upotrijebite prečicu da pokrenete uvećavanje<br/> {1,number,integer}. Dodirnite ekran<br/> {2,number,integer}. Prevlačite s 1 ili 2 prsta da se krećete na ekranu<br/> {3,number,integer}. Spojite 2 prsta da podesite zumiranje<br/> {4,number,integer}. Upotrijebite prečicu da zaustavite uvećavanje<br/><br/> Možete i privremeno uvećavati i drugo."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Kada je uvećavanje uključeno, možete uvećavati sadržaj na ekranu.\n\n"<b>"Da zumirate"</b>", pokrenite uvećavanje, a zatim dodirnite ekran bilo gdje.\n"<ul><li>"Prevucite dva ili više prstiju za klizanje"</li>\n<li>"Uhvatite s dva ili više prstiju za podešavanje zumiranja"</li></ul>\n\n<b>"Za privremeno zumiranje"</b>" pokrenite uvećanje, a zatim dodirnite ekran bilo gdje i zadržite.\n"<ul><li>"Prevucite za kretanje po ekranu"</li>\n<li>"Podignite prst za umanjivanje"</li></ul>\n\n"Nije moguće uvećati na tastaturi ili traci za navigaciju."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Stranica <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> od <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Prečica dugmeta za pristupačnost"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Primajte obavještenja samo od važnih osoba i aplikacija"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Odaberite vrstu aktivacije"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Vrijeme"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Npr. \"9:30–17:00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Kalendar"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Npr. \"Lični kalendar\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Kreirajte način rada"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Prilagođeno"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ograničite ometanja"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Uključi način rada Ne ometaj"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Zvuci alarma i medija mogu prekinuti"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Rasporedi"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Izbrišite rasporede"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Izbriši"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Uredi"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Rasporedi"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Raspored"</string>
@@ -3341,7 +3396,8 @@
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Raspored"</string>
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Postavite raspored"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Raspored"</string>
- <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h, <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Automatski uključi"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Raspored"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Utišaj telefon u određeno vrijeme"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Postavite pravila za način rada Ne ometaj"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Dozvoli ometanja koja proizvode zvuk"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokiranje vizuelnih ometanja"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Dozvolite vizualnu signalizaciju"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Obavještenja koja vam se mogu prikazivati"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Budite fokusirani"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Dodatne radnje"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Postavke ekrana"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Opcije ekrana"</string>
@@ -3367,7 +3423,9 @@
<string name="mode_dark_theme_title" msgid="8099007897943513209">"Omogući tamnu temu"</string>
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"omogući tamnu temu"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Postavite OS i aplikacije da preferiraju svijetli tekst na tamnoj pozadini jer to može biti lakše za oči, a na nekim uređajima omogućava i značajne uštede baterije"</string>
- <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Nema promjena ekrana}=1{{effect_1}}=2{{effect_1} i {effect_2}}=3{{effect_1}, {effect_2} i {effect_3}}one{{effect_1}, {effect_2} i još #}few{{effect_1}, {effect_2} i još #}other{{effect_1}, {effect_2} i još #}}"</string>
+ <string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Nema promjena prikaza}=1{{effect_1}}=2{{effect_1} i {effect_2}}=3{{effect_1}, {effect_2} i {effect_3}}one{{effect_1}, {effect_2} i još #}few{{effect_1}, {effect_2} i još #}other{{effect_1}, {effect_2} i još #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filtriraj prekide"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Prekidi se ne filtriraju"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opcije prikaza filtriranih obavještenja"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Kada je uključena funkcija Ne ometaj"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Bez zvuka obavještenja"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"otvaranje obavještenja"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Dozvoli odgađanje obavještenja"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Tačka za obavještenja na ikoni aplikacije"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Paketi obavijesti"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Oblačići"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Oblačići"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Prikaži ovaj razgovor u oblačiću"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Kategorije"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Ostalo"</string>
<string name="no_channels" msgid="4716199078612071915">"Ova aplikacija nije objavila nikakva obavještenja"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Prikaži kategorije koje se ne koriste"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Dodatne postavke u aplikaciji"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Prikaži kategorije koje se ne koriste"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Sakrij kategorije koje se ne koriste"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Sve"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Dozvolite aplikacijama da zanemaruju"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikacije koje vas mogu prekinuti"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Odaberite još aplikacija"</string>
@@ -3811,8 +3873,8 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Promjena na alarme samo na jedan sat do {time}}one{Promjena na alarme samo na # sat do {time}}few{Promjena na alarme samo na # sata do {time}}other{Promjena na alarme samo na # sati do {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Pređi na postavku Samo alarmi do <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Promijeniti u uvijek prekini"</string>
- <string name="zen_mode_action_change_name" msgid="766639614789907016">"Promijeni naziv"</string>
- <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Promijeni ikonu"</string>
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Promijenite naziv"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Promijenite ikonu"</string>
<string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Promijenite ikonu"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Upozorenje"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Zatvori"</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Maska"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Baterija"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Ploča s postavkama"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Nametni način rada na računaru"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Nametanje eksperimentalnog načina rada na računaru na sekundarnim ekranima"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Omogući prilagodljive prozore"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Omogućite podršku za prilagodljive prozore."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Omogući prilagodljive prozore na drugom ekranu"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Omogućite prilagodljive prozore samo na sekundarnom ekranu."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Omogući aplikacije nepromjenjive veličine u više prozora"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Omogućava prikaz aplikacija nepromjenjive veličine u više prozora"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Nadjačaj nametanje tamne teme"</string>
@@ -4859,23 +4923,23 @@
<string name="enable_16k_pages" msgid="8001470927566110689">"Pokreni uz veličinu stranice od 16 kB"</string>
<string name="enable_16k_pages_summary" msgid="1964363364670306912">"Pokrenite uređaj s jezgrom podržanom za str. od 16 kB"</string>
<string name="confirm_enable_16k_pages_title" msgid="611010487387251491">"Pređite iz načina rada od 4 kB u način rada od 16 kB"</string>
- <string name="confirm_enable_16k_pages_text" msgid="6129208614283750541">"Nalazite se u načinu rada neovisnom o veličini stranice s jezgrom od 4 kB i prebacujete se u način rada od 16 kB. Integritet softvera se ne može garantirati u ovom načinu rada i svi podaci pohranjeni na telefonu dok je program za učitavanje operativnog sistema otključan bi mogli biti izloženi riziku. To će ponovo pokrenuti uređaj. Neke funkcije će biti onemogućene u ovim načinima, pa neke aplikacije možda neće funkcionirati. Da vratite uređaj u proizvodni način rada, trebate se vratiti u način rada od 4 kB i zaključati program za učitavanje operativnog sistema, čime se uređaj vraća na fabričke postavke. Nakon što se uređaj uspješno pokrene u Androidu, onemogućite OEM otključavanje u Opcijama za programere."</string>
+ <string name="confirm_enable_16k_pages_text" msgid="6129208614283750541">"Nalazite se u načinu rada neovisnom o veličini stranice s jezgrom od 4 kB i prebacujete se u način rada od 16 kB. Integritet softvera se ne može garantirati u ovom načinu rada i svi podaci pohranjeni na telefonu dok je program za učitavanje operativnog sistema otključan bi mogli biti izloženi riziku. To će ponovo pokrenuti uređaj. Neke funkcije će biti onemogućene u ovim načinima rada, pa neke aplikacije možda neće funkcionirati. Da vratite uređaj u proizvodni način rada, trebate se vratiti u način rada od 4 kB i zaključati program za učitavanje operativnog sistema, čime se uređaj vraća na fabričke postavke. Nakon što se uređaj uspješno pokrene u Androidu, onemogućite OEM otključavanje u Opcijama za programere."</string>
<string name="confirm_enable_4k_pages_title" msgid="3210360137887034659">"Promijenite iz načina rada od 16 kB u način rada od 4 kB"</string>
- <string name="confirm_enable_4k_pages_text" msgid="155070605667160083">"Nalazite se u načinu rada neovisnom o veličini stranice s jezgrom od 16 kB i prebacujete se u način rada od 4 kB. Integritet softvera se ne može garantirati u ovom načinu rada i svi podaci pohranjeni na telefonu dok je program za učitavanje operativnog sistema otključan bi mogli biti izloženi riziku. To će ponovo pokrenuti uređaj. Neke funkcije će biti onemogućene u ovim načinima, pa neke aplikacije možda neće funkcionirati. Da vratite uređaj u proizvodni način rada, morate zaključati program za učitavanje operativnog sistema, čime se uređaj vraća na fabričke postavke. Nakon što se uređaj uspješno pokrene u Androidu, onemogućite OEM otključavanje u Opcijama za programere."</string>
+ <string name="confirm_enable_4k_pages_text" msgid="155070605667160083">"Nalazite se u načinu rada neovisnom o veličini stranice s jezgrom od 16 kB i prebacujete se u način rada od 4 kB. Integritet softvera se ne može garantirati u ovom načinu rada i svi podaci pohranjeni na telefonu dok je program za učitavanje operativnog sistema otključan bi mogli biti izloženi riziku. To će ponovo pokrenuti uređaj. Neke funkcije će biti onemogućene u ovim načinima rada, pa neke aplikacije možda neće funkcionirati. Da vratite uređaj u proizvodni način rada, morate zaključati program za učitavanje operativnog sistema, čime se uređaj vraća na fabričke postavke. Nakon što se uređaj uspješno pokrene u Androidu, onemogućite OEM otključavanje u Opcijama za programere."</string>
<string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Ažuriranje jezgre u jezgru kompatibilnu sa stranicama od 16 kB nije uspjelo."</string>
<string name="progress_16k_ota_title" msgid="2117218313875523741">"Primjena promjene"</string>
<string name="confirm_format_ext4_title" msgid="6696191800594435577">"Reformatirati uređaj na ext4? (potrebno je za način rada od 16 kB)"</string>
- <string name="confirm_format_ext4_text" msgid="7940372488624630214">"Particiju s podacima na uređaju treba konvertirati u ext4 prije korištenja opcije za programere sa 16 kB. Integritet softvera se ne može garantirati u ovom načinu rada i svi podaci pohranjeni na telefonu dok je program za učitavanje operativnog sistema otključan bi mogli biti izloženi riziku. Aktiviranje opcije sa 16 kB zahtijevat će još jedno ponovno pokretanje nakon toga. Kada ste u ovom načinu rada, možete se prebacivati iz načina rada od 4 kB u način rada od 16 kB jednim ponovnim pokretanjem. Neke funkcije će biti onemogućene u ovim načinima, pa neke aplikacije možda neće funkcionirati. Da vratite uređaj u proizvodni način rada, trebate se vratiti u način rada od 4 kB a zatim zaključati program za učitavanje operativnog sistema, čime se uređaj vraća na fabričke postavke. Nakon što se uređaj uspješno pokrene u Androidu, onemogućite OEM otključavanje u Opcijama za programere. Podaci na uređaju će se uništiti, a sistem fajlova promijeniti u ext4 nakon potvrde. Nakon što se to završi, vratite se da ponovo omogućite 16 kB."</string>
+ <string name="confirm_format_ext4_text" msgid="7940372488624630214">"Particiju s podacima na uređaju treba konvertirati u ext4 prije korištenja opcije za programere sa 16 kB. Integritet softvera se ne može garantirati u ovom načinu rada i svi podaci pohranjeni na telefonu dok je program za učitavanje operativnog sistema otključan bi mogli biti izloženi riziku. Aktiviranje opcije sa 16 kB zahtijevat će još jedno ponovno pokretanje nakon toga. Kada ste u ovom načinu rada, možete se prebacivati iz načina rada od 4 kB u način rada od 16 kB jednim ponovnim pokretanjem. Neke funkcije će biti onemogućene u ovim načinima rada, pa neke aplikacije možda neće funkcionirati. Da vratite uređaj u proizvodni način rada, trebate se vratiti u način rada od 4 kB a zatim zaključati program za učitavanje operativnog sistema, čime se uređaj vraća na fabričke postavke. Nakon što se uređaj uspješno pokrene u Androidu, onemogućite OEM otključavanje u Opcijama za programere. Podaci na uređaju će se uništiti, a sistem fajlova promijeniti u ext4 nakon potvrde. Nakon što se to završi, vratite se da ponovo omogućite 16 kB."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Potpuno izbriši sve podatke"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Reformatiranje i uništavanje podataka na particiji s podacima za ext4 nije uspjelo."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Potrebno je otključavanje programa za učitavanje operativnog sistema za način rada od 16 kB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Potrebno je otključavanje programa za učitavanje operativnog sistema"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Na ovom uređaju program za učitavanje operativnog sistema treba biti otključan prije korištenja opcije za programere sa 16 kB. Integritet softvera se ne može garantirati u ovom načinu rada i svi podaci pohranjeni na telefonu dok je program za učitavanje operativnog sistema otključan bi mogli biti izloženi riziku. Svi korisnički podaci i postavke će biti izbrisani kada se aktivira način rada od 16 kB. Kada se program za učitavanje operativnog sistema otključa, aktiviranje opcije od 16 kB zahtijevat će dva ponovna pokretanja. Kada ste u ovom načinu rada, možete se prebacivati iz načina rada od 4 kB u način rada od 16 kB jednim ponovnim pokretanjem. Neke funkcije će biti onemogućene u ovim načinima rada, pa neke aplikacije možda neće funkcionirati. Da vratite uređaj u proizvodni način rada, trebate vratiti u način rada od 4 kB a zatim zaključati OEM/program za učitavanje operativnog sistema (čime se uređaj vraća na fabričke postavke). Otključajte program za učitavanje operativnog sistema i pokušajte ponovo. Uputstva za ovo potražite na <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Korištenje načina rada od 4 kB neovisnog o veličini stranice"</string>
- <string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"U načinu ste rada od 4 kB neovisnom o veličini stranice. Integritet softvera se ne može garantirati u ovom načinu rada i svi podaci pohranjeni na telefonu dok je program za učitavanje operativnog sistema otključan bi mogli biti izloženi riziku. Neke funkcije će biti onemogućene u ovim načinima, pa neke aplikacije možda neće funkcionirati. Da ponovo uđete u proizvodni način rada, morate zaključati program za učitavanje operativnog sistema na uređaju. Dodirnite da pročitate više."</string>
- <string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"U načinu ste rada od 4 kB neovisnom o veličini stranice. Integritet softvera se ne može garantirati u ovom načinu rada i svi podaci pohranjeni na telefonu dok je program za učitavanje operativnog sistema otključan bi mogli biti izloženi riziku. Neke funkcije će biti onemogućene u ovim načinima, pa neke aplikacije možda neće funkcionirati. Da ponovo uđete u proizvodni način rada, morate zaključati program za učitavanje operativnog sistema na uređaju. To će ponovo vratiti uređaj na fabričke postavke i vratiti proizvodne postavke. Nakon što se uređaj uspješno pokrene u Androidu, onemogućite OEM otključavanje u Opcijama za programere. Ako se uređaj ne pokrene u Androidu ili ako je nestabilan, reprogramirajte uređaj najnovijim fabričkim slikama sa <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ili upotrijebite <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> i odaberite \"Uništi sve podatke na uređaju\"\', \"Zaključaj program za učitavanje operativnog sistema\" i \"Prisilno programiraj sve particije\"."</string>
+ <string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"U načinu ste rada od 4 kB neovisnom o veličini stranice. Integritet softvera se ne može garantirati u ovom načinu rada i svi podaci pohranjeni na telefonu dok je program za učitavanje operativnog sistema otključan bi mogli biti izloženi riziku. Neke funkcije će biti onemogućene u ovim načinima rada, pa neke aplikacije možda neće funkcionirati. Da ponovo uđete u proizvodni način rada, morate zaključati program za učitavanje operativnog sistema na uređaju. Dodirnite da pročitate više."</string>
+ <string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"U načinu ste rada od 4 kB neovisnom o veličini stranice. Integritet softvera se ne može garantirati u ovom načinu rada i svi podaci pohranjeni na telefonu dok je program za učitavanje operativnog sistema otključan bi mogli biti izloženi riziku. Neke funkcije će biti onemogućene u ovim načinima rada, pa neke aplikacije možda neće funkcionirati. Da ponovo uđete u proizvodni način rada, morate zaključati program za učitavanje operativnog sistema na uređaju. To će ponovo vratiti uređaj na fabričke postavke i vratiti proizvodne postavke. Nakon što se uređaj uspješno pokrene u Androidu, onemogućite OEM otključavanje u Opcijama za programere. Ako se uređaj ne pokrene u Androidu ili ako je nestabilan, reprogramirajte uređaj najnovijim fabričkim slikama sa <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ili upotrijebite <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> i odaberite \"Uništi sve podatke na uređaju\"\', \"Zaključaj program za učitavanje operativnog sistema\" i \"Prisilno programiraj sve particije\"."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Korištenje načina rada od 16 kB neovisnog o veličini stranice"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"U načinu ste rada od 16 kB neovisnom o veličini stranice. Integritet softvera se ne može garantirati u ovom načinu rada i svi podaci pohranjeni na telefonu dok je program za učitavanje operativnog sistema otključan bi mogli biti izloženi riziku. Neke funkcije će biti onemogućene u ovim načinima, pa neke aplikacije možda neće funkcionirati. Da ponovo uđete u proizvodni način rada, morate se vratiti u način rada od 4 kB i zatim zaključati program za učitavanje operativnog sistema na uređaju. Dodirnite da pročitate više."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"U načinu ste rada od 16 kB neovisnom o veličini stranice. Integritet softvera se ne može garantirati u ovom načinu rada i svi podaci pohranjeni na telefonu dok je program za učitavanje operativnog sistema otključan bi mogli biti izloženi riziku. Neke funkcije će biti onemogućene u ovim načinima, pa neke aplikacije možda neće funkcionirati. Da ponovo uđete u proizvodni način rada, morate se vratiti u način rada od 4K i zatim otključati program za učitavanje operativnog sistema na uređaju. To će ponovo vratiti uređaj na fabričke postavke i vratiti proizvodne postavke. Nakon što se uređaj uspješno pokrene u Androidu, onemogućite OEM otključavanje u Opcijama za programere. Ako se uređaj ne pokrene u Androidu ili ako je nestabilan, reprogramirajte uređaj najnovijim fabričkim slikama sa <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ili upotrijebite <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> i odaberite \"Uništi sve podatke na uređaju\"\', \"Zaključaj program za učitavanje operativnog sistema\" i \"Prisilno programiraj sve particije\"."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"U načinu ste rada od 16 kB neovisnom o veličini stranice. Integritet softvera se ne može garantirati u ovom načinu rada i svi podaci pohranjeni na telefonu dok je program za učitavanje operativnog sistema otključan bi mogli biti izloženi riziku. Neke funkcije će biti onemogućene u ovim načinima rada, pa neke aplikacije možda neće funkcionirati. Da ponovo uđete u proizvodni način rada, morate se vratiti u način rada od 4 kB i zatim otključati program za učitavanje operativnog sistema na uređaju. Dodirnite da pročitate više."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"U načinu ste rada od 16 kB neovisnom o veličini stranice. Integritet softvera se ne može garantirati u ovom načinu rada i svi podaci pohranjeni na telefonu dok je program za učitavanje operativnog sistema otključan bi mogli biti izloženi riziku. Neke funkcije će biti onemogućene u ovim načinima rada, pa neke aplikacije možda neće funkcionirati. Da ponovo uđete u proizvodni način rada, morate se vratiti u način rada od 4 kB i zatim otključati program za učitavanje operativnog sistema na uređaju. To će ponovo vratiti uređaj na fabričke postavke i vratiti proizvodne postavke. Nakon što se uređaj uspješno pokrene u Androidu, onemogućite OEM otključavanje u Opcijama za programere. Ako se uređaj ne pokrene u Androidu ili ako je nestabilan, reprogramirajte uređaj najnovijim fabričkim slikama sa <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ili upotrijebite <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> i odaberite \"Uništi sve podatke na uređaju\"\', \"Zaključaj program za učitavanje operativnog sistema\" i \"Prisilno programiraj sve particije\"."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Način rada od 16 kB neovisan o veličini stranice"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Pročitajte više"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Obrađivač izvještaja o greškama"</string>
@@ -5008,7 +5072,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Koristi kačenje aplikacije"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Koristi opcije za programere"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Koristi uslugu štampanja"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Dozvoli više korisnika"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"dozvoliti, višestruko, korisnik, dopustiti, mnogo"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"više, korisnici, profili, osobe, računi, promjena, mnogo"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Koristi bežično otklanjanje grešaka"</string>
@@ -5122,8 +5187,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Odaberite šta će se prikazivati na ekranu kada je tablet na priključnoj stanici. Uređaj može trošiti više energije kada se koristi čuvar ekrana."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Prilagodite"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Prilagodite <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Potrebno je ponovno pokretanje da se omogući podrška za slobodni oblik."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Potrebno je ponovno pokretanje da se nametne način rada računara na sekundarnim ekranima."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Potrebno je ponovno pokretanje da se omogući podrška za stare prilagodljive prozore."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Potrebno je ponovno pokretanje da se promijeni podrška za prilagodljive prozore."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Potrebno je ponovno pokretanje da se nametnu prilagodljivi prozori na sekundarnim ekranima."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Ponovo pokreni sada"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Ponovo pokreni kasnije"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Prostorni zvuk"</string>
@@ -5352,4 +5418,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Slušajte prijenos"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Skenirajte QR kôd prijenosa zvuka da slušate s uređaja <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Nije moguće urediti lozinku tokom dijeljenja. Da promijenite lozinku, prvo isključite dijeljenje zvuka."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-ca/arrays.xml b/res/values-ca/arrays.xml
index 730ab35..baae348 100644
--- a/res/values-ca/arrays.xml
+++ b/res/values-ca/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Hora de dormir"</item>
+ <item msgid="4152450357280759894">"Conducció"</item>
+ <item msgid="7096549258219399423">"Immersiu"</item>
+ <item msgid="2760716776980432977">"Gestionat"</item>
+ <item msgid="601734478369121764">"Estrella"</item>
+ <item msgid="6243809315432780521">"Calendari"</item>
+ <item msgid="4913577903148415331">"Hora"</item>
+ <item msgid="3653377604690057780">"Teatre"</item>
+ <item msgid="3843711267408385410">"Flor"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index aacebe0..6cb6f99 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Configuració de l\'audiòfon"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Drecera, compatibilitat amb audiòfons"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Valors predefinits"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"L\'audiòleg no ha programat cap valor predefinit"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"No s\'ha pogut actualitzar el valor predefinit"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Sortida d\'àudio"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Sobre la sortida d\'àudio"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Cara i <xliff:g id="WATCH">%s</xliff:g> afegits"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Cara, empremta digital i <xliff:g id="WATCH">%s</xliff:g> afegits"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Empremtes digitals, cara i <xliff:g id="WATCH">%s</xliff:g> afegits"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Aquesta acció és necessària perquè la comprovació de la identitat està activada"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Desbloqueig de Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Rellotge afegit"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Configura el rellotge"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Més informació sobre Desbloqueig amb rellotge"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Afegeix un rellotge"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Suprimeix el rellotge"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Desbloqueig facial i amb empremta digital"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Desbloqueig facial i amb empremta digital"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Desbloqueig facial i amb empremta digital per a la feina"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Cal fer la configuració"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Cara i empremtes digitals afegides"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Instal·la aplicacions"</b>\n"Instal·la aplicacions que vulguis mantenir privades a l\'espai"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Nota important"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Les aplicacions s\'aturen quan bloqueges l\'espai"</b>\n"Quan bloquegis l\'espai, les aplicacions de l\'espai s\'aturaran i no en rebràs notificacions"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Els espais privats no són adequats per a les aplicacions que necessiten executar-se en segon pla o enviar notificacions crítiques, com ara aplicacions de medicina. Això és perquè les notificacions i l\'activitat en segon pla s\'aturen quan l\'espai es bloqueja.\n\nLes aplicacions del teu espai privat no apareixeran al gestor de permisos, al tauler de privadesa ni en altres opcions de configuració quan l\'espai privat estigui bloquejat.\n\nL\'espai privat no es pot moure a un dispositiu nou. Caldrà que configuris un altre espai privat si el vols utilitzar en un altre dispositiu.\n\nQualsevol persona que connecti el teu dispositiu a un ordinador o instal·li aplicacions perjudicials al teu dispositiu podria accedir a l\'espai privat."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Els espais privats no són adequats per a les aplicacions que necessiten executar-se en segon pla o enviar notificacions crítiques, com ara aplicacions de medicina. Això és perquè les notificacions i l\'activitat en segon pla s\'aturen quan l\'espai es bloqueja.\n\nLes aplicacions del teu espai privat no apareixeran al gestor de permisos, al tauler de privadesa ni en altres opcions de configuració quan l\'espai privat estigui bloquejat.\n\nL\'espai privat no es pot restaurar en un dispositiu nou. Hauràs de configurar un altre espai si vols utilitzar-lo en un dispositiu diferent.\n\nÉs possible que qualsevol persona que connecti el teu dispositiu a un ordinador o que instal·li aplicacions malicioses al dispositiu pugui accedir a l\'espai privat."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Més informació sobre l\'espai privat"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Aquesta acció tardarà una estona"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"S\'està configurant l\'espai privat…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Vols reiniciar el dispositiu?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"El registre detallat de l\'NFC només està indicat per a activitats de desenvolupament. Les dades de l\'NFC addicionals estan incloses als informes d\'errors, que poden contenir informació privada. Reinicia el dispositiu per canviar aquesta configuració."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Reinicia"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Emet"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"duplicar"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Activa pantalla sense fil"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptatius"</string>
<string name="brightness" msgid="6216871641021779698">"Nivell de brillantor"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Brillantor adaptativa"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Sobre la brillantor adaptativa"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"La brillantor de la pantalla s\'ajustarà automàticament al teu entorn i a la teva activitat. Pots moure el control lliscant manualment perquè la brillantor adaptativa aprengui les teves preferències."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Activat"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Desactivat"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Opcions"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibilitat"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Teclat físic"</string>
- <string name="show_ime" msgid="4334255501724746849">"Utilitza el teclat en pantalla"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Mantén-lo en pantalla mentre el teclat físic està actiu"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Tecles de rebot"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"El teclat ignora les pulsacions repetides ràpidament de la mateixa tecla en un interval de <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Tecles lentes"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Seleccionat per l\'usuari: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Parla"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Velocitat del punter"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Controlador de joc"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Redirigeix la vibració"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Envia la vibració al controlador de joc quan estigui connectat"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continua igualment"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancel·la"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Configuració de l\'ampliació"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Desplaçament amb un dit"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Mou la lupa amb 1 dit"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Arrossega 1 dit per moure\'t per la pantalla"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Mou l\'àrea d\'ampliació arrossegant un dit."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Mou l\'àrea d\'ampliació arrossegant dos dits."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"No està disponible mentre només s\'amplia una part de la pantalla"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Toca un botó per fer zoom"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Amplia la pantalla ràpidament per engrandir el contingut"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Per ampliar</b>:<br/> {0,number,integer}. Utilitza la drecera per iniciar l\'ampliació.<br/> {1,number,integer}. Toca la pantalla.<br/> {2,number,integer}. Arrossega 2 dits per moure\'t per la pantalla.<br/> {3,number,integer}. Pinça amb 2 dits per ajustar el zoom.<br/> {4,number,integer}. Utilitza la drecera per aturar l\'ampliació.<br/><br/> <b>Per ampliar temporalment</b>:<br/> {0,number,integer}. Assegura\'t que el tipus d\'ampliació estigui definit com a pantalla completa.<br/> {1,number,integer}. Utilitza la drecera per iniciar l\'ampliació.<br/> {2,number,integer}. Mantén premut qualsevol punt de la pantalla.<br/> {3,number,integer}. Arrossega un dit per moure\'t per la pantalla.<br/> {4,number,integer}. Aixeca el dit per aturar l\'ampliació."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Per ampliar</b>:<br/> {0,number,integer}. Utilitza una drecera per iniciar l\'ampliació.<br/> {1,number,integer}. Toca la pantalla.<br/> {2,number,integer}. Arrossega 2 dits per moure\'t per la pantalla.<br/> {3,number,integer}. Pinça amb 2 dits per ajustar el zoom.<br/> {4,number,integer}. Utilitza la drecera per aturar l\'ampliació.<br/><br/> També pots ampliar temporalment i més."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Per ampliar</b>:<br/> {0,number,integer}. Utilitza una drecera per iniciar l\'ampliació.<br/> {1,number,integer}. Toca la pantalla.<br/> {2,number,integer}. Arrossega 1 o 2 dits per moure\'t per la pantalla.<br/> {3,number,integer}. Pinça amb 2 dits per ajustar el zoom.<br/> {4,number,integer}. Utilitza la drecera per aturar l\'ampliació.<br/><br/> També pots ampliar temporalment i més."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Quan l\'opció d\'ampliació està activada, pots ampliar la pantalla.\n\n"<b>"Per ampliar-la"</b>", activa l\'opció i toca qualsevol punt de la pantalla.\n"<ul><li>"Arrossega dos o més dits per desplaçar-te."</li>\n<li>"Pinça amb dos o més dits per ajustar el zoom."</li></ul>\n\n<b>"Per fer zoom temporalment"</b>", activa l\'ampliació i mantén premut qualsevol punt de la pantalla.\n"<ul><li>"Arrossega per moure\'t per la pantalla."</li>\n<li>"Aixeca el dit per allunyar la pantalla."</li></ul>\n\n"No es pot ampliar el teclat ni la barra de navegació."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Pàgina <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> de <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Drecera del botó d\'accessibilitat"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Rep notificacions només de persones i aplicacions importants"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Selecciona el tipus d\'activació"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Hora"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Exemple: \"De 9:30 a 17 h\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Calendari"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Exemple: \"Calendari personal\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Crea un mode"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Personalitzat"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Restringeix les interrupcions"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activa el mode No molestis"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Les alarmes i els sons multimèdia poden interrompre"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Programacions"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Suprimeix les programacions"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Suprimeix"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Edita"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Programacions"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Programació"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Defineix una programació"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Programa"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Activa automàticament"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Programació"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Silencia en hores concretes"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Defineix les regles de No molestis"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Permet les interrupcions sonores"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Bloqueja interrupcions visuals"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Permet senyals visuals"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Notificacions que et poden arribar"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Concentra\'t"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Accions addicionals"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Configuració de la pantalla"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Opcions de pantalla"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"activa el tema fosc"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Canvia l\'SO i les aplicacions perquè prioritzin el text clar sobre fons fosc, que pot ser millor per a la vista i suposa un estalvi de bateria important en alguns dispositius"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{No hi ha cap canvi a la pantalla}=1{{effect_1}}=2{{effect_1} i {effect_2}}=3{{effect_1}, {effect_2} i {effect_3}}other{{effect_1}, {effect_2} i # més}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filtra interrupcions"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"No es filtra cap interrupció"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opcions de pantalla per a les notificacions filtrades"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Quan el mode No molestis estigui activat"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Notificacions sense so"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"obre la notificació"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Permet posposar les notificacions"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Punt de notificació a la icona de l\'aplicació"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Paquets de notificacions"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Bombolles"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bombolles"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Mostra aquesta conversa com a bombolla"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Categories"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Altres"</string>
<string name="no_channels" msgid="4716199078612071915">"Aquesta aplicació no ha publicat cap notificació"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Mostra les categories no utilitzades"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Opcions de configuració addicionals a l\'aplicació"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Mostra les categories no utilitzades"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Amaga les categories no utilitzades"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Tot"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permet que les aplicacions ignorin el mode No molestis"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplicacions que poden interrompre"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Selecciona més aplicacions"</string>
@@ -4284,7 +4346,7 @@
<string name="system_navigation_title" msgid="4890381153527184636">"Mode de navegació"</string>
<string name="swipe_up_to_switch_apps_title" msgid="6677266952021118342">"Navegació amb 2 botons"</string>
<string name="swipe_up_to_switch_apps_summary" msgid="1415457307836359560">"Per canviar d\'aplicació, fes lliscar cap amunt el botó d\'inici. Per veure totes les aplicacions, torna a lliscar cap amunt. Per tornar enrere, toca el botó Enrere."</string>
- <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Seguretat i emergència"</string>
+ <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Seguretat personal i emergència"</string>
<string name="emergency_dashboard_summary" msgid="401033951074039302">"Emergència SOS, informació mèdica, alertes"</string>
<string name="edge_to_edge_navigation_title" msgid="714427081306043819">"Navegació amb gestos"</string>
<string name="edge_to_edge_navigation_summary" msgid="818109176611921504">"Per anar a l\'inici, llisca cap amunt des de la part inferior de la pantalla. Per canviar d\'aplicació, llisca cap amunt des de la part inferior, mantén premut i deixa anar. Per tornar enrere, llisca des de la vora esquerra o dreta."</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Funda"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Bateria"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Tauler de configuració"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Força el mode d\'escriptori"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Força el mode d\'escriptori experimental en pantalles secundàries"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Activa les finestres de format lliure"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Activa la compatibilitat amb les finestres de format lliure."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Activa finestres format lliure en pantalla secund."</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Activa les finestres de format lliure només a la pantalla secundària."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Activa la mida no ajustable al mode multifinestra"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Permet les aplicacions de mida no ajustable al mode multifinestra"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Anul·la forçar el mode fosc"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"La partició de dades d\'aquest dispositiu s\'ha de convertir al format ext4 abans d\'utilitzar l\'opció per a desenvolupadors de 16 kB. No es pot garantir la integritat del programari en aquest mode, i les dades que estiguin emmagatzemades al dispositiu mentre el bootloader està desbloquejat poden estar en perill. Per activar l\'opció de 16 kB, caldrà que el dispositiu es reiniciï una vegada més. Quan estiguis en aquest mode, podràs alternar entre el mode de 4 kB i el mode de 16 kB amb un sol reinici. Com que es desactivaran algunes funcions en aquests modes, és possible que algunes aplicacions no funcionin. Per fer que el dispositiu torni al mode de producció, hauràs de tornar al mode de 4 kB i, a continuació, bloquejar el bootloader, que restablirà les dades de fàbrica del dispositiu. Quan el dispositiu s\'iniciï a Android correctament, desactiva el desbloqueig OEM a Opcions per a desenvolupadors. Es netejaran les dades del dispositiu i el sistema de fitxers es canviarà al format ext4 després de la confirmació. Quan es completi aquesta acció, torna i activa el mode de 16 kB de nou."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Esborra totes les dades"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"No s\'ha pogut canviar el format a ext4 ni netejar-ne la partició de dades."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Es requereix el desbloqueig del bootloader per al mode de 16 kB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Es requereix el desbloqueig del bootloader"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Aquest dispositiu ha de tenir el bootloader desbloquejat abans d\'utilitzar l\'opció per a desenvolupadors de 16 kB. No es pot garantir la integritat del programari en aquest mode, i les dades que estiguin emmagatzemades al dispositiu mentre el bootloader està desbloquejat poden estar en perill. En activar el mode de 16 kB, es netejaran totes les dades d\'usuari i opcions de configuració. Quan s\'hagi desbloquejat el bootloader, caldrà que el dispositiu es reiniciï dues vegades per activar l\'opció de 16 kB. Quan estiguis en aquest mode, podràs alternar entre el mode de 4 kB i el mode de 16 kB amb un sol reinici. Com que es desactivaran algunes funcions en aquests modes, és possible que algunes aplicacions no funcionin. Per fer que el dispositiu torni al mode de producció, hauràs de tornar al mode de 4 kB i, a continuació, bloquejar l\'OEM o el bootloader, que restablirà les dades de fàbrica del dispositiu. Desbloqueja el bootloader i torna-ho a provar. Pots consultar les instruccions per fer-ho a <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"S\'està utilitzant el mode independent de la pàgina de 4 kB"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Estàs utilitzant l\'opció de 4 kB del mode independent de la pàgina. No es pot garantir la integritat del programari en aquest mode, i les dades que estiguin emmagatzemades al dispositiu mentre el bootloader està desbloquejat poden estar en perill. Com que es desactivaran algunes funcions en aquests modes, és possible que algunes aplicacions no funcionin. Per tornar a entrar al mode de producció, has de bloquejar el bootloader del dispositiu. Toca per obtenir més informació."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Estàs utilitzant l\'opció de 4 kB del mode independent de la pàgina. No es pot garantir la integritat del programari en aquest mode, i les dades que estiguin emmagatzemades al dispositiu mentre el bootloader està desbloquejat poden estar en perill. Com que es desactivaran algunes funcions en aquests modes, és possible que algunes aplicacions no funcionin. Per tornar a entrar al mode de producció, has de bloquejar el bootloader del dispositiu. Aquesta acció tornarà a restablir les dades de fàbrica del dispositiu i en restaurarà la configuració de producció. Quan el dispositiu s\'iniciï a Android correctament, desactiva el desbloqueig OEM a Opcions per a desenvolupadors. Si el dispositiu no es pot iniciar a Android o és inestable, torna a instal·lar-hi les darreres imatges de fàbrica des de <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> o utilitza <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> i selecciona Neteja el dispositiu, Bloqueja el bootloader i Força la instal·lació de totes les particions."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"S\'està utilitzant el mode independent de la pàgina de 16 kB"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Estàs utilitzant l\'opció de 16 kB del mode independent de la pàgina. No es pot garantir la integritat del programari en aquest mode, i les dades que estiguin emmagatzemades al dispositiu mentre el bootloader està desbloquejat poden estar en perill. Com que es desactivaran algunes funcions en aquests modes, és possible que algunes aplicacions no funcionin. Per entrar al mode de producció de nou, has de tornar al mode de 4 kB i, a continuació, bloquejar el bootloader del dispositiu. Toca per obtenir més informació."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Estàs utilitzant l\'opció de 16 kB del mode independent de la pàgina. No es pot garantir la integritat del programari en aquest mode, i les dades que estiguin emmagatzemades al dispositiu mentre el bootloader està desbloquejat poden estar en perill. Com que es desactivaran algunes funcions en aquests modes, és possible que algunes aplicacions no funcionin. Per entrar al mode de producció de nou, has de tornar al mode de 4 kB i, a continuació, bloquejar el bootloader del dispositiu. Aquesta acció tornarà a restablir les dades de fàbrica del dispositiu i en restaurarà la configuració de producció. Quan el dispositiu s\'iniciï a Android correctament, desactiva el desbloqueig OEM a Opcions per a desenvolupadors. Si el dispositiu no es pot iniciar a Android o és inestable, torna a instal·lar-hi les darreres imatges de fàbrica des de <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> o utilitza <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> i selecciona Neteja el dispositiu, Bloqueja el bootloader i Força la instal·lació de totes les particions."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Estàs utilitzant l\'opció de 16 kB del mode independent de la pàgina. No es pot garantir la integritat del programari en aquest mode, i les dades que estiguin emmagatzemades al dispositiu mentre el bootloader està desbloquejat poden estar en perill. Com que es desactivaran algunes funcions en aquests modes, és possible que algunes aplicacions no funcionin. Per entrar al mode de producció de nou, has de tornar al mode de 4 kB i, a continuació, bloquejar el bootloader del dispositiu. Toca per obtenir més informació."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Estàs utilitzant l\'opció de 16 kB del mode independent de la pàgina. No es pot garantir la integritat del programari en aquest mode, i les dades que estiguin emmagatzemades al dispositiu mentre el bootloader està desbloquejat poden estar en perill. Com que es desactivaran algunes funcions en aquests modes, és possible que algunes aplicacions no funcionin. Per entrar al mode de producció de nou, has de tornar al mode de 4 kB i, a continuació, bloquejar el bootloader del dispositiu. Aquesta acció tornarà a restablir les dades de fàbrica del dispositiu i en restaurarà la configuració de producció. Quan el dispositiu s\'iniciï a Android correctament, desactiva el desbloqueig OEM a Opcions per a desenvolupadors. Si el dispositiu no es pot iniciar a Android o és inestable, torna a instal·lar-hi les darreres imatges de fàbrica des de <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> o utilitza <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> i selecciona Neteja el dispositiu, Bloqueja el bootloader i Força la instal·lació de totes les particions."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Mode independent de la pàgina de 16 kB"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Més informació"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Gestor d\'informes d\'errors"</string>
@@ -5007,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Utilitza la fixació d\'aplicacions"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Utilitza les opcions per a desenvolupadors"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Utilitza el servei d\'impressió"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Permet diversos usuaris"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"permet, múltiple, usuari, permís, diversos"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"diversos, usuaris, perfils, persones, comptes, canviar, molts"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Utilitza la depuració sense fil"</string>
@@ -5121,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Tria què vols veure a la pantalla quan la tauleta estigui acoblada. És possible que el dispositiu utilitzi més energia si es fa servir un estalvi de pantalla."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Personalitza"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Personalitza <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Cal reiniciar per activar la compatibilitat amb la forma lliure."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Cal reiniciar per forçar el mode d\'escriptori en pantalles secundàries."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Cal reiniciar per activar la compatibilitat amb les finestres de format lliure heretades."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Cal reiniciar per canviar la compatibilitat amb les finestres de format lliure."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Cal reiniciar per forçar les finestres de format lliure en pantalles secundàries."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reinicia ara"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reinicia més tard"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Àudio espacial"</string>
@@ -5351,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Escolta el flux d\'àudio"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Escaneja el codi QR d\'un flux d\'àudio per escoltar-lo amb <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"No es pot editar la contrasenya durant la compartició. Per canviar-la, primer desactiva la compartició d\'àudio."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-cs/arrays.xml b/res/values-cs/arrays.xml
index 212c705..990b636 100644
--- a/res/values-cs/arrays.xml
+++ b/res/values-cs/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Večerka"</item>
+ <item msgid="4152450357280759894">"Jízda autem"</item>
+ <item msgid="7096549258219399423">"Pohlcující"</item>
+ <item msgid="2760716776980432977">"Spravováno"</item>
+ <item msgid="601734478369121764">"Hvězdička"</item>
+ <item msgid="6243809315432780521">"Kalendář"</item>
+ <item msgid="4913577903148415331">"Čas"</item>
+ <item msgid="3653377604690057780">"Divadlo"</item>
+ <item msgid="3843711267408385410">"Květina"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 16069b4..0b809ea 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Nastavení naslouchátek"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Zkratka, kompatibilita s naslouchátky"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Předvolba"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Váš audiolog žádné předvolby nenaprogramoval"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Předvolbu nelze aktualizovat"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Zvukový výstup"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Informace o zvukovém výstupu"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Obličej a hodinky <xliff:g id="WATCH">%s</xliff:g> byly přidány"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Obličej, otisk prstu a hodinky <xliff:g id="WATCH">%s</xliff:g> byly přidány"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Obličej, otisky prstů a hodinky <xliff:g id="WATCH">%s</xliff:g> byly přidány"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Je to potřeba, protože je zapnutá kontrola identity"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Odemknutí pomocí nástroje Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Hodinky byly přidány"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Nastavení hodinek"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Další informace o odemknutí pomocí hodinek"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Přidat hodinky"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Odstranit hodinky"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Odemknutí otiskem prstu nebo obličejem"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Odemknutí obličejem a otiskem prstu"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Odemknutí obličejem a otiskem prstu pro práci"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Nutné nastavení"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Byl přidán obličej a otisky prstů"</string>
@@ -575,7 +577,7 @@
<string name="private_space_new_lock_message" msgid="3117703578905489206">"Na další obrazovce budete muset zadat PIN, gesto nebo heslo zařízení"</string>
<string name="private_space_auto_lock_title" msgid="8663409382910601261">"Automaticky zamykat soukromý prostor"</string>
<string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Pokud zařízení nějakou dobu nepoužijete, soukromý prostor se může automaticky zamknout"</string>
- <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Vždy, když se zařízení zamkne"</string>
+ <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Vždy, když se zamkne zařízení"</string>
<string name="private_space_auto_lock_after_inactivity" msgid="7107814517866649733">"5 minut po vypnutí obrazovky"</string>
<string name="private_space_auto_lock_after_device_restart" msgid="288755768725895029">"Pouze po restartu zařízení"</string>
<string name="private_space_hide_page_title" msgid="3364639176511877414">"Skrýt soukromý prostor"</string>
@@ -610,14 +612,12 @@
<string name="private_space_hide_apps_summary" msgid="4418722947376042418">"Můžete si skrýt nebo uzamknout soukromé aplikace v odděleném prostoru. Vyhrazený účet Google zajistí lepší zabezpečení."</string>
<string name="private_space_setup_sub_header" msgid="550476876393954356">"Jak to funguje"</string>
<string name="private_space_separate_account_text" msgid="790319706810190320"><b>"Vytvořte si pro prostor účet Google"</b>\n"Když použijete vyhrazený účet, pomůže to předejít zobrazování synchronizovaných souborů, fotografií a e‑mailů mimo prostor"</string>
- <string name="private_space_protected_lock_text" msgid="9123250938334372735"><b>"Nastavte si zámek"</b>\n"Prostor můžete uzamknout, aby ho ostatní nemohli otevřít."</string>
+ <string name="private_space_protected_lock_text" msgid="9123250938334372735"><b>"Nastavte si zámek"</b>\n"Prostor můžete uzamknout, aby ho ostatní nemohli otevřít"</string>
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Nainstalujte aplikace"</b>\n"Nainstalujte aplikace, které chcete mít soukromé ve svém prostoru"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Upozornění"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Když prostor uzamknete, aplikace se zastaví"</b>\n"Když prostor uzamknete, aplikace v něm se zastaví a nebudete od nich dostávat oznámení"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Soukromé prostory nejsou vhodné pro aplikace, které potřebují běžet na pozadí nebo odesílat kritická upozornění (například lékařské aplikace). Oznámení a aktivita na pozadí se totiž při uzamčení prostoru zastaví.\n\nKdyž je soukromý prostor uzamčen, aplikace v soukromém prostoru se nezobrazují ve správci oprávnění, na panelu ochrany soukromí ani v dalších nastaveních.\n\nSoukromý prostor nelze přesunout do nového zařízení. Na novém zařízení bude nutné nastavit nový soukromý prostor.\n\nDo soukromého prostoru se může dostat kdokoli, kdo vaše zařízení připojí k počítači nebo nainstaluje škodlivé aplikace."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Soukromé prostory nejsou vhodné pro aplikace, které potřebují běžet na pozadí nebo odesílat kritická upozornění, jako jsou lékařské aplikace. Oznámení a aktivita na pozadí se totiž při uzamčení prostoru zastaví.\n\nKdyž je soukromý prostor uzamčen, aplikace v něm se nezobrazují ve správci oprávnění, na panelu ochrany soukromí ani v jiných nastaveních.\n\nSoukromý prostor nelze obnovit do nového zařízení. Pokud ho budete chtít používat na jiném zařízení, budete si na něm muset nastavit další prostor.\n\nDo soukromého prostoru se může dostat kdokoli, kdo zařízení připojí k počítači nebo do zařízení nainstaluje škodlivé aplikace."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Další informace o soukromém prostoru"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Bude to chvíli trvat"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Nastavování soukromého prostoru…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Restartovat zařízení?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Podrobné protokolování funkce NFC je určeno pouze pro účely vývoje. Další data funkce NFC budou zahrnuta ve zprávách o chybě, které mohou obsahovat soukromé informace. Pokud toto nastavení chcete změnit, restartujte zařízení."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Restartovat"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Odesílání"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"zrcadlení"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Povolit bezdrátové zobrazení"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptivní"</string>
<string name="brightness" msgid="6216871641021779698">"Úroveň jasu"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Adaptivní jas"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Informace o adaptivním jasu"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Jas obrazovky se automaticky přizpůsobí okolí a činnostem. Ručním posunutím posuvníku informujete funkci adaptivního jasu o svých preferencích."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Zapnuto"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Vypnuto"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Možnosti"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Přístupnost"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Fyzická klávesnice"</string>
- <string name="show_ime" msgid="4334255501724746849">"Použít softwarovou klávesnici"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Ponechat na obrazovce, když je aktivní fyzická klávesnice"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Ignorovat opakovaná stisknutí"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Klávesnice ignoruje opakovaná stisknutí jedné klávesy do <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Zpomalení kláves"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Vybrané uživatelem: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Řeč"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Rychlost kurzoru"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Herní ovladače"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Vibrace při přesměrování"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Odeslat vibrace do herního ovladače, je-li připojen"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Přesto pokračovat"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Zrušit"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Nastavení zvětšení"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Posouvání jedním prstem"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Jedním prstem lupu posunete"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Přetažením prstu se můžete pohybovat po obrazovce"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Oblast zvětšení posunete přetažením jedním prstem."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Oblast zvětšení posunete přetažením dvěma prsty."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Při zvětšení pouze části obrazovky není k dispozici"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Přiblížení zobrazení klepnutím na tlačítko"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Obrazovku si můžete rychle přiblížit, aby byl obsah větší."</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Přiblížení:</b><br/> {0,number,integer}. Zvětšení spusťte pomocí zkratky.<br/> {1,number,integer}. Klepněte na obrazovku.<br/> {2,number,integer}. Po obrazovce se pohybujte přetažením dvou prstů.<br/> {3,number,integer}. Přiblížení upravte stažením a roztažením dvou prstů.<br/> {4,number,integer}. Zvětšení ukončete pomocí zkratky.<br/><br/> <b>Dočasné přiblížení:</b><br/> {0,number,integer}. Zkontrolujte, zda je typ zvětšení nastaven na celou obrazovku.<br/> {1,number,integer}. Zvětšení spusťte pomocí zkratky.<br/> {2,number,integer}. Podržte jakékoli místo na obrazovce.<br/> {3,number,integer}. Po obrazovce se pohybujte přetažením prstu.<br/> {4,number,integer}. Zvětšení ukončete zvednutím prstu."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Přiblížení:</b><br/> {0,number,integer}. Použijte zkratku k zahájení zvětšování.<br/> {1,number,integer}. Klepněte na obrazovku.<br/> {2,number,integer}. Přetažením dvěma prsty se pohybujte po obrazovce.<br/> {3,number,integer}. Stažením a roztažením dvou prstů upravte přiblížení.<br/> {4,number,integer}. Pomocí zkratky zvětšení ukončete.<br/><br/> Můžete také obsah přiblížit dočasně a využít další funkce."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Přiblížení:</b><br/> {0,number,integer}. Použijte zkratku k zahájení zvětšování.<br/> {1,number,integer}. Klepněte na obrazovku.<br/> {2,number,integer}. Přetažením jedním nebo dvěma prsty se pohybujte po obrazovce.<br/> {3,number,integer}. Stažením a roztažením dvou prstů upravte přiblížení.<br/> {4,number,integer}. Pomocí zkratky zvětšení ukončete.<br/><br/> Můžete také obsah přiblížit dočasně a využít další funkce."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Když je zapnuté zvětšení, můžete přibližovat obsah na obrazovce.\n\n"<b>"Chcete-li obsah přiblížit"</b>", spusťte zvětšení a poté klepněte kamkoliv na obrazovku.\n"<ul><li>"Přetažením dvěma nebo více prsty můžete obsah posouvat."</li>\n<li>"Stažením nebo roztažením dvou či více prstů upravíte přiblížení."</li></ul>\n\n<b>"Chcete-li obsah přiblížit dočasně"</b>", spusťte zvětšení a poté se dotkněte libovolného místa na obrazovce a podržte ho.\n"<ul><li>"Přetažením se můžete pohybovat po obrazovce."</li>\n<li>"Zvednutím prstu zobrazení vrátíte do původního stavu."</li></ul>\n\n"Na klávesnici a navigačním panelu přiblížení není k dispozici."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Strana <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> z <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Zkratka tlačítka přístupnosti"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Přijímat pouze oznámení od důležitých lidí a z důležitých aplikací"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Vyberte typ aktivace"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Čas"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Příklad: 9:30–17:00"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Kalendář"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Příklad: Osobní kalendář"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Vytvoření režimu"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Vlastní"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Omezení vyrušení"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Zapněte funkci Nerušit"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Vyrušovat mohou budíky a zvuky médií"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Plány"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Smazat plány"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Smazat"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Upravit"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Plány"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Plán"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Přidejte kalendář"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Použít kalendář"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Plán"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Nastavení plánu"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Plán"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Zapnout automaticky"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Plán"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Ztlumit telefon v určitou dobu"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Nastavit pravidla režimu Nerušit"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Povolit vyrušení, která vydávají zvuk"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokovat vizuální vyrušení"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Povolit vizuální signály"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Oznámení, která se k vám mohou dostat"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Soustřeďte se"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Další akce"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Nastavení displeje"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Možnosti zobrazení"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"zapnout tmavý motiv"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Přepněte operační systém a aplikace tak, aby upřednostňovaly světlý text na tmavém pozadí. Může to být příjemnější pro oči a na některých zařízeních to výrazně šetří baterii"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Žádné změny zobrazení}=1{{effect_1}}=2{{effect_1} a {effect_2}}=3{{effect_1}, {effect_2} a {effect_3}}few{{effect_1}, {effect_2} a ještě #}many{{effect_1}, {effect_2} a ještě #}other{{effect_1}, {effect_2} a ještě #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filtrovat přerušení"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Žádná přerušení se nefiltrují"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Možnosti zobrazení filtrovaných oznámení"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Když je zapnutý režim Nerušit"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Oznámení bez zvukového upozornění"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"otevřít oznámení"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Povolit odložení oznámení"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Puntík s oznámením na ikoně aplikace"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Balíčky oznámení"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Bubliny"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubliny"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Zobrazovat tuto konverzaci jako bublinu"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Kategorie"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Jiné"</string>
<string name="no_channels" msgid="4716199078612071915">"Tato aplikace neodeslala žádná oznámení"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Zobrazit nepoužívané kategorie"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Další nastavení v aplikaci"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Zobrazit nepoužívané kategorie"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Skrýt nepoužívané kategorie"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Vše"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Povolit přepisování aplikací"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikace, které smí vyrušovat"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Vybrat další aplikace"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Na hodinu (tedy do {time}) přepnout do režimu Pouze budíky}few{Na # hodiny (tedy do {time}) přepnout do režimu Pouze budíky}many{Na # hodiny (tedy do {time}) přepnout do režimu Pouze budíky}other{Na # hodin (tedy do {time}) přepnout do režimu Pouze budíky}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Přepnout do režimu Pouze budíky až do <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Přejít do režimu Vždy vyrušit"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Přejmenovat"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Změnit ikonu"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Změnit ikonu"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Varování"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Zavřít"</string>
<string name="device_feedback" msgid="5351614458411688608">"Odeslat zpětnou vazbu o tomto zařízení"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Hlavní díl"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Baterie"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Panel nastavení"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Vynutit režim počítače"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Na sekundárních displejích vynutí experimentální režim počítače"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Aktivovat okna s volným tvarem"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Aktivuje podporu oken s volným tvarem."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Aktivovat okna s volným tvarem na druhém displeji"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Aktivuje okna s volným tvarem pouze na sekundárním displeji."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Aktivovat neměnnou velikost v režimu několika oken"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Povolí aplikace s neměnnou velikostí v režimu několika oken"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Přepsat vynucení tmavého režimu"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Před použitím 16KB možnosti pro vývojáře je potřeba převést datový oddíl tohoto zařízení na systém souborů ext4. V tomto režimu nelze zaručit integritu softwaru a veškerá data uložená v telefonu při odemknutém bootloaderu mohou být ohrožena. K aktivaci 16KB režimu pak bude potřeba zařízení restartovat ještě jednou. Po jeho aktivaci pak bude k přepnutí mezi 4KB a 16KB režimem stačit pouze jeden restart. Některé funkce budou v těchto režimech zakázány, takže některé aplikace nemusí fungovat. Pokud budete chtít zařízení vrátit do produkčního režimu, budete systém muset přepnout zpět do 4KB režimu a uzamknout bootloader, čímž zařízení resetujete do továrního nastavení. Až se systém Android v zařízení úspěšně spustí, vypněte v sekci Pro vývojáře možnost Odemknutí OEM. Po potvrzení se zařízení vymaže a systém souborů se změní na ext4. Po dokončení se vraťte a aktivujte 16KB režim znovu."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Vymazat všechna data"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Přeformátování na ext4 a nevratné vymazání datového oddílu se nezdařilo."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16KB režim vyžaduje odemknutí bootloaderu"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Je vyžadováno odemknutí bootloaderu"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"K použití možnosti 16KB režimu pro vývojáře musí mít zařízení odemknutý bootloader. V tomto režimu nelze zaručit integritu softwaru a veškerá data uložená v telefonu při odemknutém bootloaderu mohou být ohrožena. Při aktivaci 16KB režimu se vymažou všechna uživatelská data a nastavení. Po odemknutí bootloaderu bude aktivace 16KB režimu vyžadovat dva restarty. Po jeho aktivaci pak bude k přepnutí mezi 4KB a 16KB režimem stačit pouze jeden restart. Některé funkce budou v těchto režimech zakázány, takže některé aplikace nemusí fungovat. Pokud budete chtít zařízení vrátit do produkčního režimu, budete systém muset přepnout zpět do 4KB režimu a pak v něm deaktivovat odemknutí OEM / uzamknout bootloader (čímž zařízení resetujete do továrního nastavení). Odemkněte bootloader a zkuste to znovu. Pokyny, jak to provést, najdete na stránce <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Používáte 4KB stránkově agnostický režim"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Používáte 4KB verzi stránkově agnostického režimu. V tomto režimu nelze zaručit integritu softwaru a veškerá data uložená v telefonu při odemknutém bootloaderu mohou být ohrožena. Některé funkce budou v těchto režimech zakázány, takže některé aplikace nemusí fungovat. Pokud chcete znovu aktivovat produkční režim, musíte uzamknout bootloader zařízení. Další informace zobrazíte klepnutím."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Používáte 4KB verzi stránkově agnostického režimu. V tomto režimu nelze zaručit integritu softwaru a veškerá data uložená v telefonu při odemknutém bootloaderu mohou být ohrožena. Některé funkce budou v těchto režimech zakázány, takže některé aplikace nemusí fungovat. Pokud chcete znovu aktivovat produkční režim, musíte uzamknout bootloader zařízení. Tím zařízení znovu resetujete do továrního nastavení a obnovíte v něm produkční nastavení. Až se systém Android v zařízení úspěšně spustí, vypněte v sekci Pro vývojáře možnost Odemknutí OEM. Pokud se systém Android v zařízení nespustí nebo nebude stabilní, flashujte zařízení na nejnovější tovární obrazy ze stránky <a href=\"https://developers.google.com/android/images\">https://developers .google.com/android/images</a> nebo použijte nástroj <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> a vyberte Wipe Device (Vymazat zařízení), Lock Bootloader (Zamknout bootloader) a Force Flash all partitions (Flashovat všechny oddíly)."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Používáte 16KB stránkově agnostický režim"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Aktuálně používáte 16KB verzi stránkově agnostického režimu. V tomto režimu nelze zaručit integritu softwaru a veškerá data uložená v telefonu při odemknutém bootloaderu mohou být ohrožena. Některé funkce budou v těchto režimech zakázány, takže některé aplikace nemusí fungovat. Pokud chcete znovu aktivovat produkční režim, musíte přepnout zpět na 4KB režim a poté uzamknout bootloader zařízení. Další informace zobrazíte klepnutím."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Aktuálně používáte 16KB verzi stránkově agnostického režimu. V tomto režimu nelze zaručit integritu softwaru a veškerá data uložená v telefonu při odemknutém bootloaderu mohou být ohrožena. Některé funkce budou v těchto režimech zakázány, takže některé aplikace nemusí fungovat. Pokud chcete znovu aktivovat produkční režim, musíte přepnout zpět na 4KB režim a poté uzamknout bootloader zařízení. Tím zařízení znovu resetujete do továrního nastavení a obnovíte v něm produkční nastavení. Až se systém Android v zařízení úspěšně spustí, vypněte v sekci Pro vývojáře možnost Odemknutí OEM. Pokud se systém Android v zařízení nespustí nebo nebude stabilní, flashujte zařízení na nejnovější tovární obrazy ze stránky <a href=\"https://developers.google.com/android/images\">https://developers .google.com/android/images</a> nebo použijte nástroj <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> a vyberte Wipe Device (Vymazat zařízení), Lock Bootloader (Zamknout bootloader) a Force Flash all partitions (Flashovat všechny oddíly)."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Aktuálně používáte 16KB verzi stránkově agnostického režimu. V tomto režimu nelze zaručit integritu softwaru a veškerá data uložená v telefonu při odemknutém bootloaderu mohou být ohrožena. Některé funkce budou v těchto režimech zakázány, takže některé aplikace nemusí fungovat. Pokud chcete znovu aktivovat produkční režim, musíte přepnout zpět na 4KB režim a poté uzamknout bootloader zařízení. Další informace zobrazíte klepnutím."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Aktuálně používáte 16KB verzi stránkově agnostického režimu. V tomto režimu nelze zaručit integritu softwaru a veškerá data uložená v telefonu při odemknutém bootloaderu mohou být ohrožena. Některé funkce budou v těchto režimech zakázány, takže některé aplikace nemusí fungovat. Pokud chcete znovu aktivovat produkční režim, musíte přepnout zpět na 4KB režim a poté uzamknout bootloader zařízení. Tím zařízení znovu resetujete do továrního nastavení zařízení a obnovíte v něm produkční nastavení. Až se systém Android v zařízení úspěšně spustí, vypněte v sekci Pro vývojáře možnost Odemknutí OEM. Pokud se systém Android v zařízení nespustí nebo nebude stabilní, flashujte zařízení na nejnovější tovární obrazy ze stránky <a href=\"https://developers.google.com/android/images\">https://developers .google.com/android/images</a> nebo použijte nástroj <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> a vyberte Wipe Device (Vymazat zařízení), Lock Bootloader (Zamknout bootloader) a Force Flash all partitions (Flashovat všechny oddíly)."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16KB stránkově agnostický režim"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Další informace"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Nástroj pro zprávy o chybách"</string>
@@ -5015,7 +5073,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Používat připnutí aplikace"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Používat nastavení pro vývojáře"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Používat tiskovou službu"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Povolit více uživatelů"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"povolit, několik, uživatel, mnoho"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"několik, více, uživatelé, profily, lidé, účty, přepínání, mnoho"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Používat bezdrátové ladění"</string>
@@ -5129,8 +5188,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Určete, co chcete vídat na obrazovce, když je tablet v doku. Při používání spořiče obrazovky může mít zařízení vyšší spotřebu energie."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Přizpůsobit"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Přizpůsobit <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"K zapnutí podpory plovoucích oken je vyžadován restart."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"K vynucení režimu plochy na sekundárních displejích je vyžadován restart."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"K aktivování podpory starších oken s volným tvarem je potřeba restart."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Ke změně podpory oken s volným tvarem je potřeba restart."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"K vynucení oken s volným tvarem na sekundárních displejích je potřeba restart."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Restartovat hned"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Restartovat později"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Prostorový zvuk"</string>
@@ -5359,4 +5419,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Poslouchat stream"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Naskenujte QR kód zvukového streamu a poslouchejte na zařízení <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Heslo nelze upravit během sdílení. Pokud chcete změnit heslo, nejdříve vypněte sdílení zvuku."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-da/arrays.xml b/res/values-da/arrays.xml
index 6583dbe..39d41c2 100644
--- a/res/values-da/arrays.xml
+++ b/res/values-da/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Sengetid"</item>
+ <item msgid="4152450357280759894">"Kørsel"</item>
+ <item msgid="7096549258219399423">"Opslugende"</item>
+ <item msgid="2760716776980432977">"Administreret"</item>
+ <item msgid="601734478369121764">"Stjerne"</item>
+ <item msgid="6243809315432780521">"Kalender"</item>
+ <item msgid="4913577903148415331">"Tidspunkt"</item>
+ <item msgid="3653377604690057780">"Teater"</item>
+ <item msgid="3843711267408385410">"Blomst"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 38f753d..5f88fd7 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Indstillinger for høreapparat"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Genvej, høreapparatskompatibilitet"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Forindstilling"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Din audiolog har ingen forprogrammerede indstillinger"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Forindstillingen kunne ikke opdateres"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Lydudgang"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Om lydudgang"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Ansigt og <xliff:g id="WATCH">%s</xliff:g> er tilføjet"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Ansigt, fingeraftryk og <xliff:g id="WATCH">%s</xliff:g> er tilføjet"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Ansigt, fingeraftryk og <xliff:g id="WATCH">%s</xliff:g> er tilføjet"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Dette er påkrævet, da identitetstjek er aktiveret"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Oplåsning af Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Uret er tilføjet"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Konfigurer dit ur"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Få flere oplysninger om uroplåsning"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Tilføj ur"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Fjern ur"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Fingeraftryk og ansigtsoplåsning"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Ansigtsoplåsning og fingeroplåsning"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ansigtsoplåsning og fingeroplåsning til arbejdsprofil"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Konfiguration er påkrævet"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Ansigt og fingeraftryk er tilføjet"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Installer apps"</b>\n"Installer apps, du vil holde private i dit område"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Husk!"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Apps afbrydes, når du låser dit område"</b>\n"Hvis du låser dit område, afbrydes apps i området, og du modtager ikke notifikationer fra dem"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Private områder er ikke egnet til apps, der skal køre i baggrunden eller sende kritiske notifikationer, f.eks. medicinske apps. Dette skyldes, at notifikationer og baggrundsaktivitet stoppes, når dit område er låst.\n\nApps i dit private område vises ikke i Tilladelsesadministrator, privatlivspanelet eller andre indstillinger, når dit private område er låst.\n\nDu kan ikke flytte dit private område til en ny enhed. Du skal konfigurere et andet privat område, hvis du vil bruge det på en anden enhed.\n\nPersoner, der forbinder din enhed til en computer eller installerer skadelige apps på enheden, kan muligvis tilgå dit private område."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Private områder er ikke egnet til apps, der skal køre i baggrunden eller sende kritiske notifikationer, f.eks. medicinske apps. Dette skyldes, at notifikationer og baggrundsaktivitet stoppes, når dit område er låst.\n\nApps i dit private område vises ikke i Tilladelsesadministrator, privatlivspanelet eller andre indstillinger, når dit private område er låst.\n\nDu kan ikke gendanne dit private område på en ny enhed. Du skal konfigurere et andet område, hvis du vil bruge det på en anden enhed.\n\nPersoner, der forbinder din enhed til en computer eller installerer skadelige apps på enheden, kan muligvis tilgå dit private område."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Få flere oplysninger om privat område"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Det tager et øjeblik"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Konfigurerer et privat område…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Vil du genstarte enheden?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Detaljeret NFC-logging er kun beregnet til udvikling. Yderligere NFC-data inkluderes i fejlrapporter, som muligvis indeholder private oplysninger. Genstart enheden for at ændre denne indstilling."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Genstart"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Cast"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"spejl"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Aktivér trådløs skærm"</string>
@@ -1189,10 +1219,11 @@
<string name="color_mode_option_natural" msgid="6192875655101283303">"Naturlige"</string>
<string name="color_mode_option_boosted" msgid="4698797857766774289">"Forstærkede"</string>
<string name="color_mode_option_saturated" msgid="3413853820158447300">"Mættet"</string>
- <string name="color_mode_option_automatic" msgid="2281217686509980870">"Selvjusterende"</string>
+ <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptiv"</string>
<string name="brightness" msgid="6216871641021779698">"Lysstyrke"</string>
- <string name="auto_brightness_title" msgid="4239324728760986697">"Automatisk lysstyrke"</string>
- <string name="auto_brightness_description" msgid="6807117118142381193">"Skærmens lysstyrke tilpasses automatisk på baggrund af dine omgivelser og dine aktiviteter. Du kan flytte skyderen manuelt for at hjælpe Automatisk lysstyrke med at lære dine præferencer."</string>
+ <string name="auto_brightness_title" msgid="4239324728760986697">"Adaptiv lysstyrke"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Om adaptiv lysstyrke"</string>
+ <string name="auto_brightness_description" msgid="6807117118142381193">"Skærmens lysstyrke tilpasses automatisk på baggrund af dine omgivelser og dine aktiviteter. Du kan flytte skyderen manuelt for at hjælpe automatisk lysstyrke med at lære dine præferencer."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Til"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Fra"</string>
<string name="display_white_balance_title" msgid="2624544323029364713">"Skærmens hvidbalance"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Valgmuligheder"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Hjælpefunktioner"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Fysisk tastatur"</string>
- <string name="show_ime" msgid="4334255501724746849">"Brug skærmtastaturet"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Behold det på skærmen, mens det fysiske tastatur er aktivt"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Elastiktaster"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Tastaturet ignorerer gentagende, hurtige tryk på den samme tast inden for <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Langsomtaster"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Brugervalgt: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Tale"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Markørens hastighed"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Spillekontroller"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Omdiriger vibration"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Send vibration til spillecontroller, når den er tilsluttet"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Fortsæt alligevel"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Annuller"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Indstillinger for forstørrelse"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Panorering med én finger"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Flyt luppen med 1 finger"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Naviger rundt på skærmen ved at trække med 1 finger"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Flyt forstørrelsesområdet ved at trække med én finger."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Flyt forstørrelsesområdet ved at trække med to fingre."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Utilgængelig, når kun en del af skærmen forstørres"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tryk på en knap for at zoome"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Zoom hurtigt ind på skærmen for at forstørre indhold"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Sådan zoomer du ind:</b><br/> {0,number,integer}. Brug genvejen til at starte forstørrelse<br/> {1,number,integer}. Tryk på skærmen<br/> {2,number,integer}. Træk med to fingre for at navigere rundt på skærmen<br/> {3,number,integer}. Knib med to fingre for at zoome ind eller ud<br/> {4,number,integer}. Brug genvejen til at stoppe forstørrelse<br/><br/><b>Sådan zoomer du midlertidigt ind:</b><br/> {0,number,integer}. Sørg for, at forstørrelsestypen er indstillet til fuld skærm<br/> {1,number,integer}. Brug genvejen til at starte forstørrelse<br/> {2,number,integer}. Hold fingeren nede et vilkårligt sted på skærmen<br/> {3,number,integer}. Træk fingeren for at navigere rundt på skærmen<br/> {4,number,integer}. Løft fingeren for at stoppe forstørrelse"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Sådan zoomer du ind:</b><br/> {0,number,integer}. Brug genvejen til at starte forstørrelse<br/> {1,number,integer}. Tryk på skærmen<br/> {2,number,integer}. Naviger rundt på skærmen ved at trække med 2 fingre<br/> {3,number,integer}. Knib med 2 fingre for at justere zoom<br/> {4,number,integer}. Brug genvejen til at stoppe forstørrelse<br/><br/> Du kan også midlertidigt zoome ind m.m."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Sådan zoomer du ind:</b><br/> {0,number,integer}. Brug genvejen til at starte forstørrelse<br/> {1,number,integer}. Tryk på skærmen<br/> {2,number,integer}. Naviger rundt på skærmen ved at trække med 1 finger eller 2 fingre<br/> {3,number,integer}. Knib med 2 fingre for at justere zoom<br/> {4,number,integer}. Brug genvejen til at stoppe forstørrelse<br/><br/> Du kan også midlertidigt zoome ind m.m."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Når forstørrelse er aktiveret, kan du zoome ind på skærmen.\n\n"<b>"Hvis du vil zoome"</b>", skal du åbne forstørrelse og derefter trykke et vilkårligt sted på skærmen.\n"<ul><li>"Træk med to eller flere fingre for at rulle"</li>\n<li>"Knib sammen med to eller flere fingre for at justere zoomniveauet"</li></ul>\n\n<b>"Hvis du vil zoome midlertidigt"</b>", skal du åbne forstørrelse og holde fingeren nede et vilkårligt sted på skærmen.\n"<ul><li>"Træk for at udforske forskellige dele af skærmen"</li>\n<li>"Løft fingeren for at zoome ud"</li></ul>\n\n"Du kan ikke zoome ind på tastaturet eller navigationslinjen."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Side <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> af <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Genvej til knappen til hjælpefunktioner"</string>
@@ -2695,7 +2733,7 @@
<string name="vpn_settings_insecure_single" msgid="9012504179995045195">"Ikke sikker"</string>
<string name="vpn_settings_single_insecure_multiple_total" msgid="6107225844641301139">"<xliff:g id="VPN_COUNT">%d</xliff:g> er ikke sikker"</string>
<string name="vpn_settings_multiple_insecure_multiple_total" msgid="1706236062478680488">"<xliff:g id="VPN_COUNT">%d</xliff:g> er ikke sikker"</string>
- <string name="adaptive_connectivity_title" msgid="7464959640138428192">"Selvjusterende forbindelse"</string>
+ <string name="adaptive_connectivity_title" msgid="7464959640138428192">"Adaptiv forbindelse"</string>
<string name="adaptive_connectivity_summary" msgid="3648731530666326885">"Forlænger batteritiden og forbedrer enhedens ydeevne ved at administrere din netværksforbindelse automatisk"</string>
<string name="adaptive_connectivity_switch_on" msgid="3653067561620745493">"Til"</string>
<string name="adaptive_connectivity_switch_off" msgid="5076172560836115265">"Fra"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Få kun notifikationer fra vigtige personer og apps"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Vælg aktiveringstype"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Tidspunkt"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"F.eks. \"9.30 – 17.00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Kalender"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"F.eks. \"Personlig kalender\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Opret en tilstand"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Tilpasset"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Begræns antallet af afbrydelser"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Aktivér Forstyr ikke"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarmer og medielyde kan afbryde"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Tidsplaner"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Slet tidsplaner"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Slet"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Rediger"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Tidsplaner"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Tidsplan"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Angiv en tidsplan"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Tidsplan"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> t. <xliff:g id="MINUTES">%2$d</xliff:g> min."</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Aktivér automatisk"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Planlæg"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Gør telefonen lydløs på bestemte tidspunkter"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Angiv regler for Forstyr ikke"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Tillad afbrydelser, der laver lyd"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Bloker visuelle forstyrrelser"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Tillad visuelle signaler"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Notifikationer, du kan modtage"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Hold fokus"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Yderligere handlinger"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Indstillinger for visning"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Visningsmuligheder"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"aktivér mørkt tema"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Indstil OS og apps til at foretrække lys tekst på en mørk baggrund, hvilket kan være mere behageligt for øjnene og medføre betydelig batteribesparelse på nogle enheder"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Ingen ændringer af visningen}=1{{effect_1}}=2{{effect_1} og {effect_2}}=3{{effect_1}, {effect_2} og {effect_3}}one{{effect_1}, {effect_2} og # anden}other{{effect_1}, {effect_2} og # andre}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Bortfiltrér forstyrrelser"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Ingen forstyrrelser bortfiltreres"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Visningsmuligheder for filtrerede notifikationer"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Når Forstyr ikke er aktiveret"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Ingen lyd fra notifikationer"</string>
@@ -3464,9 +3522,9 @@
<string name="profile_section_header_for_advanced_privacy" msgid="8385775428904838579">"Arbejdsprofil"</string>
<string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Automatisk prioritetsniveau for notifikationer"</string>
<string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Angiv automatisk notifikationer med lavere prioritet som Diskret"</string>
- <string name="asst_capability_ranking_title" msgid="312998580233257581">"Automatisk rangering af notifikationer"</string>
+ <string name="asst_capability_ranking_title" msgid="312998580233257581">"Adaptiv rangering af notifikationer"</string>
<string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Ranger automatisk notifikationer efter relevans"</string>
- <string name="asst_feedback_indicator_title" msgid="5169801869752395354">"Feedback om tilpassede notifikationer"</string>
+ <string name="asst_feedback_indicator_title" msgid="5169801869752395354">"Feedback om adaptive notifikationer"</string>
<string name="asst_feedback_indicator_summary" msgid="5862082842073307900">"Vis justeringer af notifikationer, og vis en mulighed for at give feedback til systemet"</string>
<string name="asst_importance_reset_title" msgid="6191265591976440115">"Nulstil vigtigheden af notifikationer"</string>
<string name="asst_importance_reset_summary" msgid="684794589254282667">"Nulstil brugerangivne indstillinger for vigtighed, og tillad, at notifikationsassistenten prioriterer."</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"åbn notifikationen"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Tillad udsættelse af notifikationer"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Notifikationsprik på appikon"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Notifikationspakker"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Bobler"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bobler"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Lav denne samtale til en boble"</string>
@@ -3591,7 +3650,7 @@
<string name="nls_feature_read_summary" msgid="1064698238110273593">"Den kan læse dine notifikationer, herunder personlige oplysninger såsom kontakter, beskeder og billeder."</string>
<string name="nls_feature_reply_title" msgid="7925455553821362039">"Svare på beskeder"</string>
<string name="nls_feature_reply_summary" msgid="4492543411395565556">"Den kan besvare beskeder og interagere med knapper i notifikationer, herunder udsættelse eller afvisning af notifikationer og besvarelse af opkald."</string>
- <string name="nls_feature_settings_title" msgid="8208164329853194414">"Skift indstillinger"</string>
+ <string name="nls_feature_settings_title" msgid="8208164329853194414">"Skifte indstillinger"</string>
<string name="nls_feature_settings_summary" msgid="3770028705648985689">"Den kan aktivere eller deaktivere Forstyr ikke og ændre relaterede indstillinger."</string>
<string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Hvis du slår adgang til notifikationer fra for <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, slås adgangen til Forstyr ikke muligvis også fra."</string>
<string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Slå fra"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Kategorier"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Andre"</string>
<string name="no_channels" msgid="4716199078612071915">"Denne app har ikke sendt nogen notifikationer"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Vis ikke-anvendte kategorier"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Flere indstillinger i appen"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Vis ikke-anvendte kategorier"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Skjul ikke-anvendte kategorier"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Alle"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Tillad, at apps tilsidesætter"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps, der kan afbryde"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Vælg flere apps"</string>
@@ -4187,7 +4249,7 @@
<string name="battery_tips_card_dismiss_button" msgid="1885756985544936618">"OK"</string>
<string name="battery_tips_card_feedback_info" msgid="767117835675157298">"Er denne meddelelse nyttig?"</string>
<string name="battery_hints_warning_icon_a11y" msgid="5312542323401447620">"Advarselsikon med batteritips"</string>
- <string name="battery_tips_settings_summary_brightness" msgid="546145032616077783">"Aktivér automatisk lysstyrke for at forlænge batteritiden"</string>
+ <string name="battery_tips_settings_summary_brightness" msgid="546145032616077783">"Aktivér adaptiv lysstyrke for at forlænge batteritiden"</string>
<string name="battery_tips_settings_summary_screen_timeout" msgid="556801426050962077">"Reducer timeout for skærm for at forlænge batteritiden"</string>
<string name="battery_tips_apps_summary_always_high" msgid="6334519477067044920">"<xliff:g id="APP_LABEL">%1$s</xliff:g> brugte mere batteri"</string>
<string name="battery_tips_apps_summary_higher_than_usual" msgid="95676961671544628">"<xliff:g id="APP_LABEL">%1$s</xliff:g> brugte mere batteri end normalt"</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Etui"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batteri"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Indstillingspanel"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Gennemtving skrivebordstilstand"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Gennemtving eksperimentel skrivebordstilstand på sekundære skærme"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Aktivér vinduer i frit format"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Aktivér understøttelse af vinduer i frit format."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Aktivér vinduer i frit format på en sekundær skærm"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Aktivér kun vinduer i frit format på en sekundær skærm."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Aktivér app, hvis størrelse ikke kan justeres, i multivindue"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Tillader, at apps, hvis størrelse ikke kan justeres, kan være i et multivindue"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Tilsidesæt force-dark"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Denne enheds datapartition skal konverteres til ext4, før du kan bruge udviklerindstillingen med 16 kB. Softwareintegriteten kan ikke garanteres i denne tilstand, og eventuelle data, der gemmes på telefonen, mens bootloaderen er ulåst, kan være sårbare. Aktivering af indstillingen med 16 kB kræver én yderligere genstart efter dette. Når du er i denne tilstand, kan du skifte mellem tilstanden med 4 kB og tilstanden med 16 kB ved blot at genstarte en enkelt gang. Nogle funktioner deaktiveres i disse tilstande, så nogle apps fungerer muligvis ikke. Hvis du vil skifte tilbage til produktionstilstand på enheden, skal du skifte tilbage til tilstanden med 4 kB og derefter låse bootloaderen, hvilket vil gendanne enhedens fabriksindstillinger. Når enheden er startet i Android, skal du deaktivere OEM-oplåsning i Indstillinger for udviklere. Enheden ryddes, og filsystemet ændres til ext4 efter bekræftelse. Når dette er gjort, skal du vende tilbage for at aktivere 16 kB igen."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Ryd alle data"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Datapartitionen kunne ikke omformateres og ryddes til ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Oplåsning af bootloader er påkrævet ved brug af tilstanden med 16 kB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Oplåsning af bootloader er påkrævet"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Bootloader skal være låst op på denne enhed, før du kan bruge udviklerindstillingen med 16 kB. Softwareintegriteten kan ikke garanteres i denne tilstand, og eventuelle data, der gemmes på telefonen, mens bootloaderen er ulåst, kan være sårbare. Alle brugerdata og -indstillinger ryddes, når du aktiverer tilstanden med 16 kB. Når bootloaderen er låst op, forudsætter brug af indstillingen med 16 kB to genstarter. Når du er i denne tilstand, kan du skifte mellem tilstanden med 4 kB og tilstanden med 16 kB ved blot at genstarte en enkelt gang. Nogle funktioner deaktiveres i disse tilstande, så nogle apps fungerer muligvis ikke. Hvis du vil skifte tilbage til produktionstilstand på enheden, skal du skifte tilbage til tilstanden med 4 kB og derefter låse OEM/bootloaderen, hvilket gendanner enheden fabriksindstillinger. Lås bootloaderen op, og prøv igen. Du kan se, hvordan du gør dette, på <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Brug af den sideagnostiske tilstand med 4 kB"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Du er i tilstanden med 4 kB i den sideagnostiske tilstand. Softwareintegriteten kan ikke garanteres i denne tilstand, og eventuelle data, der gemmes på telefonen, mens bootloaderen er ulåst, kan være sårbare. Nogle funktioner deaktiveres i disse tilstande, så nogle apps fungerer muligvis ikke. Hvis du vil skifte tilbage til produktionstilstand, skal du låse bootloaderen på enheden. Tryk for at læse mere."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Du er i tilstanden med 4 kB i den sideagnostiske tilstand. Softwareintegriteten kan ikke garanteres i denne tilstand, og eventuelle data, der gemmes på telefonen, mens bootloaderen er ulåst, kan være sårbare. Nogle funktioner deaktiveres i disse tilstande, så nogle apps fungerer muligvis ikke. Hvis du vil skifte tilbage til produktionstilstand, skal du låse bootloaderen på enheden. Denne handling gendanner enhedens fabriksindstillinger til produktionsindstillingerne. Når enheden er startet i Android, skal du deaktivere OEM-oplåsning i Indstillinger for udviklere. Hvis enheden ikke kan starte i Android, eller hvis den er ustabil, skal du flashe enheden igen med de oprindelige systembilleder fra <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> eller bruge <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> og vælge \"Ryd enhed\", \"Lås bootloader\" og \"Gennemtving flash af alle partitioner\"."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Brug af den sideagnostiske tilstand med 16 kB"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Du er i den sideagnostiske tilstand med 16 kB. Softwareintegriteten kan ikke garanteres i denne tilstand, og eventuelle data, der gemmes på telefonen, mens bootloaderen er ulåst, kan være sårbare. Nogle funktioner deaktiveres i disse tilstande, så nogle apps fungerer muligvis ikke. Hvis du vil vende tilbage til produktionstilstand, skal du skifte tilbage til tilstanden med 4 kB og derefter låse bootloaderen på enheden. Tryk for at læse mere."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Du er i den sideagnostiske tilstand med 16 kB. Softwareintegriteten kan ikke garanteres i denne tilstand, og eventuelle data, der gemmes på telefonen, mens bootloaderen er ulåst, kan være sårbare. Nogle funktioner deaktiveres i disse tilstande, så nogle apps fungerer muligvis ikke. Hvis du vil vende tilbage til produktionstilstand, skal du skifte tilbage til tilstanden med 4 kB og derefter låse bootloaderen på enheden. Denne handling gendanner enhedens fabriksindstillinger til produktionsindstillingerne. Når enheden er startet i Android, skal du deaktivere OEM-oplåsning i Indstillinger for udviklere. Hvis enheden ikke kan starte i Android, eller hvis den er ustabil, skal du flashe enheden igen med de oprindelige systembilleder fra <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> eller bruge <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> og vælge \"Ryd enhed\", \"Lås bootloader\" og \"Gennemtving flash af alle partitioner\"."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Du er i den sideagnostiske tilstand med 16 kB. Softwareintegriteten kan ikke garanteres i denne tilstand, og eventuelle data, der gemmes på telefonen, mens bootloaderen er ulåst, kan være sårbare. Nogle funktioner deaktiveres i disse tilstande, så nogle apps fungerer muligvis ikke. Hvis du vil vende tilbage til produktionstilstand, skal du skifte tilbage til tilstanden med 4 kB og derefter låse bootloaderen på enheden. Tryk for at læse mere."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Du er i den sideagnostiske tilstand med 16 kB. Softwareintegriteten kan ikke garanteres i denne tilstand, og eventuelle data, der gemmes på telefonen, mens bootloaderen er ulåst, kan være sårbare. Nogle funktioner deaktiveres i disse tilstande, så nogle apps fungerer muligvis ikke. Hvis du vil vende tilbage til produktionstilstand, skal du skifte tilbage til tilstanden med 4 kB og derefter låse bootloaderen på enheden. Denne handling gendanner enhedens fabriksindstillinger til produktionsindstillingerne. Når enheden er startet i Android, skal du deaktivere OEM-oplåsning via Indstillinger for udviklere. Hvis enheden ikke kan starte i Android, eller hvis den er ustabil, skal du flashe enheden igen med de oprindelige systembilleder fra <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> eller bruge <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> og vælge \"Ryd enhed\", \"Lås bootloader\" og \"Gennemtving flash af alle partitioner\"."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Den sideagnostiske tilstanden med 16 kB"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Læs mere"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Håndtering af fejlrapport"</string>
@@ -5007,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Brug appfastgørelse"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Brug Indstillinger for udviklere"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Brug en udskrivningstjeneste"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Tillad flere brugere"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"tillad, flere, brugere, mange"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"flere, brugere, profiler, personer, konti, skift, mange"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Brug trådløs fejlretning"</string>
@@ -5121,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Vælg, hvad der skal vises på din skærm, når din tablet sidder i dockingstationen. Din enhed bruger muligvis mere batteri, når der anvendes en pauseskærm."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Tilpas"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Tilpas <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Du skal genstarte for at aktivere understøttelse af freeform."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Du skal genstarte for at gennemtvinge aktivering af computertilstand på sekundære skærme."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Du skal genstarte for at aktivere understøttelse af forældede vinduer i frit format."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Du skal genstarte for at ændre understøttelsen af vinduer i frit format"</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Du skal genstarte for at gennemtvinge vinduer i frit format på sekundære skærme."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Genstart nu"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Genstart senere"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Rumlig lyd"</string>
@@ -5351,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Lyt til stream"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Scan en QR-kode til en lydstream for at lytte via <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Adgangskoden kan ikke ændres under deling. Deaktiver lyddeling for at ændre adgangskoden."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-de/arrays.xml b/res/values-de/arrays.xml
index a02baae..20b7e30 100644
--- a/res/values-de/arrays.xml
+++ b/res/values-de/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Schlafenszeit"</item>
+ <item msgid="4152450357280759894">"Autofahren"</item>
+ <item msgid="7096549258219399423">"Immersiv"</item>
+ <item msgid="2760716776980432977">"Verwaltet"</item>
+ <item msgid="601734478369121764">"Stern"</item>
+ <item msgid="6243809315432780521">"Kalender"</item>
+ <item msgid="4913577903148415331">"Zeit"</item>
+ <item msgid="3653377604690057780">"Theater"</item>
+ <item msgid="3843711267408385410">"Blüte"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 729faf1..3322ae6 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Hörgeräteeinstellungen"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Verknüpfung, Kompatibilität mit Hörgeräten"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Voreinstellung"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Der Hörgeräteakustiker hat keine Voreinstellungen festgelegt"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Voreinstellung konnte nicht aktualisiert werden"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audioausgabe"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Informationen zur Audioausgabe"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Gesicht und <xliff:g id="WATCH">%s</xliff:g> hinzugefügt"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Gesicht, Fingerabdruck und <xliff:g id="WATCH">%s</xliff:g> hinzugefügt"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Gesicht, Fingerabdrücke und <xliff:g id="WATCH">%s</xliff:g> hinzugefügt"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Dies ist erforderlich, da die Identitätsprüfung aktiviert ist"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Per Remote Authenticator entsperren"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Smartwatch hinzugefügt"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Smartwatch einrichten"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Weitere Informationen zu „Mit Smartwatch entsperren“"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Smartwatch hinzufügen"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Smartwatch entfernen"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Entsperrung per Gesichtserkennung und Fingerabdruck"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Entsperrung per Gesichtserkennung & Fingerabdruck"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Entsperrung per Gesichtserkennung & Fingerabdruck für die Arbeit"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Einrichtung erforderlich"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Gesicht und Fingerabdrücke hinzugefügt"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Apps installieren"</b>\n"Du kannst in deinem Profil Apps installieren, die privat bleiben sollen"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Wichtige Hinweise"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Apps werden beendet, wenn du dein Profil sperrst"</b>\n"Wenn du dein Profil sperrst, werden die Apps darin beendet und du erhältst von ihnen keine Benachrichtigungen"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Vertrauliche Profile eignen sich nicht für Apps, die im Hintergrund laufen oder wichtige Benachrichtigungen senden müssen, wie z. B. medizinische Apps. Das liegt daran, dass Benachrichtigungen und Hintergrundaktivitäten gestoppt werden, wenn dein vertrauliches Profil gesperrt ist.\n\nWenn dein vertrauliches Profil gesperrt ist, werden Apps darin nicht im Berechtigungsmanager, Privatsphäre-Dashboard und anderen Einstellungen angezeigt.\n\nDein vertrauliches Profil kann nicht auf ein neues Gerät übertragen werden. Du musst ein weiteres vertrauliches Profil einrichten, wenn du es auf einem anderen Gerät verwenden möchtest.\n\nJeder, der dein Gerät mit einem Computer verbindet oder auf dem Gerät schädliche Apps installiert, kann möglicherweise auf dein vertrauliches Profil zugreifen."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Vertrauliche Profile eignen sich nicht für Apps, die im Hintergrund laufen oder wichtige Benachrichtigungen senden müssen, wie z. B. medizinische Apps. Das liegt daran, dass Benachrichtigungen und Hintergrundaktivitäten gestoppt werden, wenn dein vertrauliches Profil gesperrt ist.\n\nWenn dein vertrauliches Profil gesperrt ist, werden Apps darin nicht im Berechtigungsmanager, Privatsphäre-Dashboard und anderen Einstellungen angezeigt.\n\nDein vertrauliches Profil kann nicht auf ein neues Gerät übertragen werden. Wenn du auf einem anderen Gerät ein vertrauliches Profil nutzen möchtest, musst du ein neues einrichten.\n\nPersonen, die dein Gerät mit einem Computer verbinden oder schädliche Apps auf deinem Gerät installieren, haben möglicherweise auch Zugriff auf dein vertrauliches Profil."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Informationen zum vertraulichen Profil"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Das kann einen Moment dauern"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Das vertrauliche Profil wird eingerichtet…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Gerät neu starten?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Die detaillierte NFC-Protokollierung wird nur zu Entwicklungszwecken verwendet. Dazu gehören auch zusätzliche NFC-Daten in Fehlerberichten, die private Informationen enthalten können. Starte dein Gerät neu, um diese Einstellung zu ändern."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Neu starten"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Streamen"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"spiegeln"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Kabellose Übertragung aktivieren"</string>
@@ -1192,7 +1222,8 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptiv"</string>
<string name="brightness" msgid="6216871641021779698">"Helligkeit"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Automatische Helligkeit"</string>
- <string name="auto_brightness_description" msgid="6807117118142381193">"Die Helligkeit des Displays passt sich automatisch an deine Umgebung und deine Aktivitäten an. Mit dem Schieberegler kannst du manuell nachjustieren und die Funktion „Automatische Helligkeit“ merkt sich deine Präferenz."</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Informationen zur automatischen Helligkeit"</string>
+ <string name="auto_brightness_description" msgid="6807117118142381193">"Die Helligkeit des Displays passt sich automatisch an deine Umgebung und deine Aktivitäten an. Mit dem Schieberegler kannst du sie manuell nach Wunsch anpassen und die Funktion „Automatische Helligkeit“ merkt sich deine Präferenz."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"An"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Aus"</string>
<string name="display_white_balance_title" msgid="2624544323029364713">"Weißabgleich des Bildschirms"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Optionen"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Barrierefreiheit"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Physische Tastatur"</string>
- <string name="show_ime" msgid="4334255501724746849">"Bildschirmtastatur verwenden"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Bildschirmtastatur auch dann anzeigen, wenn physische Tastatur aktiv ist"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Bounce-Tasten"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Schnell aufeinanderfolgende Betätigungen derselben Taste innerhalb von <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms werden auf der Tastatur ignoriert"</string>
<string name="slow_keys" msgid="2891452895499690837">"Anschlagverzögerung"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Nutzerauswahl: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Spracheingabe, -erkennung und -ausgabe"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Zeigergeschwindigkeit"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Gamecontroller"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Vibration weiterleiten"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Vibration an Gamecontroller senden, sofern eine Verbindung besteht"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Trotzdem fortfahren"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Abbrechen"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Vergrößerungseinstellungen"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Schwenken mit einem Finger"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Lupe mit 1 Finger verschieben"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Ziehe 1 Finger auf dem Display"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Verschiebe den Vergrößerungsbereich mit einem Finger."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Verschiebe den Vergrößerungsbereich mit zwei Fingern."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Nicht verfügbar, solange nur ein Teil des Bildschirms vergrößert wird"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Zum Zoomen auf eine Schaltfläche tippen"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Du kannst auf dem Display schnell heranzoomen, um Inhalte zu vergrößern"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>So zoomst du heran:</b><br/> {0,number,integer}. Starte die Vergrößerung über den Kurzbefehl<br/> {1,number,integer}. Tippe auf das Display<br/> {2,number,integer}. Ziehe mit zwei Fingern, um den angezeigten Bildschirmausschnitt zu ändern<br/> {3,number,integer}. Ziehe zwei Finger auseinander oder zusammen, um den Zoom anzupassen<br/> {4,number,integer}. Beende die Vergrößerung über den Kurzbefehl<br/><br/> <b>So zoomst du vorübergehend heran:</b><br/> {0,number,integer}. Achte darauf, dass als Art der Vergrößerung „Vollbild“ ausgewählt ist<br/> {1,number,integer}. Starte die Vergrößerung über den Kurzbefehl<br/> {2,number,integer}. Halte eine beliebige Stelle auf dem Display gedrückt<br/> {3,number,integer}. Ziehe mit dem Finger, um den angezeigten Bildschirmausschnitt zu ändern<br/> {4,number,integer}. Hebe den Finger, um die Vergrößerung zu beenden"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>So zoomst du heran:</b><br/> {0,number,integer}. Starte die Vergrößerung über die Touch-Geste für Bedienungshilfen<br/> {1,number,integer}. Tippe auf das Display<br/> {2,number,integer}. Ziehe mit 2 Fingern, um den angezeigten Bildschirmausschnitt zu verschieben<br/> {3,number,integer}. Ziehe 2 Finger auseinander oder zusammen, um den Zoom anzupassen<br/> {4,number,integer}. Stoppe die Vergrößerung über die Touch-Geste für Bedienungshilfen<br/><br/> Du kannst auch vorübergehend heranzoomen und mehr."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>So zoomst du heran:</b><br/> {0,number,integer}. Starte die Vergrößerung über die Touch-Geste für Bedienungshilfen<br/> {1,number,integer}. Tippe auf das Display<br/> {2,number,integer}. Ziehe mit 1 oder 2 Fingern, um den angezeigten Bildschirmausschnitt zu verschieben<br/> {3,number,integer}. Ziehe 2 Finger auseinander oder zusammen, um den Zoom anzupassen<br/> {4,number,integer}. Stoppe die Vergrößerung über die Touch-Geste für Bedienungshilfen<br/><br/> Du kannst auch vorübergehend heranzoomen und mehr."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Wenn die Vergrößerung aktiviert ist, kannst du Elemente auf dem Bildschirm heranzoomen.\n\n"<b>"Wenn du zoomen möchtest"</b>", starte die Vergrößerung und tippe dann auf eine beliebige Stelle auf dem Bildschirm.\n"<ul><li>"Zum Scrollen ziehe mit zwei oder mehr Fingern"</li>\n<li>"Zum Anpassen des Zooms ziehe zwei oder mehr Finger zusammen bzw. auseinander"</li></ul>\n\n<b>"Wenn du vorübergehend heranzoomen möchtest"</b>", starte die Vergrößerung und tippe dann auf eine beliebige Stelle auf dem Bildschirm und halte sie gedrückt.\n"<ul><li>"Wenn du den angezeigten Bildschirmausschnitt verschieben möchtest, ziehe den Bildschirm"</li>\n<li>"Zum Herauszoomen hebe den Finger"</li></ul>\n\n"In die Tastatur oder Navigationsleiste kann nicht hineingezoomt werden."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Seite <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> von <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Kurzbefehl: Schaltfläche „Bedienungshilfen“"</string>
@@ -2189,7 +2227,7 @@
<string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Weitere Informationen zur Schaltfläche „Bedienungshilfen“ und zu Gesten"</string>
<string name="accessibility_button_intro" msgid="2601976470525277903">"Schaltfläche „Bedienungshilfen“ wird verwendet. Bei Bedienung über 3 Schaltflächen ist die Touch-Geste nicht verfügbar."</string>
<string name="accessibility_button_summary" msgid="8510939012631455831">"Schnell auf Bedienungshilfen zugreifen"</string>
- <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"<b>So gehts</b><br/> {0,number,integer}. Gehe zu den Einstellungen für Bedienungshilfen<br/> {1,number,integer}. Wähle eine Bedienungshilfe aus und tippe auf den Kurzbefehl<br/> {2,number,integer}. Wähle aus, ob du eine Taste oder eine Touch-Geste für den Zugriff auf die Bedienungshilfe verwenden möchtest<br/>"</string>
+ <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"<b>So gehts</b><br/> {0,number,integer}. Gehe zu den Einstellungen für Bedienungshilfen<br/> {1,number,integer}. Wähle eine Bedienungshilfe aus und tippe auf den Kurzbefehl<br/> {2,number,integer}. Wähle aus, ob du eine Schaltfläche oder eine Touch-Geste für den Zugriff auf die Bedienungshilfe verwenden möchtest<br/>"</string>
<string name="accessibility_button_description" msgid="7669538706120092399">"<b>So gehts</b><br/> {0,number,integer}. Gehe zu den Einstellungen für Bedienungshilfen<br/> {1,number,integer}. Wähle eine Bedienungshilfe aus und tippe auf den Kurzbefehl<br/> {2,number,integer}. Wähle die Taste aus, die du für den Zugriff auf die Bedienungshilfe verwenden möchtest<br/>"</string>
<string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Schaltfläche oder Touch-Geste verwenden"</string>
<string name="accessibility_button_location_title" msgid="7182107846092304942">"Ort"</string>
@@ -2403,7 +2441,7 @@
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Zulassen"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Ablehnen"</string>
<string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Aus"</string>
- <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"An belassen"</string>
+ <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"An lassen"</string>
<string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> deaktivieren?"</string>
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Keine Dienste installiert"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Kein Dienst ausgewählt"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Benachrichtigungen nur von wichtigen Personen und Apps"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Aktivierungstyp auswählen"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Uhrzeit"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Beispiel: „09:30 bis 17:00 Uhr“"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Kalender"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Beispiel: „Persönlicher Kalender“"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Modus erstellen"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Benutzerdefiniert"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Unterbrechungen einschränken"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"„Bitte nicht stören“ aktivieren"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Wecker und Medientöne können ihn unterbrechen"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Zeitpläne"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Zeitpläne löschen"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Löschen"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Bearbeiten"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Zeitpläne"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Zeitplan"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Zeitplan festlegen"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Zeitplan"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> Std. <xliff:g id="MINUTES">%2$d</xliff:g> Min."</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Automatisch aktivieren"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Zeitplan"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Smartphone zu bestimmten Zeiten stummschalten"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"„Bitte nicht stören“-Regeln einrichten"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Unterbrechungen mit Tönen zulassen"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Visuelle Störungen blockieren"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Visuelle Signale zulassen"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Benachrichtigungen, die dich erreichen können"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Mehr Konzentration"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Weitere Aktionen"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Anzeigeeinstellungen"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Optionen anzeigen"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"Dunkles Design aktivieren"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Stelle das Betriebssystem und die Apps so ein, dass vor einem dunklen Hintergrund heller Text bevorzugt wird. Das strengt die Augen weniger an und kann auf manchen Geräten die Akkulaufzeit erheblich verlängern."</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Keine Änderungen der Anzeige}=1{{effect_1}}=2{{effect_1} und {effect_2}}=3{{effect_1}, {effect_2} und {effect_3}}other{{effect_1}, {effect_2} und # mehr}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Unterbrechungen filtern"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Es werden keine Unterbrechungen gefiltert"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Anzeigeoptionen für gefilterte Benachrichtigungen"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Wenn „Bitte nicht stören“ aktiviert ist"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Kein akustisches Signal bei Benachrichtigungen"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"Benachrichtigung öffnen"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Schlummerfunktion für Benachrichtigungen zulassen"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Benachrichtigungspunkt auf App-Symbol"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Benachrichtigungs-Sets"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Bubbles"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubbles"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Diese Unterhaltung als Bubble anzeigen"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Kategorien"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Andere"</string>
<string name="no_channels" msgid="4716199078612071915">"Für diese App gibt es keine Benachrichtigungen"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Ungenutzte Kategorien anzeigen"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Zusätzliche Einstellungen in der App"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Ungenutzte Kategorien anzeigen"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Ungenutzte Kategorien ausblenden"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Alle"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Überschreiben durch Apps zulassen"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps, die unterbrechen dürfen"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Weitere Apps auswählen"</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Etui"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Akku"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Einstellungen"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Desktop-Modus erzwingen"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Experiementellen Desktop-Modus auf sekundären Bildschirmen erzwingen"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Freiform-Fenster zulassen"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Unterstützung für Freiform-Fenster aktivieren."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Freiform-Fenster auf sekundärem Display zulassen"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Freiform-Fenster nur auf sekundärem Display zulassen."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Mehrfenstermodus für nicht änderbare Größen aktivieren"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Erlaubt Mehrfenstermodus für Apps mit nicht änderbarer Größe"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Erzwingen des dunklen Modus außer Kraft setzen"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Bevor die 16‑KB-Entwickleroption verwendet werden kann, muss die Datenpartition des Geräts in ext4 umgewandelt werden. Beachte, dass bei entsperrtem Bootloader die Softwareintegrität nicht sichergestellt werden kann und alle auf dem Smartphone gespeicherten Daten gefährdet sind. Zum Aktivieren der 16‑KB-Option muss das Gerät danach noch einmal neu gestartet werden. Wenn du dann in diesem Modus bist, reicht für den Wechsel zwischen dem 4‑KB-Modus und dem 16‑KB-Modus ein einmaliger Neustart aus. Einige Funktionen werden in diesen Modi deaktiviert, weshalb bestimmte Anwendungen möglicherweise nicht funktionieren. Wenn du das Gerät in den Produktionsmodus zurückversetzen möchtest, musst du zurück in den 4‑KB-Modus wechseln und dann den Bootloader sperren. Dadurch wird das Gerät auf die Werkseinstellungen zurückgesetzt. Nachdem das Gerät hochgefahren und Android gestartet wurde, deaktiviere in den Entwickleroptionen die OEM-Entsperrung. Alle Daten auf dem Gerät werden gelöscht und das Dateisystem wird nach entsprechender Bestätigung in ext4 geändert. Nach Abschluss dieses Vorgangs kannst du hierher zurückkehren, um den 16‑KB-Modus zu aktivieren."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Alle Daten löschen"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Die Datenpartition konnte nicht gelöscht und mit ext4 neu formatiert werden."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Für den 16‑KB-Modus muss der Bootloader entsperrt werden"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Entsperrren des Bootloaders erforderlich"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Bevor auf diesem Gerät die 16‑KB-Entwickleroption verwendet werden kann, muss der Bootloader entsperrt werden. Beachte, dass bei entsperrtem Bootloader die Softwareintegrität nicht sichergestellt werden kann und alle auf dem Smartphone gespeicherten Daten gefährdet sind. Durch Aktivieren des 16‑KB-Modus werden alle Nutzerdaten und ‑einstellungen gelöscht. Nachdem der Bootloader entsperrt wurde, sind zur Aktivierung des 16‑KB-Modus zwei Neustarts erforderlich. Wenn du dann in diesem Modus bist, reicht für den Wechsel zwischen dem 4‑KB-Modus und dem 16‑KB-Modus ein einmaliger Neustart aus. Einige Funktionen werden in diesen Modi deaktiviert, weshalb bestimmte Anwendungen möglicherweise nicht funktionieren. Wenn du das Gerät in den Produktionsmodus zurückversetzen möchtest, musst du zurück in den 4‑KB-Modus wechseln und dann die OEM-/Bootloader-Sperre einrichten. Dadurch wird das Gerät auf die Werkseinstellungen zurückgesetzt. Bitte entsperre den Bootloader und versuch es noch einmal. Eine Anleitung hierzu findest du unter <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>."</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Speicherseitenunabhängigen 4‑KB-Modus verwenden"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Du befindest dich im 4‑KB-Modus des speicherseitenunabhängigen Modus. Beachte, dass bei entsperrtem Bootloader die Softwareintegrität nicht sichergestellt werden kann und alle auf dem Smartphone gespeicherten Daten gefährdet sind. Einige Funktionen werden in diesen Modi deaktiviert, weshalb bestimmte Anwendungen möglicherweise nicht funktionieren. Wenn du wieder in den Produktionsmodus wechseln möchtest, musst du den Bootloader des Geräts sperren. Wenn du mehr erfahren möchtest, tippe hier."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Du befindest dich im 4‑KB-Modus des speicherseitenunabhängigen Modus. Beachte, dass bei entsperrtem Bootloader die Softwareintegrität nicht sichergestellt werden kann und alle auf dem Smartphone gespeicherten Daten gefährdet sind. Einige Funktionen werden in diesen Modi deaktiviert, weshalb bestimmte Anwendungen möglicherweise nicht funktionieren. Wenn du wieder in den Produktionsmodus wechseln möchtest, musst du den Bootloader des Geräts sperren. Dadurch wird das Gerät wieder auf die Werkseinstellungen zurückgesetzt und die Produktionseinstellungen werden wiederhergestellt. Nachdem das Gerät hochgefahren und Android gestartet wurde, deaktiviere in den Entwickleroptionen die OEM-Entsperrung. Wenn Android auf dem Gerät nicht gestartet werden kann oder das Gerät instabil ist, flashe das aktuelle Factory Image unter <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> oder verwende <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> und wähle „Gerätedaten löschen“, „Bootloader sperren“ und „Flashen aller Partitionen erzwingen“ aus."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Hinweis zu speicherseitenunabhängigem 16‑KB-Modus"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Du befindest dich im 16‑KB-Modus des speicherseitenunabhängigen Modus. Beachte, dass bei entsperrtem Bootloader die Softwareintegrität nicht sichergestellt werden kann und alle auf dem Smartphone gespeicherten Daten gefährdet sind. Einige Funktionen werden in diesen Modi deaktiviert, weshalb bestimmte Anwendungen möglicherweise nicht funktionieren. Wenn du wieder in den Produktionsmodus wechseln möchtest, musst du zurück zum 4‑KB-Modus wechseln und dann den Bootloader des Geräts sperren. Wenn du mehr erfahren möchtest, tippe hier."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Du befindest dich im 16‑KB-Modus des speicherseitenunabhängigen Modus. Beachte, dass bei entsperrtem Bootloader die Softwareintegrität nicht sichergestellt werden kann und alle auf dem Smartphone gespeicherten Daten gefährdet sind. Einige Funktionen werden in diesen Modi deaktiviert, weshalb bestimmte Anwendungen möglicherweise nicht funktionieren. Wenn du wieder in den Produktionsmodus wechseln möchtest, musst du zurück zum 4‑KB-Modus wechseln und dann den Bootloader des Geräts sperren. Dadurch wird das Gerät wieder auf die Werkseinstellungen zurückgesetzt und die Produktionseinstellungen werden wiederhergestellt. Nachdem das Gerät hochgefahren und Android gestartet wurde, deaktiviere in den Entwickleroptionen die OEM-Entsperrung. Wenn Android auf dem Gerät nicht gestartet werden kann oder das Gerät instabil läuft, flashe das aktuelle Factory Image unter <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> oder verwende <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> und wähle „Gerätedaten löschen“, „Bootloader sperren“ und „Flashen aller Partitionen erzwingen“ aus."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Du befindest dich im 16‑KB-Modus des speicherseitenunabhängigen Modus. Beachte, dass bei entsperrtem Bootloader die Softwareintegrität nicht sichergestellt werden kann und alle auf dem Smartphone gespeicherten Daten gefährdet sind. Einige Funktionen werden in diesen Modi deaktiviert, weshalb bestimmte Anwendungen möglicherweise nicht funktionieren. Wenn du wieder in den Produktionsmodus wechseln möchtest, musst du zurück zum 4‑KB-Modus wechseln und dann den Bootloader des Geräts sperren. Wenn du mehr erfahren möchtest, tippe hier."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Du befindest dich im 16‑KB-Modus des speicherseitenunabhängigen Modus. Beachte, dass bei entsperrtem Bootloader die Softwareintegrität nicht sichergestellt werden kann und alle auf dem Smartphone gespeicherten Daten gefährdet sind. Einige Funktionen werden in diesen Modi deaktiviert, weshalb bestimmte Anwendungen möglicherweise nicht funktionieren. Wenn du wieder in den Produktionsmodus wechseln möchtest, musst du zurück zum 4‑KB-Modus wechseln und dann den Bootloader des Geräts sperren. Dadurch wird das Gerät wieder auf die Werkseinstellungen zurückgesetzt und die Produktionseinstellungen werden wiederhergestellt. Nachdem das Gerät hochgefahren und Android gestartet wurde, deaktiviere in den Entwickleroptionen die OEM-Entsperrung. Wenn Android auf dem Gerät nicht gestartet werden kann oder das Gerät instabil ist, flashe das aktuelle Factory Image unter <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> oder verwende <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> und wähle „Gerätedaten löschen“, „Bootloader sperren“ und „Flashen aller Partitionen erzwingen“ aus."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Speicherseitenunabhängiger 16‑KB-Modus"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Weitere Informationen"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Fehlerbericht-Handler"</string>
@@ -5007,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Bildschirmfixierung verwenden"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Entwickleroptionen verwenden"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Druckdienst verwenden"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Mehrere Nutzer zulassen"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"zulassen, mehrere, Nutzer, Erlaubnis, viele"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"mehrere, Nutzer, Profile, Personen, Konten, wechseln, viele"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Debugging über WLAN verwenden"</string>
@@ -5121,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Hier kannst du festlegen, was auf dem Display angezeigt werden soll, wenn das Tablet angedockt ist. Das Gerät verbraucht möglicherweise mehr Strom, wenn ein Bildschirmschoner verwendet wird."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Anpassen"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> anpassen"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Damit die Freiform-Unterstützung aktiviert wird, musst du das Gerät neu starten."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Damit der Desktop-Modus auf sekundären Bildschirmen erzwungen wird, musst du das Gerät neu starten."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Ein Neustart ist erforderlich, um die Unterstützung für Legacy-Freiform-Fenster zu aktivieren."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Ein Neustart ist erforderlich, um die Unterstützung für Freiform-Fenster zu ändern."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Ein Neustart ist erforderlich, um Freiform-Fenster auf sekundären Displays zu erzwingen."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Jetzt neu starten"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Später neu starten"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Spatial Audio"</string>
@@ -5351,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Stream anhören"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Den QR-Code eines Audiostreams scannen, um den Stream auf <xliff:g id="DEVICE_NAME">%1$s</xliff:g> anzuhören"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Während der Freigabe kann das Passwort nicht geändert werden. Wenn du das Passwort ändern möchtest, deaktiviere zuerst die Audiofreigabe."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-el/arrays.xml b/res/values-el/arrays.xml
index 6e63159..d5db9b1 100644
--- a/res/values-el/arrays.xml
+++ b/res/values-el/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Ώρα για ύπνο"</item>
+ <item msgid="4152450357280759894">"Οδήγηση"</item>
+ <item msgid="7096549258219399423">"Καθηλωτικό"</item>
+ <item msgid="2760716776980432977">"Διαχειριζόμενο"</item>
+ <item msgid="601734478369121764">"Αστέρι"</item>
+ <item msgid="6243809315432780521">"Ημερολόγιο"</item>
+ <item msgid="4913577903148415331">"Ώρα"</item>
+ <item msgid="3653377604690057780">"Θέατρο"</item>
+ <item msgid="3843711267408385410">"Λουλούδι"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index d0ddc9d..6c1cfa9 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Ρυθμίσεις συσκευής ακοής"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Συντόμευση, συμβατότητα με βοηθήματα ακοής"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Προεπιλογή"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Ο ακοολόγος σας δεν έχει προγραμματίσει προεπιλογές"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Δεν ήταν δυνατή η ενημέρωση της προεπιλογής"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Έξοδος ήχου"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Σχετικά με την έξοδο ήχου"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Προστέθηκε το πρόσωπο και το <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Προστέθηκαν πρόσωπο, δακτυλικό αποτύπωμα και το <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Προστέθηκαν πρόσωπο, δακτυλικά αποτυπώματα και το <xliff:g id="WATCH">%s</xliff:g>"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Αυτό είναι απαραίτητο επειδή ο Έλεγχος ταυτότητας είναι ενεργοποιημένος"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Απομ. ξεκλ. Προγράμ. ελέγχου ταυτότητας"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Το ρολόι προστέθηκε"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Ρυθμίστε το ρολόι σας"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Μάθετε περισσότερα σχετικά με το Ξεκλείδωμα ρολογιού"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Προσθήκη ρολογιού"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Κατάργηση ρολογιού"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Ξεκλείδωμα με δακτυλικό αποτύπωμα και με το πρόσωπο"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Ξεκλείδωμα με πρόσωπο/δακτυλ. αποτύπωμα"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ξεκλείδωμα με πρόσωπο και δακτυλικό αποτύπωμα για την εργασία"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Απαιτείται ρύθμιση"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Προστέθηκε πρόσωπο και δακτυλικά αποτυπώματα"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Εγκαταστήστε εφαρμογές"</b>\n"Εγκαταστήστε εφαρμογές που θέλετε να διατηρήσετε ιδιωτικές στον χώρο σας"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Να έχετε υπόψη τα εξής"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Η λειτουργία των εφαρμογών διακόπτεται όταν κλειδώνετε τον χώρο σας"</b>\n"Όταν κλειδώνετε τον χώρο σας, η λειτουργία των εφαρμογών στον χώρο σας διακόπτεται και παύετε να λαμβάνετε ειδοποιήσεις από αυτές"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Οι ιδιωτικοί χώροι δεν είναι κατάλληλοι για εφαρμογές που πρέπει να εκτελούνται στο παρασκήνιο ή να στέλνουν κρίσιμες ειδοποιήσεις, όπως οι ιατρικές εφαρμογές. Αυτό συμβαίνει επειδή οι ειδοποιήσεις και η δραστηριότητα στο παρασκήνιο διακόπτονται όταν ο χώρος κλειδώνεται.\n\nΟι εφαρμογές στον ιδιωτικό χώρο σας δεν εμφανίζονται στη Διαχείριση αδειών, στον πίνακα ελέγχου απορρήτου και σε άλλες ρυθμίσεις όταν ο ιδιωτικός χώρος είναι κλειδωμένος.\n\nΔεν είναι δυνατή η μετακίνηση του ιδιωτικού χώρου σας σε νέα συσκευή. Θα πρέπει να δημιουργήσετε άλλον ιδιωτικό χώρο αν επιθυμείτε να τον χρησιμοποιήσετε σε μια άλλη συσκευή.\n\nΕάν κάποιος συνδέσει τη συσκευή σας σε έναν υπολογιστή ή εγκαταστήσει επιβλαβείς εφαρμογές στη συσκευή σας, μπορεί να αποκτήσει πρόσβαση στον ιδιωτικό χώρο σας."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Οι ιδιωτικοί χώροι δεν είναι κατάλληλοι για εφαρμογές που πρέπει να εκτελούνται στο παρασκήνιο ή να στέλνουν κρίσιμες ειδοποιήσεις, όπως οι ιατρικές εφαρμογές. Αυτό συμβαίνει επειδή οι ειδοποιήσεις και η δραστηριότητα στο παρασκήνιο διακόπτονται όταν ο χώρος κλειδώνεται.\n\nΟι εφαρμογές στον ιδιωτικό χώρο σας δεν εμφανίζονται στη Διαχείριση αδειών, στον πίνακα ελέγχου απορρήτου και σε άλλες ρυθμίσεις όταν ο ιδιωτικός χώρος είναι κλειδωμένος.\n\nΔεν είναι δυνατή η επαναφορά του ιδιωτικού χώρου σας σε νέα συσκευή. Θα πρέπει να δημιουργήσετε έναν διαφορετικό χώρο αν επιθυμείτε να τον χρησιμοποιήσετε σε μια άλλη συσκευή.\n\nΕάν κάποιος συνδέσει τη συσκευή σας σε έναν υπολογιστή ή εγκαταστήσει κακόβουλες εφαρμογές στη συσκευή σας, μπορεί να αποκτήσει πρόσβαση στον ιδιωτικό χώρο σας."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Μάθετε περισσότερα για τον ιδιωτικό χώρο"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Η διαδικασία θα διαρκέσει λίγη ώρα"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Ρύθμιση ιδιωτικού χώρου…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Επανεκκίνηση συσκευής;"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Η καταγραφή των λεπτομερειών NFC προορίζεται μόνο για σκοπούς ανάπτυξης. Επιπλέον δεδομένα NFC περιλαμβάνονται στις αναφορές σφαλμάτων, οι οποίες ενδέχεται να περιέχουν ιδιωτικές πληροφορίες. Επανεκκινήστε τη συσκευή σας για να αλλάξετε αυτήν τη ρύθμιση."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Επανεκκίνηση"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Μετάδοση"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"κατοπτρισμός"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Ενεργοποίηση ασύρματης οθόνης"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Προσαρμοστικό"</string>
<string name="brightness" msgid="6216871641021779698">"Επίπεδο φωτεινότητας"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Προσαρμοστική φωτεινότητα"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Σχετικά με την προσαρμοστική φωτεινότητα"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Η φωτεινότητα της οθόνης σας θα προσαρμοστεί αυτόματα στο περιβάλλον και τις δραστηριότητές σας. Μπορείτε να μετακινήσετε χειροκίνητα το ρυθμιστικό, για να ενημερωθεί η προσαρμοστική φωτεινότητα σχετικά με τις ρυθμίσεις σας."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Ενεργή"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Ανενεργή"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Επιλογές"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Προσβασιμότητα"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Φυσικό πληκτρολόγιο"</string>
- <string name="show_ime" msgid="4334255501724746849">"Χρήση πληκτρολογίου οθόνης"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Να παραμένει στην οθόνη όταν είναι ενεργό το φυσικό πληκτρολόγιο"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Ελαστικά πλήκτρα"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Το πληκτρολόγιο αγνοεί τα γρήγορα, επαναλαμβανόμενα πατήματα του ίδιου πλήκτρου εντός <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Αργά πλήκτρα"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Επιλέχθηκε από τον χρήστη: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Ομιλία"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Ταχύτητα δείκτη"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Χειριστήριο παιχνιδιού"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Ανακατεύθυνση δόνησης"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Αποστολή δόνησης στο χειριστήριο του παιχνιδιού κατά τη σύνδεση."</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Συνέχεια ούτως ή άλλως"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Ακύρωση"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Ρυθμίσεις μεγέθυνσης"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Μετακίνηση με ένα δάχτυλο"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Μετακινήστε τη Μεγέθυνση με το δάχτυλό σας"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Σύρετε το δάχτυλό σας για μετακίνηση στην οθόνη"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Μετακινήστε την περιοχή μεγιστοπ. σύροντας με ένα δάχτυλο."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Μετακινήστε την περιοχή μεγιστοπ. σύροντας με δύο δάχτυλα."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Μη διαθέσιμο όταν μεγιστοποιείται μόνο ένα τμήμα της οθόνης"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Πατήστε ένα κουμπί για εστίαση"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Μεγεθύνετε γρήγορα την οθόνη προκειμένου το περιεχόμενο να εμφανίζεται μεγαλύτερο"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Για μεγέθυνση:</b><br/> {0,number,integer}. Χρησιμοποιήστε τη συντόμευση για να ξεκινήσετε τη μεγιστοποίηση<br/> {1,number,integer}. Πατήστε την οθόνη<br/> {2,number,integer}. Σύρετε 2 δάχτυλα για να μετακινηθείτε στην οθόνη<br/> {3,number,integer}. Πλησιάστε δύο δάχτυλα μεταξύ τους για προσαρμογή της εστίασης<br/> {4,number,integer}. Χρησιμοποιήστε τη συντόμευση για να διακόψετε τη μεγιστοποίηση<br/><br/> <b>Για προσωρινή μεγέθυνση:</b><br/> {0,number,integer}. Βεβαιωθείτε ότι ο τύπος μεγέθυνσης έχει οριστεί σε πλήρη οθόνη<br/> {1,number,integer}. Χρησιμοποιήστε τη συντόμευση για να ξεκινήσετε τη μεγιστοποίηση<br/> {2,number,integer}. Αγγίξτε παρατεταμένα οπουδήποτε στην οθόνη<br/> {3,number,integer}. Σύρετε το δάχτυλό σας για να μετακινηθείτε στην οθόνη<br/> {4,number,integer}. Σηκώστε το δάχτυλό σας για διακοπή της μεγιστοποίησης"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Για μεγέθυνση:</b><br/> {0,number,integer}. Χρησιμοποιήστε τη συντόμευση για να ξεκινήσετε τη μεγιστοποίηση<br/> {1,number,integer}. Πατήστε την οθόνη<br/> {2,number,integer}. Σύρετε 2 δάχτυλα για να μετακινηθείτε στην οθόνη<br/> {3,number,integer}. Πλησιάστε 2 δάχτυλα μεταξύ τους για προσαρμογή της εστίασης<br/> {4,number,integer}. Χρησιμοποιήστε τη συντόμευση για να σταματήσετε τη μεγιστοποίηση<br/><br/> Μπορείτε επίσης να κάνετε προσωρινά μεγέθυνση και πολλά άλλα."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Για μεγέθυνση:</b><br/> {0,number,integer}. Χρησιμοποιήστε τη συντόμευση για να ξεκινήσετε τη μεγιστοποίηση<br/> {1,number,integer}. Πατήστε την οθόνη<br/> {2,number,integer}. Σύρετε 1 ή 2 δάχτυλα για να μετακινηθείτε στην οθόνη<br/> {3,number,integer}. Πλησιάστε 2 δάχτυλα μεταξύ τους για προσαρμογή της εστίασης<br/> {4,number,integer}. Χρησιμοποιήστε τη συντόμευση για να σταματήσετε τη μεγιστοποίηση<br/><br/> Μπορείτε επίσης να κάνετε προσωρινά μεγέθυνση και πολλά άλλα."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Όταν η μεγέθυνση είναι ενεργοποιημένη, μπορείτε να μεγεθύνετε την οθόνη σας.\n\n"<b>"Για εστίαση "</b>", ανοίξτε τη μεγέθυνση και, στη συνέχεια, πατήστε οπουδήποτε στην οθόνη σας.\n"<ul><li>"Σύρετε 2 ή περισσότερα δάχτυλα για κύλιση"</li>\n<li>"Πλησιάστε 2 ή περισσότερα δάχτυλα για να προσαρμόσετε την εστίαση"</li></ul>\n\n<b>"Για προσωρινή εστίαση"</b>", ανοίξτε τη μεγέθυνση και, στη συνέχεια, αγγίξτε παρατεταμένα οπουδήποτε στην οθόνη.\n"<ul><li>"Σύρετε για να μετακινηθείτε στην οθόνη"</li>\n<li>"Ανασηκώστε το δάχτυλο για σμίκρυνση"</li></ul>\n\n"Δεν μπορείτε να κάνετε μεγέθυνση στο πληκτρολόγιο ή τη γραμμή πλοήγησης."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Σελίδα <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> από <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Συντόμευση κουμπιού προσβασιμότητας"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Λήψη ειδοποιήσεων μόνο από σημαντικά άτομα και εφαρμογές"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Επιλογή τύπου ενεργοποίησης"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Ώρα"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Π.χ. \"9.30-5.00 μ.μ.\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Ημερολόγιο"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Π.χ. \"Προσωπικό ημερολόγιο\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Δημιουργία λειτουργίας"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Προσαρμοσμένο"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Περιορισμός διακοπών"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Ενεργοποίηση λειτουργίας \"Μην ενοχλείτε\""</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Οι συναγερμοί και οι ήχοι των μέσων μπορούν να διακόπτουν."</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Προγράμματα"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Διαγραφή προγραμμάτων"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Διαγραφή"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Επεξεργασία"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Προγράμματα"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Πρόγραμμα"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Προσθήκη ημερολογίου"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Χρήση του ημερολογίου σας"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Πρόγραμμα"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Ορίστε ένα πρόγραμμα"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Πρόγραμμα"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ώ. <xliff:g id="MINUTES">%2$d</xliff:g> λ."</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Αυτόματη ενεργοποίηση"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Πρόγραμμα"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Σίγαση τηλεφώνου ορισμένες ώρες"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Ρύθμιση κανόνων λειτουργίας \"Μην ενοχλείτε\""</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Να επιτρέπονται οι διακοπές που συνοδεύονται από ήχο"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Αποκλ. οπτικών αντιπ/σμών"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Να επιτρέπονται οπτικά σήματα"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Ειδοποιήσεις που μπορούν να προβληθούν"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Παραμείνετε συγκεντρωμένοι"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Επιπλέον ενέργειες"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Ρυθμίσεις προβολής"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Επιλογές προβολής"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ενεργοποίηση σκούρου θέματος"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Κάντε εναλλαγή του λειτουργικού συστήματος και των εφαρμογών για να προτιμάται φωτεινό κείμενο σε σκοτεινό φόντο, κάτι που μπορεί να είναι πιο ξεκούραστο για τα μάτια και να αποφέρει σημαντική εξοικονόμηση μπαταρίας σε ορισμένες συσκευές"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Καμία αλλαγή στην προβολή}=1{{effect_1}}=2{{effect_1} και {effect_2}}=3{{effect_1}, {effect_2} και {effect_3}}other{{effect_1}, {effect_2} και # ακόμη}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Φιλτράρισμα διακοπών"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Δεν φιλτράρονται διακοπές"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Επιλογές προβολής για φιλτραρισμένες ειδοποιήσεις"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Όταν είναι ενεργή η λειτουργία Μην ενοχλείτε"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Ειδοποιήσεις χωρίς ήχο"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"άνοιγμα ειδοποίησης"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Να επιτρέπεται η αναβολή των ειδοποιήσεων"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Κουκκίδα ειδοποίησης στο εικονίδιο εφαρμογής"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Πακέτα ειδοποιήσεων"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Συννεφάκια"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Συννεφάκια"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Εμφάνιση αυτής της συνομιλίας σε συννεφάκι"</string>
@@ -3593,7 +3649,7 @@
<string name="nls_feature_read_title" msgid="7629713268744220437">"Ανάγνωση των ειδοποιήσεών σας"</string>
<string name="nls_feature_read_summary" msgid="1064698238110273593">"Μπορεί να διαβάσει τις ειδοποιήσεις σας, συμπεριλαμβανομένων προσωπικών στοιχείων, όπως επαφές, μηνύματα και φωτογραφίες."</string>
<string name="nls_feature_reply_title" msgid="7925455553821362039">"Απάντηση σε μηνύματα"</string>
- <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Μπορεί να απαντήσει σε μηνύματα και να εκτελέσει ενέργειες σε κουμπιά ειδοποιήσεων, όπως να θέσει σε αναβολή ειδοποιήσεις και να απαντήσει σε κλήσεις."</string>
+ <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Μπορεί να απαντήσει σε μηνύματα και να εκτελέσει ενέργειες σε κουμπιά ειδοποιήσεων, όπως να θέσει σε αναβολή ή να παραβλέψει ειδοποιήσεις και να απαντήσει σε κλήσεις."</string>
<string name="nls_feature_settings_title" msgid="8208164329853194414">"Αλλαγή ρυθμίσεων"</string>
<string name="nls_feature_settings_summary" msgid="3770028705648985689">"Μπορεί να ενεργοποιήσει ή να απενεργοποιήσει τη λειτουργία Μην ενοχλείτε και να αλλάξει σχετικές ρυθμίσεις."</string>
<string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Εάν απενεργοποιήσετε την πρόσβαση σε ειδοποιήσεις για το <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, ενδεχομένως να απενεργοποιηθεί και η πρόσβασή του στη λειτουργία \"Μην ενοχλείτε\"."</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Κατηγορίες"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Άλλα"</string>
<string name="no_channels" msgid="4716199078612071915">"Αυτή η εφαρμογή δεν έχει δημοσιεύσει ειδοποιήσεις"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Εμφάνιση κατηγοριών που δεν χρησιμοποιούνται"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Επιπλέον ρυθμίσεις στην εφαρμογή"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Εμφάνιση μη χρησιμοπ. κατηγοριών"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Απόκρυψη μη χρησιμοπ. κατηγοριών"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Όλες"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Να επιτρέπεται στις εφαρμογές η παράκαμψη"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Εφαρμογές που μπορούν να διακόπτουν"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Επιλέξτε περισσότερες εφαρμογές"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Αλλαγή σε λειτουργία Μόνο ξυπνητήρια για μία ώρα, έως {time}}other{Αλλαγή σε λειτουργία Μόνο ξυπνητήρια για # ώρες, έως {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Αλλαγή σε ξυπνητήρια μόνο έως τις <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Αλλαγή σε διακοπές πάντα"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Μετονομασία"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Αλλαγή εικονιδίου"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Αλλαγή εικονιδίου"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Ειδοποίηση"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Κλείσιμο"</string>
<string name="device_feedback" msgid="5351614458411688608">"Αποστολή σχολίων για τη συσκευή"</string>
@@ -4290,7 +4346,7 @@
<string name="system_navigation_title" msgid="4890381153527184636">"Λειτουργία πλοήγησης"</string>
<string name="swipe_up_to_switch_apps_title" msgid="6677266952021118342">"Πλοήγηση με δύο κουμπιά"</string>
<string name="swipe_up_to_switch_apps_summary" msgid="1415457307836359560">"Για εναλλαγή εφαρμογών, σύρετε προς τα επάνω στο κουμπί αρχικής οθόνης. Για να δείτε όλες τις εφαρμογές, σύρετε ξανά προς τα επάνω. Για επιστροφή, πατήστε το κουμπί επιστροφής."</string>
- <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Λειτουργίες ασφαλείας και έκτακτης ανάγκης"</string>
+ <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Λειτουργίες προσωπικής ασφαλείας και έκτακτης ανάγκης"</string>
<string name="emergency_dashboard_summary" msgid="401033951074039302">"Έκτακτη ανάγκη SOS, ιατρικές πληροφορίες, ειδοποιήσεις"</string>
<string name="edge_to_edge_navigation_title" msgid="714427081306043819">"Πλοήγηση με κινήσεις"</string>
<string name="edge_to_edge_navigation_summary" msgid="818109176611921504">"Για μετάβαση στην αρχική οθόνη, σύρετε προς τα επάνω από το κάτω μέρος της οθόνης. Για εναλλαγή εφαρμογών, σύρετε προς τα επάνω από το κάτω μέρος, περιμένετε και, έπειτα, απομακρύνετε το δάχτυλο. Για επιστροφή, σύρετε είτε από το αριστερό είτε από το δεξί άκρο."</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Θήκη"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Μπαταρία"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Πλαίσιο ρυθμίσεων"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Αναγκαστική λειτουργία επιτραπέζιου υπολογιστή"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Αναγκαστική πειραματική λειτουργία επιτραπέζιου υπολογιστή σε δευτερεύουσες οθόνες"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Ενεργοποίηση παραθύρων ελεύθερης μορφής"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Ενεργοποίηση υποστήριξης για παράθυρα ελεύθερης μορφής."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Ενεργ. προσαρμ. παρ. ελεύθ. μορφής σε δευτ. οθόνη"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Ενεργοποίηση παραθύρων ελεύθερης μορφής μόνο στη δευτερεύουσα οθόνη."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Ενεργ. εφαρμ. χωρίς δυνατ. αλλαγής μεγέθ. σε πολλαπλά παραθ."</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Επιτρέπει εφαρμογές χωρίς δυνατότητα αλλαγής μεγέθους σε λειτουργία πολλαπλών παραθύρων"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Παράκαμψη αναγκ. χρήσης σκούρου θέματος"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Το διαμέρισμα δεδομένων αυτής της συσκευής πρέπει να μετατραπεί σε ext4 πριν από τη χρήση της επιλογής 16 KB για προγραμματιστές. Δεν είναι δυνατή η εγγύηση της ακεραιότητας του λογισμικού σε αυτή τη λειτουργία. Επίσης, τυχόν δεδομένα τα οποία αποθηκεύονται στο τηλέφωνο ενώ είναι ξεκλειδωμένο το πρόγραμμα φόρτωσης εκκίνησης ενδέχεται να κινδυνεύουν. Η ενεργοποίηση της επιλογής 16 KB απαιτεί μία ακόμα επανεκκίνηση μετά από αυτό. Όταν βρίσκεστε σε αυτή τη λειτουργία, μπορείτε να κάνετε εναλλαγή μεταξύ των λειτουργιών 4 KB και 16 KB με μία μόνο επανεκκίνηση. Ορισμένες δυνατότητες θα απενεργοποιηθούν σε αυτές τις λειτουργίες, επομένως ορισμένες εφαρμογές ενδέχεται να μην λειτουργούν. Για να επιστρέψετε τη συσκευή στη λειτουργία παραγωγής, θα πρέπει να μεταβείτε ξανά στη λειτουργία 4 KB και κατόπιν να κλειδώσετε το πρόγραμμα φόρτωσης εκκίνησης, γεγονός που οδηγεί στην επαναφορά των εργοστασιακών ρυθμίσεων της συσκευής. Μετά την επιτυχημένη εκκίνηση της συσκευής στο Android, απενεργοποιήστε το OEM ξεκλείδωμα στις Επιλογές για προγραμματιστές. Θα γίνει εκκαθάριση της συσκευής και το σύστημα αρχείων θα αλλάξει σε ext4 κατόπιν επιβεβαίωσης. Αφού ολοκληρωθεί αυτή η διαδικασία, επιστρέψτε για να ενεργοποιήσετε ξανά τη λειτουργία 16 KB."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Διαγραφή όλων των δεδομένων"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Απέτυχε η αλλαγή μορφής και η εκκαθάριση του διαμερίσματος δεδομένων σε ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Απαιτείται ξεκλείδωμα προγράμματος φόρτωσης εκκίνησης για τη λειτουργία 16 KB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Απαιτείται ξεκλείδωμα του προγράμματος φόρτωσης εκκίνησης"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Για να είναι δυνατή η χρήση της επιλογής 16 KB για προγραμματιστές, πρέπει να είναι ξεκλειδωμένο το πρόγραμμα φόρτωσης εκκίνησης σε αυτή τη συσκευή. Δεν είναι δυνατή η εγγύηση της ακεραιότητας του λογισμικού σε αυτή τη λειτουργία. Επίσης, τυχόν δεδομένα τα οποία αποθηκεύονται στο τηλέφωνο ενώ είναι ξεκλειδωμένο το πρόγραμμα φόρτωσης εκκίνησης ενδέχεται να κινδυνεύουν. Όλα τα δεδομένα και οι ρυθμίσεις χρήστη θα εκκαθαριστούν κατά την ενεργοποίηση της λειτουργίας 16 KB. Μετά το ξεκλείδωμα του προγράμματος φόρτωσης εκκίνησης, η ενεργοποίηση της επιλογής 16 KB απαιτεί δύο επανεκκινήσεις. Όταν βρίσκεστε σε αυτή τη λειτουργία, μπορείτε να κάνετε εναλλαγή μεταξύ των λειτουργιών 4 KB και 16 KB με μία μόνο επανεκκίνηση. Ορισμένες δυνατότητες θα απενεργοποιηθούν σε αυτές τις λειτουργίες, επομένως ορισμένες εφαρμογές ενδέχεται να μην λειτουργούν. Για να επιστρέψετε τη συσκευή στη λειτουργία παραγωγής, θα πρέπει να μεταβείτε ξανά στη λειτουργία 4 KB και κατόπιν να εφαρμόσετε κλείδωμα OEM/προγράμματος φόρτωσης εκκίνησης (το οποίο οδηγεί στην επαναφορά των εργοστασιακών ρυθμίσεων) στη συσκευή. Ξεκλειδώστε το πρόγραμμα φόρτωσης εκκίνησης και δοκιμάστε ξανά. Μπορείτε να δείτε οδηγίες για την εκτέλεση αυτής της διαδικασίας στη διεύθυνση <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Χρήση της λειτουργίας 4 KB που δεν εξαρτάται από το μέγεθος σελίδας"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Βρίσκεστε στη λειτουργία 4 KB της λειτουργίας που δεν εξαρτάται από το μέγεθος σελίδας. Δεν είναι δυνατή η εγγύηση της ακεραιότητας του λογισμικού σε αυτή τη λειτουργία. Επίσης, τυχόν δεδομένα τα οποία αποθηκεύονται στο τηλέφωνο ενώ είναι ξεκλειδωμένο το πρόγραμμα φόρτωσης εκκίνησης ενδέχεται να κινδυνεύουν. Ορισμένες δυνατότητες θα απενεργοποιηθούν σε αυτές τις λειτουργίες, επομένως ορισμένες εφαρμογές ενδέχεται να μην λειτουργούν. Για να εισέλθετε ξανά στη λειτουργία παραγωγής, πρέπει να κλειδώσετε το πρόγραμμα φόρτωσης εκκίνησης της συσκευής. Πατήστε για να διαβάσετε περισσότερα."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Βρίσκεστε στη λειτουργία 4 KB της λειτουργίας που δεν εξαρτάται από το μέγεθος σελίδας. Δεν είναι δυνατή η εγγύηση της ακεραιότητας του λογισμικού σε αυτή τη λειτουργία. Επίσης, τυχόν δεδομένα τα οποία αποθηκεύονται στο τηλέφωνο ενώ είναι ξεκλειδωμένο το πρόγραμμα φόρτωσης εκκίνησης ενδέχεται να κινδυνεύουν. Ορισμένες δυνατότητες θα απενεργοποιηθούν σε αυτές τις λειτουργίες, επομένως ορισμένες εφαρμογές ενδέχεται να μην λειτουργούν. Για να εισέλθετε ξανά στη λειτουργία παραγωγής, πρέπει να κλειδώσετε το πρόγραμμα φόρτωσης εκκίνησης της συσκευής. Αυτή η ενέργεια θα είχε ως αποτέλεσμα την επαναφορά των εργοστασιακών ρυθμίσεων ξανά, καθώς και την επαναφορά της συσκευής στις ρυθμίσεις παραγωγής. Μετά την επιτυχημένη εκκίνηση της συσκευής στο Android, απενεργοποιήστε το OEM ξεκλείδωμα στις Επιλογές για προγραμματιστές. Αν η συσκευή δεν ολοκληρώσει την εκκίνηση στο Android με επιτυχία ή είναι ασταθής, εγκαταστήστε εκ νέου τις πιο πρόσφατες εργοστασιακές εικόνες στη συσκευή από τη διεύθυνση <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ή χρησιμοποιήστε <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> και επιλέξτε Εκκαθάριση συσκευής, Κλείδωμα προγράμματος φόρτωσης εκκίνησης και Αναγκαστικό flash όλων των διαμερισμάτων."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Χρήση της λειτουργίας 16 KB που δεν εξαρτάται από το μέγεθος σελίδας"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Βρίσκεστε στη λειτουργία 16 KB της λειτουργίας που δεν εξαρτάται από το μέγεθος σελίδας. Δεν είναι δυνατή η εγγύηση της ακεραιότητας του λογισμικού σε αυτή τη λειτουργία. Επίσης, τυχόν δεδομένα τα οποία αποθηκεύονται στο τηλέφωνο ενώ είναι ξεκλειδωμένο το πρόγραμμα φόρτωσης εκκίνησης ενδέχεται να κινδυνεύουν. Ορισμένες δυνατότητες θα απενεργοποιηθούν σε αυτές τις λειτουργίες, επομένως ορισμένες εφαρμογές ενδέχεται να μην λειτουργούν. Για να εισέλθετε ξανά στη λειτουργία παραγωγής, πρέπει να μεταβείτε ξανά στη λειτουργία 4 KB και κατόπιν να κλειδώσετε το πρόγραμμα φόρτωσης εκκίνησης της συσκευής. Πατήστε για να διαβάσετε περισσότερα."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Βρίσκεστε στη λειτουργία 16 KB της λειτουργίας που δεν εξαρτάται από το μέγεθος σελίδας. Δεν είναι δυνατή η εγγύηση της ακεραιότητας του λογισμικού σε αυτή τη λειτουργία. Επίσης, τυχόν δεδομένα τα οποία αποθηκεύονται στο τηλέφωνο ενώ είναι ξεκλειδωμένο το πρόγραμμα φόρτωσης εκκίνησης ενδέχεται να κινδυνεύουν. Ορισμένες δυνατότητες θα απενεργοποιηθούν σε αυτές τις λειτουργίες, επομένως ορισμένες εφαρμογές ενδέχεται να μην λειτουργούν. Για να εισέλθετε ξανά στη λειτουργία παραγωγής, πρέπει να μεταβείτε ξανά στη λειτουργία 4 KB και κατόπιν να κλειδώσετε το πρόγραμμα φόρτωσης εκκίνησης της συσκευής. Αυτή η ενέργεια θα είχε ως αποτέλεσμα την επαναφορά των εργοστασιακών ρυθμίσεων ξανά, καθώς και την επαναφορά της συσκευής στις ρυθμίσεις παραγωγής. Μετά την επιτυχημένη εκκίνηση της συσκευής στο Android, απενεργοποιήστε το OEM ξεκλείδωμα στις Επιλογές για προγραμματιστές. Αν η συσκευή δεν ολοκληρώσει την εκκίνηση στο Android με επιτυχία ή είναι ασταθής, εγκαταστήστε εκ νέου τις πιο πρόσφατες εργοστασιακές εικόνες στη συσκευή από τη διεύθυνση <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ή χρησιμοποιήστε <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> και επιλέξτε Εκκαθάριση συσκευής, Κλείδωμα προγράμματος φόρτωσης εκκίνησης και Αναγκαστικό flash όλων των διαμερισμάτων."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Βρίσκεστε στη λειτουργία 16 KB της λειτουργίας που δεν εξαρτάται από το μέγεθος σελίδας. Δεν είναι δυνατή η εγγύηση της ακεραιότητας του λογισμικού σε αυτή τη λειτουργία. Επίσης, τυχόν δεδομένα τα οποία αποθηκεύονται στο τηλέφωνο ενώ είναι ξεκλειδωμένο το πρόγραμμα φόρτωσης εκκίνησης ενδέχεται να κινδυνεύουν. Ορισμένες δυνατότητες θα απενεργοποιηθούν σε αυτές τις λειτουργίες, επομένως ορισμένες εφαρμογές ενδέχεται να μην λειτουργούν. Για να εισέλθετε ξανά στη λειτουργία παραγωγής, πρέπει να μεταβείτε ξανά στη λειτουργία 4 KB και κατόπιν να κλειδώσετε το πρόγραμμα φόρτωσης εκκίνησης της συσκευής. Πατήστε για να διαβάσετε περισσότερα."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Βρίσκεστε στη λειτουργία 16 KB της λειτουργίας που δεν εξαρτάται από το μέγεθος σελίδας. Δεν είναι δυνατή η εγγύηση της ακεραιότητας του λογισμικού σε αυτή τη λειτουργία. Επίσης, τυχόν δεδομένα τα οποία αποθηκεύονται στο τηλέφωνο ενώ είναι ξεκλειδωμένο το πρόγραμμα φόρτωσης εκκίνησης ενδέχεται να κινδυνεύουν. Ορισμένες δυνατότητες θα απενεργοποιηθούν σε αυτές τις λειτουργίες, επομένως ορισμένες εφαρμογές ενδέχεται να μην λειτουργούν. Για να εισέλθετε ξανά στη λειτουργία παραγωγής, πρέπει να μεταβείτε ξανά στη λειτουργία 4 KB και κατόπιν να κλειδώσετε το πρόγραμμα φόρτωσης εκκίνησης της συσκευής. Αυτή η ενέργεια θα είχε ως αποτέλεσμα την εκ νέου επαναφορά των εργοστασιακών ρυθμίσεων, καθώς και την επαναφορά της συσκευής στις ρυθμίσεις παραγωγής. Μετά την επιτυχημένη εκκίνηση της συσκευής στο Android, απενεργοποιήστε το OEM ξεκλείδωμα στις Επιλογές για προγραμματιστές. Αν η συσκευή δεν ολοκληρώσει την εκκίνηση στο Android με επιτυχία ή είναι ασταθής, εγκαταστήστε εκ νέου τις πιο πρόσφατες εργοστασιακές εικόνες στη συσκευή από τη διεύθυνση <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ή χρησιμοποιήστε το <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> και επιλέξτε Εκκαθάριση συσκευής, Κλείδωμα προγράμματος φόρτωσης εκκίνησης και Αναγκαστικό flash όλων των διαμερισμάτων."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Λειτουργία 16 KB που δεν εξαρτάται από το μέγεθος σελίδας"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Διαβάστε περισσότερα"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Χειρισμός Αναφοράς σφάλματος"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Χρήση καρφιτσώματος εφαρμογής"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Χρήση επιλογών για προγραμματιστές"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Χρήση υπηρεσίας εκτύπωσης"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Να επιτρέπονται πολλαπλοί χρήστες"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"επιτρέπεται, πολλαπλοί, χρήστες, άδεια, πολλοί"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"πολλά, χρήστες, προφίλ, άτομα, λογαριασμοί, αλλαγή, πολλοί"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Χρήση ασύρματου εντοπισμού σφαλμάτων"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Επιλέξτε τι θα εμφανίζεται στην οθόνη σας όταν το tablet είναι στη βάση σύνδεσης. Η συσκευή σας μπορεί να καταναλώνει περισσότερη ενέργεια όταν χρησιμοποιείται μια προφύλαξη οθόνης."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Προσαρμογή"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Προσαρμογή <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Απαιτείται επανεκκίνηση για την ενεργοποίηση της υποστήριξης ελεύθερης μορφής."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Απαιτείται επανεκκίνηση για την επιβολή χρήσης της λειτουργίας υπολογιστή σε δευτερεύουσες οθόνες."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Απαιτείται επανεκκίνηση για την ενεργοποίηση της υποστήριξης προσαρμογής σε παράθυρο ελεύθερης μορφής παλαιού τύπου."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Απαιτείται επανεκκίνηση για την αλλαγή της υποστήριξης προσαρμογής σε παράθυρο ελεύθερης μορφής."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Απαιτείται επανεκκίνηση για την επιβολή προσαρμογής σε παράθυρο ελεύθερης μορφής σε δευτερεύουσες οθόνες."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Επανεκκίνηση τώρα"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Επανεκκίνηση αργότερα"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Χωρικός ήχος"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Ακρόαση ροής"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Σαρώστε τον κωδικό QR μιας ροής ήχου για να ακούσετε με τη συσκευή <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Δεν είναι δυνατή η επεξεργασία του κωδικού πρόσβασης κατά την κοινή χρήση. Για να αλλάξετε τον κωδικό πρόσβασης, αρχικά, απενεργοποιήστε την κοινή χρήση ήχου."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-en-rAU/arrays.xml b/res/values-en-rAU/arrays.xml
index 839e9a8..53f9b0a 100644
--- a/res/values-en-rAU/arrays.xml
+++ b/res/values-en-rAU/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Bedtime"</item>
+ <item msgid="4152450357280759894">"Driving"</item>
+ <item msgid="7096549258219399423">"Immersive"</item>
+ <item msgid="2760716776980432977">"Managed"</item>
+ <item msgid="601734478369121764">"Star"</item>
+ <item msgid="6243809315432780521">"Calendar"</item>
+ <item msgid="4913577903148415331">"Time"</item>
+ <item msgid="3653377604690057780">"Theatre"</item>
+ <item msgid="3843711267408385410">"Flower"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 164486d..c7915ec 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Hearing device settings"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Shortcut, hearing aid compatibility"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Preset"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"There are no presets programmed by your audiologist"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Couldn\'t update preset"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audio output"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"About audio output"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Face and <xliff:g id="WATCH">%s</xliff:g> added"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Face, fingerprint and <xliff:g id="WATCH">%s</xliff:g> added"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Face, fingerprints and <xliff:g id="WATCH">%s</xliff:g> added"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"This is needed since Identity Check is on"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote authenticator unlock"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Watch added"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Set up your watch"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Learn more about Watch Unlock"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Add watch"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Remove watch"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Fingerprint and Face Unlock"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Face and Fingerprint Unlock"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Face and Fingerprint Unlock for work"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Setup needed"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Face and fingerprints added"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Install apps"</b>\n"Install apps that you want to keep private in your space"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Bear in mind"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Apps stop when you lock your space"</b>\n"When you lock your space, apps in your space are stopped and you won\'t receive notifications from them"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Private spaces are not suitable for apps that need to run in the background or send critical notifications, such as medical apps. This is because notifications and background activity are stopped when your space is locked.\n\nApps in your private space won\'t appear in Permission manager, privacy dashboard and other settings when your private space is locked.\n\nYour private space can\'t be moved to a new device. You\'ll need to set up another private space if you want to use it on another device.\n\nAnyone that connects your device to a computer or installs harmful apps on your device may be able to access your private space."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Private spaces are not suitable for apps that need to run in the background or send critical notifications, such as medical apps. This is because notifications and background activity are stopped when your space is locked.\n\nApps in your private space won\'t appear in Permission manager, privacy dashboard and other settings when private space is locked.\n\nYour private space can\'t be restored to a new device. You\'ll need to set up another space if you want to use it on another device.\n\nAnyone that connects your device to a computer or installs malicious apps on your device may be able to access your private space."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Learn more about private space"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"This will take a few moments"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Setting up private space…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Restart device?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Detailed NFC logging is intended for development purposes only. Additional NFC data is included in bug reports, which may contain private information. Restart your device to change this setting."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Restart"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Cast"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"mirror"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Enable wireless display"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptive"</string>
<string name="brightness" msgid="6216871641021779698">"Brightness level"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Adaptive brightness"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"About adaptive brightness"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Your screen brightness will automatically adjust to your environment and activities. You can move the slider manually to help adaptive brightness learn your preferences."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"On"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Off"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Options"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibility"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Physical keyboard"</string>
- <string name="show_ime" msgid="4334255501724746849">"Use on-screen keyboard"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Keep it on screen while physical keyboard is active"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Bounce keys"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"The keyboard ignores quickly repeated presses of the same key within <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Slow keys"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"User selected: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Speech"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Pointer speed"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Game Controller"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Redirect vibration"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Send vibration to game controller when connected"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continue anyway"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancel"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Magnification settings"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"One-finger panning"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Move magnifier with 1 finger"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Drag 1 finger to move around the screen"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Move the magnification area by dragging one finger."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Move the magnification area by dragging two fingers."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Unavailable while only magnifying part of the screen"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tap a button to zoom"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Quickly zoom in on the screen to make content larger"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>To zoom in:</b><br/> {0,number,integer}. Use shortcut to start magnification<br/> {1,number,integer}. Tap the screen<br/> {2,number,integer}. Drag two fingers to move around screen<br/> {3,number,integer}. Pinch with two fingers to adjust zoom<br/> {4,number,integer}. Use shortcut to stop magnification<br/><br/> <b>To zoom in temporarily:</b><br/> {0,number,integer}. Make sure that your magnification type is set to full screen<br/> {1,number,integer}. Use shortcut to start magnification<br/> {2,number,integer}. Touch and hold anywhere on the screen<br/> {3,number,integer}. Drag finger to move around screen<br/> {4,number,integer}. Lift finger to stop magnification"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>To zoom in:</b><br/> {0,number,integer}. Use shortcut to start magnification<br/> {1,number,integer}. Tap the screen<br/> {2,number,integer}. Drag 2 fingers to move around the screen<br/> {3,number,integer}. Pinch with 2 fingers to adjust zoom<br/> {4,number,integer}. Use shortcut to stop magnification<br/><br/> You can also zoom in temporarily and more."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>To zoom in:</b><br/> {0,number,integer}. Use shortcut to start magnification<br/> {1,number,integer}. Tap the screen<br/> {2,number,integer}. Drag 1 or 2 fingers to move around the screen<br/> {3,number,integer}. Pinch with 2 fingers to adjust zoom<br/> {4,number,integer}. Use shortcut to stop magnification<br/><br/> You can also zoom in temporarily and more."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"When magnification is turned on, you can zoom in on your screen.\n\n"<b>"To zoom"</b>", start magnification, then tap anywhere on the screen.\n"<ul><li>"Drag 2 or more fingers to scroll"</li>\n<li>"Pinch 2 or more fingers to adjust zoom"</li></ul>\n\n<b>"To zoom temporarily"</b>", start magnification, then touch and hold anywhere on the screen.\n"<ul><li>"Drag to move around the screen"</li>\n<li>"Lift finger to zoom out"</li></ul>\n\n"You can’t zoom in on the keyboard or navigation bar."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Page <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> of <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Accessibility button shortcut"</string>
@@ -3179,7 +3217,7 @@
<string name="keywords_time_format" msgid="5384803098766166820">"Use 24-hour format"</string>
<string name="keywords_app_default" msgid="8977706259156428770">"Open with"</string>
<string name="keywords_applications_settings" msgid="999926810912037792">"Applications"</string>
- <string name="keywords_time_zone" msgid="6402919157244589055">"time zone"</string>
+ <string name="keywords_time_zone" msgid="6402919157244589055">"timezone"</string>
<string name="keywords_draw_overlay" msgid="3170036145197260392">"Chat head, system, alert, window, dialogue, display, on top other apps, draw"</string>
<string name="keywords_flashlight" msgid="2133079265697578183">"Flashlight, Light, Torch"</string>
<string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, toggle, control"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Only get notified by important people and apps"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Select activation type"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Time"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"e.g. \'9.30 – 5.00 p.m.\'"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Calendar"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"e.g. \'Personal calendar\'"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Create a mode"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Custom"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limit interruptions"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Turn on Do Not Disturb"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarms and media sounds can interrupt"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Schedules"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Delete schedules"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Delete"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Edit"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Schedules"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Schedule"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Set a schedule"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Schedule"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g>hr, <xliff:g id="MINUTES">%2$d</xliff:g>min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Turn on automatically"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Schedule"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Silence phone at certain times"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Set do not disturb rules"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Allow interruptions that make sound"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Block visual disturbances"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Allow visual signals"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Notifications that can reach you"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Stay focused"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Additional actions"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Display settings"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Display options"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"Enable Dark theme"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Switch the OS and apps to prefer light text on a dark background, which may be easier on the eyes and confers significant battery savings on some devices"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{No display changes}=1{{effect_1}}=2{{effect_1} and {effect_2}}=3{{effect_1}, {effect_2} and {effect_3}}other{{effect_1}, {effect_2} and # more}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filter interruptions"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"No interruptions are filtered"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Display options for filtered notifications"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"When Do Not Disturb is on"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"No sound from notifications"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"open notification"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Allow notification snoozing"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Notification dot on app icon"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Notification bundles"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Bubbles"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubbles"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Bubble this conversation"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Categories"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Other"</string>
<string name="no_channels" msgid="4716199078612071915">"This app has not posted any notifications"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Show unused categories"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Additional settings in the app"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Show unused categories"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Hide unused categories"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"All"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Allow apps to override"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps that can interrupt"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Select more apps"</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Case"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Battery"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Settings Panel"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Force desktop mode"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Force experimental desktop mode on secondary displays"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Enable freeform windows"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Enable support for freeform windows."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Enable freeform windowing on second display"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Enable freeform windows only on secondary display."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Enable non-resizable in Multi-window"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Allows non-resizable apps to be in Multi-window"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Override force-dark"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"This device\'s data partition needs to be converted to ext4 before using the 16 KB developer option. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Activating the 16 KB option will require one more reboot after this. Once you are in this mode, you can switch back and forth between 4 KB and 16 KB mode with a single reboot. Some features will be disabled in these modes, so some applications may not work. To return the device to Production mode, you would need to switch back to 4 KB mode and then lock the bootloader, which factory resets the device. Once the device successfully boots into Android, disable OEM unlocking in Developer options. The device will be wiped and the filesystem will be changed to ext4 after confirmation. Once this completes, please come back to enable 16 KB again."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Erase all data"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Failed to reformat and wipe the data partition to ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Bootloader unlock required for 16 KB mode"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Bootloader unlock required"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"This device needs to have the bootloader unlocked before using the 16 KB developer option. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. All user data and settings will be wiped when activating 16 KB mode. Once the bootloader is unlocked, activating the 16 KB option will require two reboots. Once you are in this mode, you can switch back and forth between 4 KB and 16 KB mode with a single reboot. Some features will be disabled in these modes, so some applications may not work. To return the device to Production mode, you would need to switch back to 4 KB mode and then OEM/bootloader lock (which factory resets) the device. Please unlock the bootloader and try again. You can see instructions for how to do this at <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Using 4 KB page-agnostic mode"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"You are in the 4 KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the Production mode, you must lock the bootloader of the device. Tap to read more."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"You are in the 4 KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the Production mode, you must lock the bootloader of the device. This would factory reset the device again and restore it to production settings. Once the device successfully boots into Android, disable OEM unlocking in Developer options. If the device fails to boot into Android or is unstable, re-flash the device with the latest factory images from <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> and select \'Wipe device\', \'Lock bootloader\' and \'Force flash all partitions\'."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Using 16 KB page-agnostic mode"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"You are in the 16 KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the Production mode, you must switch back to 4 KB mode and then lock the bootloader of the device. Tap to read more."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"You are in the 16 KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the Production mode, you must switch back to 4 KB mode and then lock the bootloader of the device. This would factory reset the device again and restore it to production settings. Once the device successfully boots into Android, disable OEM unlocking in Developer options. If the device fails to boot into Android or is unstable, re-flash the device with the latest factory images from <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> and select \'Wipe device\', \'Lock bootloader\' and \'Force flash all partitions\'."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"You are in the 16 KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the production mode, you must switch back to 4 KB mode and then lock the bootloader of the device. Tap to read more."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"You are in the 16 KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the production mode, you must switch back to 4 KB mode and then lock the bootloader of the device. This would factory reset the device again and restore it to production settings. Once the device successfully boots into Android, disable OEM unlocking in Developer options. If the device fails to boot into Android or is unstable, re-flash the device with the latest factory images from <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> and select \'Wipe device\', \'Lock bootloader\' and \'Force flash all partitions\'."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16 KB page-agnostic mode"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Read more"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Bug report handler"</string>
@@ -5007,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Use app pinning"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Use Developer options"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Use print service"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Allow multiple users"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"allow, multiple, user, permit, many"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"multiple, users, profiles, people, accounts, switch, many"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Use wireless debugging"</string>
@@ -5121,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Choose what you’ll see on your screen when your tablet is docked. Your device may use more energy when a screen saver is used."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Customise"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Customise <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"A reboot is required to enable freeform support."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"A reboot is required to force desktop mode on secondary displays."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"A reboot is required to enable legacy freeform windowing support."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"A reboot is required to change freeform windowing support."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"A reboot is required to force freeform windowing on secondary displays."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reboot now"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reboot later"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Spatial audio"</string>
@@ -5351,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Listen to stream"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Scan an audio stream QR code to listen with <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Can\'t edit password while sharing. To change the password, first turn off audio sharing."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-en-rCA/arrays.xml b/res/values-en-rCA/arrays.xml
index c6a61b4..3dee62f 100644
--- a/res/values-en-rCA/arrays.xml
+++ b/res/values-en-rCA/arrays.xml
@@ -509,4 +509,6 @@
<item msgid="3653377604690057780">"Theater"</item>
<item msgid="3843711267408385410">"Flower"</item>
</string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index 4ede5cb..16ee68a 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -76,6 +76,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Hearing device settings"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Shortcut, hearing aid compatibility"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Preset"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"There are no presets programmed by your audiologist"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Couldn’t update preset"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audio output"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"About audio output"</string>
@@ -409,6 +410,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Face and <xliff:g id="WATCH">%s</xliff:g> added"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Face, fingerprint, and <xliff:g id="WATCH">%s</xliff:g> added"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Face, fingerprints, and <xliff:g id="WATCH">%s</xliff:g> added"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"This is needed since Identity Check is on"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator Unlock"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Watch added"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Set up your watch"</string>
@@ -436,7 +438,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Learn more about Watch Unlock"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Add watch"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Remove watch"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Fingerprint & Face Unlock"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Face and Fingerprint Unlock"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Face and Fingerprint Unlock for work"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Setup needed"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Face and fingerprints added"</string>
@@ -848,6 +850,21 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Restart Device?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Detail NFC logging is intended for development purposes only. Additional NFC data is included in bug reports, which may contain private information. Restart your device to change this setting."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Restart"</string>
+ <string name="keywords_external_display" msgid="4181375057920134909">"mirror, external display, connected display, usb display, resolution, rotation"</string>
+ <string name="external_display_on" msgid="2560104443500154333">"On"</string>
+ <string name="external_display_off" msgid="5634413756025351374">"Off"</string>
+ <string name="external_display_settings_title" msgid="6256884595821605779">"External Display"</string>
+ <string name="external_display_use_title" msgid="8198257340836261386">"Use external display"</string>
+ <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Display resolution"</string>
+ <string name="external_display_not_found" msgid="1912355133386555798">"External display is disconnected"</string>
+ <string name="external_display_rotation" msgid="7160062306817490204">"Rotation"</string>
+ <string name="external_display_standard_rotation" msgid="545969032327487219">"Standard"</string>
+ <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+ <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+ <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+ <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Changing rotation or resolution may stop any apps that are currently running"</string>
+ <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Your device must be connected to an external display to mirror your screen"</string>
+ <string name="external_display_more_options_title" msgid="1222751990705118774">"More options"</string>
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Cast"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"mirror"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Enable wireless display"</string>
@@ -1189,6 +1206,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptive"</string>
<string name="brightness" msgid="6216871641021779698">"Brightness level"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Adaptive brightness"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"About adaptive brightness"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Your screen brightness will automatically adjust to your environment and activities. You can move the slider manually to help adaptive brightness learn your preferences."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"On"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Off"</string>
@@ -1894,8 +1912,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Options"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibility"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Physical keyboard"</string>
- <string name="show_ime" msgid="4334255501724746849">"Use on-screen keyboard"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Keep it on screen while physical keyboard is active"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Bounce keys"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"The keyboard ignores quickly repeated presses of the same key within <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Slow keys"</string>
@@ -1969,6 +1985,9 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"User selected: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Speech"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Pointer speed"</string>
+ <string name="pointer_scale" msgid="4941564570571663964">"Pointer scale"</string>
+ <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Decrease pointer scale"</string>
+ <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Increase pointer scale"</string>
<string name="game_controller_settings_category" msgid="8557472715034961918">"Game Controller"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Redirect vibration"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Send vibration to game controller when connected"</string>
@@ -2091,7 +2110,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continue anyway"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancel"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Magnification settings"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"One-finger panning"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Move magnifier with 1 finger"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Drag 1 finger to move around the screen"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Move the magnification area by dragging one finger."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Move the magnification area by dragging two fingers."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Unavailable while only magnifying part of the screen"</string>
@@ -2115,6 +2135,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tap a button to zoom"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Quickly zoom in on the screen to make content larger"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>To zoom in:</b><br/> {0,number,integer}. Use shortcut to start magnification<br/> {1,number,integer}. Tap the screen<br/> {2,number,integer}. Drag two fingers to move around screen<br/> {3,number,integer}. Pinch with two fingers to adjust zoom<br/> {4,number,integer}. Use shortcut to stop magnification<br/><br/> <b>To zoom in temporarily:</b><br/> {0,number,integer}. Make sure your magnification type is set to full screen<br/> {1,number,integer}. Use shortcut to start magnification<br/> {2,number,integer}. Touch and hold anywhere on the screen<br/> {3,number,integer}. Drag finger to move around screen<br/> {4,number,integer}. Lift finger to stop magnification"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>To zoom in:</b><br/> {0,number,integer}. Use shortcut to start magnification<br/> {1,number,integer}. Tap the screen<br/> {2,number,integer}. Drag 2 fingers to move around the screen<br/> {3,number,integer}. Pinch with 2 fingers to adjust zoom<br/> {4,number,integer}. Use shortcut to stop magnification<br/><br/> You can also zoom in temporarily and more."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>To zoom in:</b><br/> {0,number,integer}. Use shortcut to start magnification<br/> {1,number,integer}. Tap the screen<br/> {2,number,integer}. Drag 1 or 2 fingers to move around the screen<br/> {3,number,integer}. Pinch with 2 fingers to adjust zoom<br/> {4,number,integer}. Use shortcut to stop magnification<br/><br/> You can also zoom in temporarily and more."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"When magnification is turned on, you can zoom in on your screen.\n\n"<b>"To zoom"</b>", start magnification, then tap the screen anywhere.\n"<ul><li>"Drag two or more fingers to scroll"</li>\n<li>"Pinch two or more fingers to adjust the zoom"</li></ul>\n\n<b>"To zoom temporarily"</b>", start magnification, then touch and hold the screen anywhere.\n"<ul><li>"Drag to move around the screen"</li>\n<li>"Lift finger to zoom out"</li></ul>\n\n"You can\'t zoom in on the keyboard or navigation bar."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Page <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> of <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Accessibility button shortcut"</string>
@@ -3320,15 +3342,26 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{None}=1{1 schedule set}other{# schedules set}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Do Not Disturb"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Priority Modes"</string>
- <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
- <skip />
+ <string name="zen_modes_add_mode" msgid="4806287336036228772">"Add a mode"</string>
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Only get notified by important people and apps"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Select activation type"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Time"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Ex. \"9:30 – 5:00 PM\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Calendar"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Ex. \"Personal calendar\""</string>
+ <string name="zen_mode_active_text" msgid="5002406772481439437">"ON"</string>
+ <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Not set"</string>
+ <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Disabled"</string>
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Create a mode"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Custom"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limit interruptions"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Turn on Do Not Disturb"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarms and media sounds can interrupt"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Schedules"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Delete schedules"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Delete"</string>
+ <string name="zen_mode_menu_delete_mode" msgid="3190031534736428573">"Delete mode"</string>
+ <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Delete \"<xliff:g id="MODE">%1$s</xliff:g>\" mode?"</string>
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Edit"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Schedules"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Schedule"</string>
@@ -3339,6 +3372,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Set a schedule"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Schedule"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> hr, <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Turn on automatically"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Schedule"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Silence phone at certain times"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Set Do Not Disturb rules"</string>
@@ -3348,7 +3382,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Allow interruptions that make sound"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Block visual disturbances"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Allow visual signals"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Notifications that can reach you"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Stay focused"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Additional actions"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Display settings"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Display options"</string>
@@ -3365,6 +3399,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"enable dark theme"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Switch the OS and apps to prefer light text on a dark background, which may be easier on the eyes and confers significant battery savings on some devices"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{No display changes}=1{{effect_1}}=2{{effect_1} and {effect_2}}=3{{effect_1}, {effect_2}, and {effect_3}}other{{effect_1}, {effect_2}, and # more}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filter interruptions"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"No interruptions are filtered"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Display options for filtered notifications"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"When Do Not Disturb is on"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"No sound from notifications"</string>
@@ -3480,6 +3516,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"open notification"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Allow notification snoozing"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Notification dot on app icon"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Notification bundles"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Bubbles"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubbles"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Bubble this conversation"</string>
@@ -3658,6 +3695,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Categories"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Other"</string>
<string name="no_channels" msgid="4716199078612071915">"This app has not posted any notifications"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Show unused categories"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Additional settings in the app"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Show unused categories"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Hide unused categories"</string>
@@ -3767,7 +3805,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Selected apps"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"None"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"All"</string>
- <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{No apps can interrupt}=1{{app_1} can interrupt}=2{{app_1} and {app_2} can interrupt}=3{{app_1}, {app_2}, and {app_3} can interrupt}other{{app_1}, {app_2}, and # more can interrupt}}"</string>
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
<skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Allow apps to override"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps that can interrupt"</string>
@@ -4793,8 +4832,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Case"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Battery"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Settings Panel"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Force desktop mode"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Force experimental desktop mode on secondary displays"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Enable freeform windows"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Enable support for freeform windows."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Enable freeform windowing on second display"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Enable freeform windows only on secondary display."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Enable non-resizable in multi window"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Allows non-resizable apps to be in multi window"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Override force-dark"</string>
@@ -4862,14 +4903,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"This device’s data partition needs to be converted to ext4 before using the 16KB developer option. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Activating the 16KB option will require one more reboot after this. Once you are in this mode, you can switch back and forth between 4KB and 16KB mode with a single reboot. Some features will be disabled in these modes, so some applications may not work. To return the device to production mode, you would need to switch back to 4KB mode and then lock the bootloader, which factory resets the device. After the device successfully boots into Android, disable OEM unlocking in Developer options. The device will be wiped and the filesystem will be changed to ext4 after confirmation. After this completes, please come back to enable 16KB again."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Erase all data"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Failed to reformat and wipe the data partition to ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Bootloader Unlock Required for 16KB Mode"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Bootloader Unlock Required"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"This device needs to have the bootloader unlocked before using the 16KB developer option. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. All user data and settings will be wiped when activating 16KB mode. Once the bootloader is unlocked, activating the 16KB option will require two reboots. Once you are in this mode, you can switch back and forth between 4KB and 16KB mode with a single reboot. Some features will be disabled in these modes, so some applications may not work. To return the device to production mode, you would need to switch back to 4KB mode and then OEM/bootloader lock (which factory resets) the device. Please unlock the bootloader and try again. You can see instructions for how to do this at <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Using 4KB page-agnostic mode"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"You are in the 4KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the production mode, you must lock the bootloader of the device. Tap to read more."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"You are in the 4KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the production mode, you must lock the bootloader of the device. This would factory reset the device again and restore it to production settings. After the device successfully boots into Android, disable OEM unlocking in Developer options. If the device fails to boot into Android or is unstable, re-flash the device with the latest factory images from <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> and select \'Wipe Device\', \'Lock Bootloader\' and \'Force Flash all partitions\'."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Using 16KB page-agnostic mode"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"You are in the 16KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the production mode, you must, switch back to 4K mode and then lock the bootloader of the device. Tap to read more."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"You are in the 16KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the production mode, you must, switch back to 4K mode and then lock the bootloader of the device. This would factory reset the device again and restore it to production settings. After the device successfully boots into Android, disable OEM unlocking in Developer options. If the device fails to boot into Android or is unstable, re-flash the device with the latest factory images from <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> and select \'Wipe Device\', \'Lock Bootloader\' and \'Force Flash all partitions\'."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"You are in the 16KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the production mode, you must, switch back to 4KB mode and then lock the bootloader of the device. Tap to read more."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"You are in the 16KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the production mode, you must, switch back to 4KB mode and then lock the bootloader of the device. This would factory reset the device again and restore it to production settings. After the device successfully boots into Android, disable OEM unlocking in Developer options. If the device fails to boot into Android or is unstable, re-flash the device with the latest factory images from <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> and select \'Wipe Device\', \'Lock Bootloader\' and \'Force Flash all partitions\'."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16KB Page-agnostic Mode"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Read more"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Bug report handler"</string>
@@ -5001,7 +5042,7 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Use app pinning"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Use developer options"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Use print service"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Allow multiple users"</string>
+ <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Allow user switch"</string>
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"allow, multiple, user, permit, many"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"multiple, users, profiles, people, accounts, switch, many"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Use wireless debugging"</string>
@@ -5115,8 +5156,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Choose what you’ll see on your screen when your tablet is docked. Your device may use more energy when a screen saver is used."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Customize"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Customize <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"A reboot is required to enable freeform support."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"A reboot is required to force desktop mode on secondary displays."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"A reboot is required to enable legacy freeform windowing support."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"A reboot is required to change freeform windowing support."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"A reboot is required to force freeform windowing on secondary displays."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reboot now"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reboot later"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Spatial Audio"</string>
@@ -5345,4 +5387,5 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Listen to stream"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Scan an audio stream QR code to listen with <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Can\'t edit password while sharing. To change the password, first turn off audio sharing."</string>
+ <string name="homepage_search" msgid="6759334912284663559">"Search Settings"</string>
</resources>
diff --git a/res/values-en-rGB/arrays.xml b/res/values-en-rGB/arrays.xml
index 839e9a8..53f9b0a 100644
--- a/res/values-en-rGB/arrays.xml
+++ b/res/values-en-rGB/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Bedtime"</item>
+ <item msgid="4152450357280759894">"Driving"</item>
+ <item msgid="7096549258219399423">"Immersive"</item>
+ <item msgid="2760716776980432977">"Managed"</item>
+ <item msgid="601734478369121764">"Star"</item>
+ <item msgid="6243809315432780521">"Calendar"</item>
+ <item msgid="4913577903148415331">"Time"</item>
+ <item msgid="3653377604690057780">"Theatre"</item>
+ <item msgid="3843711267408385410">"Flower"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 2c16ef3..ebf5257 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Hearing device settings"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Shortcut, hearing aid compatibility"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Preset"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"There are no presets programmed by your audiologist"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Couldn\'t update preset"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audio output"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"About audio output"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Face and <xliff:g id="WATCH">%s</xliff:g> added"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Face, fingerprint and <xliff:g id="WATCH">%s</xliff:g> added"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Face, fingerprints and <xliff:g id="WATCH">%s</xliff:g> added"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"This is needed since Identity Check is on"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote authenticator unlock"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Watch added"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Set up your watch"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Learn more about Watch Unlock"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Add watch"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Remove watch"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Fingerprint and Face Unlock"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Face and Fingerprint Unlock"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Face and Fingerprint Unlock for work"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Setup needed"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Face and fingerprints added"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Install apps"</b>\n"Install apps that you want to keep private in your space"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Bear in mind"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Apps stop when you lock your space"</b>\n"When you lock your space, apps in your space are stopped and you won\'t receive notifications from them"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Private spaces are not suitable for apps that need to run in the background or send critical notifications, such as medical apps. This is because notifications and background activity are stopped when your space is locked.\n\nApps in your private space won\'t appear in Permission manager, privacy dashboard and other settings when your private space is locked.\n\nYour private space can\'t be moved to a new device. You\'ll need to set up another private space if you want to use it on another device.\n\nAnyone that connects your device to a computer or installs harmful apps on your device may be able to access your private space."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Private spaces are not suitable for apps that need to run in the background or send critical notifications, such as medical apps. This is because notifications and background activity are stopped when your space is locked.\n\nApps in your private space won\'t appear in Permission manager, privacy dashboard and other settings when private space is locked.\n\nYour private space can\'t be restored to a new device. You\'ll need to set up another space if you want to use it on another device.\n\nAnyone that connects your device to a computer or installs malicious apps on your device may be able to access your private space."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Learn more about private space"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"This will take a few moments"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Setting up private space…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Restart device?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Detailed NFC logging is intended for development purposes only. Additional NFC data is included in bug reports, which may contain private information. Restart your device to change this setting."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Restart"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Cast"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"mirror"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Enable wireless display"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptive"</string>
<string name="brightness" msgid="6216871641021779698">"Brightness level"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Adaptive brightness"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"About adaptive brightness"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Your screen brightness will automatically adjust to your environment and activities. You can move the slider manually to help adaptive brightness learn your preferences."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"On"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Off"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Options"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibility"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Physical keyboard"</string>
- <string name="show_ime" msgid="4334255501724746849">"Use on-screen keyboard"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Keep it on screen while physical keyboard is active"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Bounce keys"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"The keyboard ignores quickly repeated presses of the same key within <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Slow keys"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"User selected: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Speech"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Pointer speed"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Game Controller"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Redirect vibration"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Send vibration to game controller when connected"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continue anyway"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancel"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Magnification settings"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"One-finger panning"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Move magnifier with 1 finger"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Drag 1 finger to move around the screen"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Move the magnification area by dragging one finger."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Move the magnification area by dragging two fingers."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Unavailable while only magnifying part of the screen"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tap a button to zoom"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Quickly zoom in on the screen to make content larger"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>To zoom in:</b><br/> {0,number,integer}. Use shortcut to start magnification<br/> {1,number,integer}. Tap the screen<br/> {2,number,integer}. Drag two fingers to move around screen<br/> {3,number,integer}. Pinch with two fingers to adjust zoom<br/> {4,number,integer}. Use shortcut to stop magnification<br/><br/> <b>To zoom in temporarily:</b><br/> {0,number,integer}. Make sure that your magnification type is set to full screen<br/> {1,number,integer}. Use shortcut to start magnification<br/> {2,number,integer}. Touch and hold anywhere on the screen<br/> {3,number,integer}. Drag finger to move around screen<br/> {4,number,integer}. Lift finger to stop magnification"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>To zoom in:</b><br/> {0,number,integer}. Use shortcut to start magnification<br/> {1,number,integer}. Tap the screen<br/> {2,number,integer}. Drag 2 fingers to move around the screen<br/> {3,number,integer}. Pinch with 2 fingers to adjust zoom<br/> {4,number,integer}. Use shortcut to stop magnification<br/><br/> You can also zoom in temporarily and more."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>To zoom in:</b><br/> {0,number,integer}. Use shortcut to start magnification<br/> {1,number,integer}. Tap the screen<br/> {2,number,integer}. Drag 1 or 2 fingers to move around the screen<br/> {3,number,integer}. Pinch with 2 fingers to adjust zoom<br/> {4,number,integer}. Use shortcut to stop magnification<br/><br/> You can also zoom in temporarily and more."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"When magnification is turned on, you can zoom in on your screen.\n\n"<b>"To zoom"</b>", start magnification, then tap anywhere on the screen.\n"<ul><li>"Drag 2 or more fingers to scroll"</li>\n<li>"Pinch 2 or more fingers to adjust zoom"</li></ul>\n\n<b>"To zoom temporarily"</b>", start magnification, then touch and hold anywhere on the screen.\n"<ul><li>"Drag to move around the screen"</li>\n<li>"Lift finger to zoom out"</li></ul>\n\n"You can’t zoom in on the keyboard or navigation bar."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Page <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> of <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Accessibility button shortcut"</string>
@@ -3179,7 +3217,7 @@
<string name="keywords_time_format" msgid="5384803098766166820">"Use 24-hour format"</string>
<string name="keywords_app_default" msgid="8977706259156428770">"Open with"</string>
<string name="keywords_applications_settings" msgid="999926810912037792">"Applications"</string>
- <string name="keywords_time_zone" msgid="6402919157244589055">"time zone"</string>
+ <string name="keywords_time_zone" msgid="6402919157244589055">"timezone"</string>
<string name="keywords_draw_overlay" msgid="3170036145197260392">"Chat head, system, alert, window, dialogue, display, on top other apps, draw"</string>
<string name="keywords_flashlight" msgid="2133079265697578183">"Flashlight, Light, Torch"</string>
<string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, toggle, control"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Only get notified by important people and apps"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Select activation type"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Time"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"e.g. \'9.30 – 5.00 p.m.\'"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Calendar"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"e.g. \'Personal calendar\'"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Create a mode"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Custom"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limit interruptions"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Turn on Do Not Disturb"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarms and media sounds can interrupt"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Schedules"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Delete schedules"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Delete"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Edit"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Schedules"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Schedule"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Set a schedule"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Schedule"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g>hr, <xliff:g id="MINUTES">%2$d</xliff:g>min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Turn on automatically"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Schedule"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Silence phone at certain times"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Set do not disturb rules"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Allow interruptions that make sound"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Block visual disturbances"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Allow visual signals"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Notifications that can reach you"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Stay focused"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Additional actions"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Display settings"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Display options"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"Enable Dark theme"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Switch the OS and apps to prefer light text on a dark background, which may be easier on the eyes and confers significant battery savings on some devices"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{No display changes}=1{{effect_1}}=2{{effect_1} and {effect_2}}=3{{effect_1}, {effect_2} and {effect_3}}other{{effect_1}, {effect_2} and # more}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filter interruptions"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"No interruptions are filtered"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Display options for filtered notifications"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"When Do Not Disturb is on"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"No sound from notifications"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"open notification"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Allow notification snoozing"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Notification dot on app icon"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Notification bundles"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Bubbles"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubbles"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Bubble this conversation"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Categories"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Other"</string>
<string name="no_channels" msgid="4716199078612071915">"This app has not posted any notifications"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Show unused categories"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Additional settings in the app"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Show unused categories"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Hide unused categories"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"All"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Allow apps to override"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps that can interrupt"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Select more apps"</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Case"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Battery"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Settings Panel"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Force desktop mode"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Force experimental desktop mode on secondary displays"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Enable freeform windows"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Enable support for freeform windows."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Enable freeform windowing on second display"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Enable freeform windows only on secondary display."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Enable non-resizable in Multi-window"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Allows non-resizable apps to be in Multi-window"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Override force-dark"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"This device\'s data partition needs to be converted to ext4 before using the 16 KB developer option. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Activating the 16 KB option will require one more reboot after this. Once you are in this mode, you can switch back and forth between 4 KB and 16 KB mode with a single reboot. Some features will be disabled in these modes, so some applications may not work. To return the device to Production mode, you would need to switch back to 4 KB mode and then lock the bootloader, which factory resets the device. Once the device successfully boots into Android, disable OEM unlocking in Developer options. The device will be wiped and the filesystem will be changed to ext4 after confirmation. Once this completes, please come back to enable 16 KB again."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Erase all data"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Failed to reformat and wipe the data partition to ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Bootloader unlock required for 16 KB mode"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Bootloader unlock required"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"This device needs to have the bootloader unlocked before using the 16 KB developer option. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. All user data and settings will be wiped when activating 16 KB mode. Once the bootloader is unlocked, activating the 16 KB option will require two reboots. Once you are in this mode, you can switch back and forth between 4 KB and 16 KB mode with a single reboot. Some features will be disabled in these modes, so some applications may not work. To return the device to Production mode, you would need to switch back to 4 KB mode and then OEM/bootloader lock (which factory resets) the device. Please unlock the bootloader and try again. You can see instructions for how to do this at <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Using 4 KB page-agnostic mode"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"You are in the 4 KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the Production mode, you must lock the bootloader of the device. Tap to read more."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"You are in the 4 KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the Production mode, you must lock the bootloader of the device. This would factory reset the device again and restore it to production settings. Once the device successfully boots into Android, disable OEM unlocking in Developer options. If the device fails to boot into Android or is unstable, re-flash the device with the latest factory images from <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> and select \'Wipe device\', \'Lock bootloader\' and \'Force flash all partitions\'."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Using 16 KB page-agnostic mode"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"You are in the 16 KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the Production mode, you must switch back to 4 KB mode and then lock the bootloader of the device. Tap to read more."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"You are in the 16 KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the Production mode, you must switch back to 4 KB mode and then lock the bootloader of the device. This would factory reset the device again and restore it to production settings. Once the device successfully boots into Android, disable OEM unlocking in Developer options. If the device fails to boot into Android or is unstable, re-flash the device with the latest factory images from <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> and select \'Wipe device\', \'Lock bootloader\' and \'Force flash all partitions\'."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"You are in the 16 KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the production mode, you must switch back to 4 KB mode and then lock the bootloader of the device. Tap to read more."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"You are in the 16 KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the production mode, you must switch back to 4 KB mode and then lock the bootloader of the device. This would factory reset the device again and restore it to production settings. Once the device successfully boots into Android, disable OEM unlocking in Developer options. If the device fails to boot into Android or is unstable, re-flash the device with the latest factory images from <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> and select \'Wipe device\', \'Lock bootloader\' and \'Force flash all partitions\'."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16 KB page-agnostic mode"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Read more"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Bug report handler"</string>
@@ -5007,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Use app pinning"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Use Developer options"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Use print service"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Allow multiple users"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"allow, multiple, user, permit, many"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"multiple, users, profiles, people, accounts, switch, many"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Use wireless debugging"</string>
@@ -5121,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Choose what you’ll see on your screen when your tablet is docked. Your device may use more energy when a screen saver is used."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Customise"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Customise <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"A reboot is required to enable freeform support."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"A reboot is required to force desktop mode on secondary displays."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"A reboot is required to enable legacy freeform windowing support."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"A reboot is required to change freeform windowing support."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"A reboot is required to force freeform windowing on secondary displays."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reboot now"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reboot later"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Spatial audio"</string>
@@ -5351,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Listen to stream"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Scan an audio stream QR code to listen with <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Can\'t edit password while sharing. To change the password, first turn off audio sharing."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-en-rIN/arrays.xml b/res/values-en-rIN/arrays.xml
index 839e9a8..53f9b0a 100644
--- a/res/values-en-rIN/arrays.xml
+++ b/res/values-en-rIN/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Bedtime"</item>
+ <item msgid="4152450357280759894">"Driving"</item>
+ <item msgid="7096549258219399423">"Immersive"</item>
+ <item msgid="2760716776980432977">"Managed"</item>
+ <item msgid="601734478369121764">"Star"</item>
+ <item msgid="6243809315432780521">"Calendar"</item>
+ <item msgid="4913577903148415331">"Time"</item>
+ <item msgid="3653377604690057780">"Theatre"</item>
+ <item msgid="3843711267408385410">"Flower"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index a62d9ee..d2163b9 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Hearing device settings"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Shortcut, hearing aid compatibility"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Preset"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"There are no presets programmed by your audiologist"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Couldn\'t update preset"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audio output"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"About audio output"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Face and <xliff:g id="WATCH">%s</xliff:g> added"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Face, fingerprint and <xliff:g id="WATCH">%s</xliff:g> added"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Face, fingerprints and <xliff:g id="WATCH">%s</xliff:g> added"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"This is needed since Identity Check is on"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote authenticator unlock"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Watch added"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Set up your watch"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Learn more about Watch Unlock"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Add watch"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Remove watch"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Fingerprint and Face Unlock"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Face and Fingerprint Unlock"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Face and Fingerprint Unlock for work"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Setup needed"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Face and fingerprints added"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Install apps"</b>\n"Install apps that you want to keep private in your space"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Bear in mind"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Apps stop when you lock your space"</b>\n"When you lock your space, apps in your space are stopped and you won\'t receive notifications from them"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Private spaces are not suitable for apps that need to run in the background or send critical notifications, such as medical apps. This is because notifications and background activity are stopped when your space is locked.\n\nApps in your private space won\'t appear in Permission manager, privacy dashboard and other settings when your private space is locked.\n\nYour private space can\'t be moved to a new device. You\'ll need to set up another private space if you want to use it on another device.\n\nAnyone that connects your device to a computer or installs harmful apps on your device may be able to access your private space."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Private spaces are not suitable for apps that need to run in the background or send critical notifications, such as medical apps. This is because notifications and background activity are stopped when your space is locked.\n\nApps in your private space won\'t appear in Permission manager, privacy dashboard and other settings when private space is locked.\n\nYour private space can\'t be restored to a new device. You\'ll need to set up another space if you want to use it on another device.\n\nAnyone that connects your device to a computer or installs malicious apps on your device may be able to access your private space."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Learn more about private space"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"This will take a few moments"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Setting up private space…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Restart device?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Detailed NFC logging is intended for development purposes only. Additional NFC data is included in bug reports, which may contain private information. Restart your device to change this setting."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Restart"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Cast"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"mirror"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Enable wireless display"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptive"</string>
<string name="brightness" msgid="6216871641021779698">"Brightness level"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Adaptive brightness"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"About adaptive brightness"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Your screen brightness will automatically adjust to your environment and activities. You can move the slider manually to help adaptive brightness learn your preferences."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"On"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Off"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Options"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibility"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Physical keyboard"</string>
- <string name="show_ime" msgid="4334255501724746849">"Use on-screen keyboard"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Keep it on screen while physical keyboard is active"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Bounce keys"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"The keyboard ignores quickly repeated presses of the same key within <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Slow keys"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"User selected: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Speech"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Pointer speed"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Game Controller"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Redirect vibration"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Send vibration to game controller when connected"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continue anyway"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancel"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Magnification settings"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"One-finger panning"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Move magnifier with 1 finger"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Drag 1 finger to move around the screen"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Move the magnification area by dragging one finger."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Move the magnification area by dragging two fingers."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Unavailable while only magnifying part of the screen"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tap a button to zoom"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Quickly zoom in on the screen to make content larger"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>To zoom in:</b><br/> {0,number,integer}. Use shortcut to start magnification<br/> {1,number,integer}. Tap the screen<br/> {2,number,integer}. Drag two fingers to move around screen<br/> {3,number,integer}. Pinch with two fingers to adjust zoom<br/> {4,number,integer}. Use shortcut to stop magnification<br/><br/> <b>To zoom in temporarily:</b><br/> {0,number,integer}. Make sure that your magnification type is set to full screen<br/> {1,number,integer}. Use shortcut to start magnification<br/> {2,number,integer}. Touch and hold anywhere on the screen<br/> {3,number,integer}. Drag finger to move around screen<br/> {4,number,integer}. Lift finger to stop magnification"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>To zoom in:</b><br/> {0,number,integer}. Use shortcut to start magnification<br/> {1,number,integer}. Tap the screen<br/> {2,number,integer}. Drag 2 fingers to move around the screen<br/> {3,number,integer}. Pinch with 2 fingers to adjust zoom<br/> {4,number,integer}. Use shortcut to stop magnification<br/><br/> You can also zoom in temporarily and more."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>To zoom in:</b><br/> {0,number,integer}. Use shortcut to start magnification<br/> {1,number,integer}. Tap the screen<br/> {2,number,integer}. Drag 1 or 2 fingers to move around the screen<br/> {3,number,integer}. Pinch with 2 fingers to adjust zoom<br/> {4,number,integer}. Use shortcut to stop magnification<br/><br/> You can also zoom in temporarily and more."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"When magnification is turned on, you can zoom in on your screen.\n\n"<b>"To zoom"</b>", start magnification, then tap anywhere on the screen.\n"<ul><li>"Drag 2 or more fingers to scroll"</li>\n<li>"Pinch 2 or more fingers to adjust zoom"</li></ul>\n\n<b>"To zoom temporarily"</b>", start magnification, then touch and hold anywhere on the screen.\n"<ul><li>"Drag to move around the screen"</li>\n<li>"Lift finger to zoom out"</li></ul>\n\n"You can’t zoom in on the keyboard or navigation bar."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Page <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> of <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Accessibility button shortcut"</string>
@@ -3179,7 +3217,7 @@
<string name="keywords_time_format" msgid="5384803098766166820">"Use 24-hour format"</string>
<string name="keywords_app_default" msgid="8977706259156428770">"Open with"</string>
<string name="keywords_applications_settings" msgid="999926810912037792">"Applications"</string>
- <string name="keywords_time_zone" msgid="6402919157244589055">"time zone"</string>
+ <string name="keywords_time_zone" msgid="6402919157244589055">"timezone"</string>
<string name="keywords_draw_overlay" msgid="3170036145197260392">"Chat head, system, alert, window, dialogue, display, on top other apps, draw"</string>
<string name="keywords_flashlight" msgid="2133079265697578183">"Flashlight, Light, Torch"</string>
<string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, toggle, control"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Only get notified by important people and apps"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Select activation type"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Time"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"e.g. \'9.30 – 5.00 p.m.\'"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Calendar"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"e.g. \'Personal calendar\'"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Create a mode"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Custom"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limit interruptions"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Turn on Do Not Disturb"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarms and media sounds can interrupt"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Schedules"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Delete schedules"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Delete"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Edit"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Schedules"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Schedule"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Set a schedule"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Schedule"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g>hr, <xliff:g id="MINUTES">%2$d</xliff:g>min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Turn on automatically"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Schedule"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Silence phone at certain times"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Set do not disturb rules"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Allow interruptions that make sound"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Block visual disturbances"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Allow visual signals"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Notifications that can reach you"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Stay focused"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Additional actions"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Display settings"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Display options"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"Enable Dark theme"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Switch the OS and apps to prefer light text on a dark background, which may be easier on the eyes and confers significant battery savings on some devices"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{No display changes}=1{{effect_1}}=2{{effect_1} and {effect_2}}=3{{effect_1}, {effect_2} and {effect_3}}other{{effect_1}, {effect_2} and # more}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filter interruptions"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"No interruptions are filtered"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Display options for filtered notifications"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"When Do Not Disturb is on"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"No sound from notifications"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"open notification"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Allow notification snoozing"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Notification dot on app icon"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Notification bundles"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Bubbles"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubbles"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Bubble this conversation"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Categories"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Other"</string>
<string name="no_channels" msgid="4716199078612071915">"This app has not posted any notifications"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Show unused categories"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Additional settings in the app"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Show unused categories"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Hide unused categories"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"All"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Allow apps to override"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps that can interrupt"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Select more apps"</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Case"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Battery"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Settings Panel"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Force desktop mode"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Force experimental desktop mode on secondary displays"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Enable freeform windows"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Enable support for freeform windows."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Enable freeform windowing on second display"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Enable freeform windows only on secondary display."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Enable non-resizable in Multi-window"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Allows non-resizable apps to be in Multi-window"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Override force-dark"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"This device\'s data partition needs to be converted to ext4 before using the 16 KB developer option. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Activating the 16 KB option will require one more reboot after this. Once you are in this mode, you can switch back and forth between 4 KB and 16 KB mode with a single reboot. Some features will be disabled in these modes, so some applications may not work. To return the device to Production mode, you would need to switch back to 4 KB mode and then lock the bootloader, which factory resets the device. Once the device successfully boots into Android, disable OEM unlocking in Developer options. The device will be wiped and the filesystem will be changed to ext4 after confirmation. Once this completes, please come back to enable 16 KB again."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Erase all data"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Failed to reformat and wipe the data partition to ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Bootloader unlock required for 16 KB mode"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Bootloader unlock required"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"This device needs to have the bootloader unlocked before using the 16 KB developer option. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. All user data and settings will be wiped when activating 16 KB mode. Once the bootloader is unlocked, activating the 16 KB option will require two reboots. Once you are in this mode, you can switch back and forth between 4 KB and 16 KB mode with a single reboot. Some features will be disabled in these modes, so some applications may not work. To return the device to Production mode, you would need to switch back to 4 KB mode and then OEM/bootloader lock (which factory resets) the device. Please unlock the bootloader and try again. You can see instructions for how to do this at <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Using 4 KB page-agnostic mode"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"You are in the 4 KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the Production mode, you must lock the bootloader of the device. Tap to read more."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"You are in the 4 KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the Production mode, you must lock the bootloader of the device. This would factory reset the device again and restore it to production settings. Once the device successfully boots into Android, disable OEM unlocking in Developer options. If the device fails to boot into Android or is unstable, re-flash the device with the latest factory images from <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> and select \'Wipe device\', \'Lock bootloader\' and \'Force flash all partitions\'."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Using 16 KB page-agnostic mode"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"You are in the 16 KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the Production mode, you must switch back to 4 KB mode and then lock the bootloader of the device. Tap to read more."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"You are in the 16 KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the Production mode, you must switch back to 4 KB mode and then lock the bootloader of the device. This would factory reset the device again and restore it to production settings. Once the device successfully boots into Android, disable OEM unlocking in Developer options. If the device fails to boot into Android or is unstable, re-flash the device with the latest factory images from <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> and select \'Wipe device\', \'Lock bootloader\' and \'Force flash all partitions\'."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"You are in the 16 KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the production mode, you must switch back to 4 KB mode and then lock the bootloader of the device. Tap to read more."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"You are in the 16 KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the production mode, you must switch back to 4 KB mode and then lock the bootloader of the device. This would factory reset the device again and restore it to production settings. Once the device successfully boots into Android, disable OEM unlocking in Developer options. If the device fails to boot into Android or is unstable, re-flash the device with the latest factory images from <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> and select \'Wipe device\', \'Lock bootloader\' and \'Force flash all partitions\'."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16 KB page-agnostic mode"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Read more"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Bug report handler"</string>
@@ -5007,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Use app pinning"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Use Developer options"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Use print service"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Allow multiple users"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"allow, multiple, user, permit, many"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"multiple, users, profiles, people, accounts, switch, many"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Use wireless debugging"</string>
@@ -5121,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Choose what you’ll see on your screen when your tablet is docked. Your device may use more energy when a screen saver is used."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Customise"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Customise <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"A reboot is required to enable freeform support."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"A reboot is required to force desktop mode on secondary displays."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"A reboot is required to enable legacy freeform windowing support."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"A reboot is required to change freeform windowing support."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"A reboot is required to force freeform windowing on secondary displays."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reboot now"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reboot later"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Spatial audio"</string>
@@ -5351,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Listen to stream"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Scan an audio stream QR code to listen with <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Can\'t edit password while sharing. To change the password, first turn off audio sharing."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-en-rXC/arrays.xml b/res/values-en-rXC/arrays.xml
index a7d044c..2fbc34c 100644
--- a/res/values-en-rXC/arrays.xml
+++ b/res/values-en-rXC/arrays.xml
@@ -509,4 +509,6 @@
<item msgid="3653377604690057780">"Theater"</item>
<item msgid="3843711267408385410">"Flower"</item>
</string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index 6ac6867..06bf2b5 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -76,6 +76,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Hearing device settings"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Shortcut, hearing aid compatibility"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Preset"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"There are no presets programmed by your audiologist"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Couldn’t update preset"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audio output"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"About audio output"</string>
@@ -409,6 +410,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Face and <xliff:g id="WATCH">%s</xliff:g> added"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Face, fingerprint, and <xliff:g id="WATCH">%s</xliff:g> added"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Face, fingerprints, and <xliff:g id="WATCH">%s</xliff:g> added"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"This is needed since Identity Check is on"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator Unlock"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Watch added"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Set up your watch"</string>
@@ -436,7 +438,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Learn more about Watch Unlock"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Add watch"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Remove watch"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Fingerprint & Face Unlock"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Face & Fingerprint Unlock"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Face & Fingerprint Unlock for work"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Setup needed"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Face and fingerprints added"</string>
@@ -848,6 +850,21 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Restart Device?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Detail NFC logging is intended for development purposes only. Additional NFC data is included in bug reports, which may contain private information. Restart your device to change this setting."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Restart"</string>
+ <string name="keywords_external_display" msgid="4181375057920134909">"mirror, external display, connected display, usb display, resolution, rotation"</string>
+ <string name="external_display_on" msgid="2560104443500154333">"On"</string>
+ <string name="external_display_off" msgid="5634413756025351374">"Off"</string>
+ <string name="external_display_settings_title" msgid="6256884595821605779">"External Display"</string>
+ <string name="external_display_use_title" msgid="8198257340836261386">"Use external display"</string>
+ <string name="external_display_resolution_settings_title" msgid="2446784716488289268">"Display resolution"</string>
+ <string name="external_display_not_found" msgid="1912355133386555798">"External display is disconnected"</string>
+ <string name="external_display_rotation" msgid="7160062306817490204">"Rotation"</string>
+ <string name="external_display_standard_rotation" msgid="545969032327487219">"Standard"</string>
+ <string name="external_display_rotation_90" msgid="7371530414227542947">"90°"</string>
+ <string name="external_display_rotation_180" msgid="6469137724447819841">"180°"</string>
+ <string name="external_display_rotation_270" msgid="7819322302457740514">"270°"</string>
+ <string name="external_display_change_resolution_footer_title" msgid="9024291681663573443">"Changing rotation or resolution may stop any apps that are currently running"</string>
+ <string name="external_display_not_found_footer_title" msgid="8882902921634316363">"Your device must be connected to an external display to mirror your screen"</string>
+ <string name="external_display_more_options_title" msgid="1222751990705118774">"More options"</string>
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Cast"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"mirror"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Enable wireless display"</string>
@@ -1189,6 +1206,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptive"</string>
<string name="brightness" msgid="6216871641021779698">"Brightness level"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Adaptive brightness"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"About adaptive brightness"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Your screen brightness will automatically adjust to your environment and activities. You can move the slider manually to help adaptive brightness learn your preferences."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"On"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Off"</string>
@@ -1894,8 +1912,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Options"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibility"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Physical keyboard"</string>
- <string name="show_ime" msgid="4334255501724746849">"Use on-screen keyboard"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Keep it on screen while physical keyboard is active"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Bounce keys"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"The keyboard ignores quickly repeated presses of the same key within <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Slow keys"</string>
@@ -1969,6 +1985,9 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"User selected: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Speech"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Pointer speed"</string>
+ <string name="pointer_scale" msgid="4941564570571663964">"Pointer scale"</string>
+ <string name="pointer_scale_decrease_content_description" msgid="4479646756230008068">"Decrease pointer scale"</string>
+ <string name="pointer_scale_increase_content_description" msgid="1049632123702664450">"Increase pointer scale"</string>
<string name="game_controller_settings_category" msgid="8557472715034961918">"Game Controller"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Redirect vibration"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Send vibration to game controller when connected"</string>
@@ -2091,7 +2110,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continue anyway"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancel"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Magnification settings"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"One-finger panning"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Move magnifier with 1 finger"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Drag 1 finger to move around the screen"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Move the magnification area by dragging one finger."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Move the magnification area by dragging two fingers."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Unavailable while only magnifying part of the screen"</string>
@@ -2115,6 +2135,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tap a button to zoom"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Quickly zoom in on the screen to make content larger"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>To zoom in:</b><br/> {0,number,integer}. Use shortcut to start magnification<br/> {1,number,integer}. Tap the screen<br/> {2,number,integer}. Drag 2 fingers to move around screen<br/> {3,number,integer}. Pinch with 2 fingers to adjust zoom<br/> {4,number,integer}. Use shortcut to stop magnification<br/><br/> <b>To zoom in temporarily:</b><br/> {0,number,integer}. Make sure your magnification type is set to full screen<br/> {1,number,integer}. Use shortcut to start magnification<br/> {2,number,integer}. Touch & hold anywhere on the screen<br/> {3,number,integer}. Drag finger to move around screen<br/> {4,number,integer}. Lift finger to stop magnification"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>To zoom in:</b><br/> {0,number,integer}. Use shortcut to start magnification<br/> {1,number,integer}. Tap the screen<br/> {2,number,integer}. Drag 2 fingers to move around the screen<br/> {3,number,integer}. Pinch with 2 fingers to adjust zoom<br/> {4,number,integer}. Use shortcut to stop magnification<br/><br/> You can also zoom in temporarily and more."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>To zoom in:</b><br/> {0,number,integer}. Use shortcut to start magnification<br/> {1,number,integer}. Tap the screen<br/> {2,number,integer}. Drag 1 or 2 fingers to move around the screen<br/> {3,number,integer}. Pinch with 2 fingers to adjust zoom<br/> {4,number,integer}. Use shortcut to stop magnification<br/><br/> You can also zoom in temporarily and more."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"When magnification is turned on, you can zoom in on your screen.\n\n"<b>"To zoom"</b>", start magnification, then tap anywhere on the screen.\n"<ul>""<li>"Drag 2 or more fingers to scroll"</li>"\n"<li>"Pinch 2 or more fingers to adjust zoom"</li>""</ul>"\n\n"<b>"To zoom temporarily"</b>", start magnification, then touch & hold anywhere on the screen.\n"<ul>""<li>"Drag to move around the screen"</li>"\n"<li>"Lift finger to zoom out"</li>""</ul>"\n\nYou can’t zoom in on the keyboard or navigation bar."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Page <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> of <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Accessibility button shortcut"</string>
@@ -3320,15 +3342,26 @@
<string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{None}=1{1 schedule set}other{# schedules set}}"</string>
<string name="zen_mode_settings_title" msgid="682676757791334259">"Do Not Disturb"</string>
<string name="zen_modes_list_title" msgid="5138745349253275428">"Priority Modes"</string>
- <!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
- <skip />
+ <string name="zen_modes_add_mode" msgid="4806287336036228772">"Add a mode"</string>
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Only get notified by important people and apps"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Select activation type"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Time"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Ex. \"9:30 – 5:00 PM\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Calendar"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Ex. \"Personal calendar\""</string>
+ <string name="zen_mode_active_text" msgid="5002406772481439437">"ON"</string>
+ <string name="zen_mode_disabled_needs_setup" msgid="389269759040103728">"Not set"</string>
+ <string name="zen_mode_disabled_by_user" msgid="138592173630683253">"Disabled"</string>
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Create a mode"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Custom"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limit interruptions"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Turn on Do Not Disturb"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarms and media sounds can interrupt"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Schedules"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Delete schedules"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Delete"</string>
+ <string name="zen_mode_menu_delete_mode" msgid="3190031534736428573">"Delete mode"</string>
+ <string name="zen_mode_delete_mode_confirmation" msgid="7594340592051947392">"Delete \"<xliff:g id="MODE">%1$s</xliff:g>\" mode?"</string>
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Edit"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Schedules"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Schedule"</string>
@@ -3339,6 +3372,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Set a schedule"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Schedule"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> hr, <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Turn on automatically"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Schedule"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Silence phone at certain times"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Set Do Not Disturb rules"</string>
@@ -3348,7 +3382,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Allow interruptions that make sound"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Block visual disturbances"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Allow visual signals"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Notifications that can reach you"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Stay focused"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Additional actions"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Display settings"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Display options"</string>
@@ -3365,6 +3399,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"enable dark theme"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Switch the OS and apps to prefer light text on a dark background, which may be easier on the eyes and confers significant battery savings on some devices"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{No display changes}=1{{effect_1}}=2{{effect_1} and {effect_2}}=3{{effect_1}, {effect_2}, and {effect_3}}other{{effect_1}, {effect_2}, and # more}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filter interruptions"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"No interruptions are filtered"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Display options for filtered notifications"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"When Do Not Disturb is on"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"No sound from notifications"</string>
@@ -3480,6 +3516,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"open notification"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Allow notification snoozing"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Notification dot on app icon"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Notification bundles"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Bubbles"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubbles"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Bubble this conversation"</string>
@@ -3658,6 +3695,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Categories"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Other"</string>
<string name="no_channels" msgid="4716199078612071915">"This app has not posted any notifications"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Show unused categories"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Additional settings in the app"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Show unused categories"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Hide unused categories"</string>
@@ -3767,7 +3805,8 @@
<string name="zen_mode_apps_priority_apps" msgid="7386196048313716076">"Selected apps"</string>
<string name="zen_mode_apps_none_apps" msgid="2493642312793604327">"None"</string>
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"All"</string>
- <!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
+ <string name="zen_mode_apps_subtext" msgid="1764211974662012877">"{count,plural,offset:2 =0{No apps can interrupt}=1{{app_1} can interrupt}=2{{app_1} and {app_2} can interrupt}=3{{app_1}, {app_2}, and {app_3} can interrupt}other{{app_1}, {app_2}, and # more can interrupt}}"</string>
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
<skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Allow apps to override"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps that can interrupt"</string>
@@ -4793,8 +4832,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Case"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Battery"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Settings Panel"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Force desktop mode"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Force experimental desktop mode on secondary displays"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Enable freeform windows"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Enable support for freeform windows."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Enable freeform windowing on second display"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Enable freeform windows only on secondary display."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Enable non-resizable in multi window"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Allows non-resizable apps to be in multi window"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Override force-dark"</string>
@@ -4862,14 +4903,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"This device’s data partition needs to be converted to ext4 before using the 16KB developer option. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Activating the 16KB option will require one more reboot after this. Once you are in this mode, you can switch back and forth between 4KB and 16KB mode with a single reboot. Some features will be disabled in these modes, so some applications may not work. To return the device to production mode, you would need to switch back to 4KB mode and then lock the bootloader, which factory resets the device. After the device successfully boots into Android, disable OEM unlocking in Developer options. The device will be wiped and the filesystem will be changed to ext4 after confirmation. After this completes, please come back to enable 16KB again."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Erase all data"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Failed to reformat and wipe the data partition to ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Bootloader Unlock Required for 16KB Mode"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Bootloader Unlock Required"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"This device needs to have the bootloader unlocked before using the 16KB developer option. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. All user data and settings will be wiped when activating 16KB mode. Once the bootloader is unlocked, activating the 16KB option will require two reboots. Once you are in this mode, you can switch back and forth between 4KB and 16KB mode with a single reboot. Some features will be disabled in these modes, so some applications may not work. To return the device to production mode, you would need to switch back to 4KB mode and then OEM/bootloader lock (which factory resets) the device. Please unlock the bootloader and try again. You can see instructions for how to do this at <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Using 4KB page-agnostic mode"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"You are in the 4KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the production mode, you must lock the bootloader of the device. Tap to read more."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"You are in the 4KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the production mode, you must lock the bootloader of the device. This would factory reset the device again and restore it to production settings. After the device successfully boots into Android, disable OEM unlocking in Developer options. If the device fails to boot into Android or is unstable, re-flash the device with the latest factory images from <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> and select \'Wipe Device\', \'Lock Bootloader\' and \'Force Flash all partitions\'."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Using 16KB page-agnostic mode"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"You are in the 16KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the production mode, you must, switch back to 4K mode and then lock the bootloader of the device. Tap to read more."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"You are in the 16KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the production mode, you must, switch back to 4K mode and then lock the bootloader of the device. This would factory reset the device again and restore it to production settings. After the device successfully boots into Android, disable OEM unlocking in Developer options. If the device fails to boot into Android or is unstable, re-flash the device with the latest factory images from <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> and select \'Wipe Device\', \'Lock Bootloader\' and \'Force Flash all partitions\'."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"You are in the 16KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the production mode, you must, switch back to 4KB mode and then lock the bootloader of the device. Tap to read more."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"You are in the 16KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work. In order to re-enter the production mode, you must, switch back to 4KB mode and then lock the bootloader of the device. This would factory reset the device again and restore it to production settings. After the device successfully boots into Android, disable OEM unlocking in Developer options. If the device fails to boot into Android or is unstable, re-flash the device with the latest factory images from <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> and select \'Wipe Device\', \'Lock Bootloader\' and \'Force Flash all partitions\'."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16KB Page-agnostic Mode"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Read more"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Bug report handler"</string>
@@ -5001,7 +5042,7 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Use app pinning"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Use developer options"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Use print service"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Allow multiple users"</string>
+ <string name="multiple_users_main_switch_title" msgid="9158796544835843201">"Allow user switch"</string>
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"allow, multiple, user, permit, many"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"multiple, users, profiles, people, accounts, switch, many"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Use wireless debugging"</string>
@@ -5115,8 +5156,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Choose what you’ll see on your screen when your tablet is docked. Your device may use more energy when a screen saver is used."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Customize"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Customize <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"A reboot is required to enable freeform support."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"A reboot is required to force desktop mode on secondary displays."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"A reboot is required to enable legacy freeform windowing support."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"A reboot is required to change freeform windowing support."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"A reboot is required to force freeform windowing on secondary displays."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reboot now"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reboot later"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Spatial Audio"</string>
@@ -5345,4 +5387,5 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Listen to stream"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Scan an audio stream QR code to listen with <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Can\'t edit password while sharing. To change the password, first turn off audio sharing."</string>
+ <string name="homepage_search" msgid="6759334912284663559">"Search Settings"</string>
</resources>
diff --git a/res/values-es-rUS/arrays.xml b/res/values-es-rUS/arrays.xml
index 538ba6a..c6e9f86 100644
--- a/res/values-es-rUS/arrays.xml
+++ b/res/values-es-rUS/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Hora de dormir"</item>
+ <item msgid="4152450357280759894">"Mientras se conduce"</item>
+ <item msgid="7096549258219399423">"Inmersivo"</item>
+ <item msgid="2760716776980432977">"Administrado"</item>
+ <item msgid="601734478369121764">"Estrella"</item>
+ <item msgid="6243809315432780521">"Calendario"</item>
+ <item msgid="4913577903148415331">"Hora"</item>
+ <item msgid="3653377604690057780">"Teatro"</item>
+ <item msgid="3843711267408385410">"Flor"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index cde49e5..e717adb 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Configuración de dispositivos auditivos"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Acceso directo, compatibilidad con audífonos"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Ajuste predeterminado"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Tu audiólogo no programó ningún ajuste predeterminado"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"No se pudo actualizar el ajuste predeterminado"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Salida de audio"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Info. sobre salida de audio"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Rostro y <xliff:g id="WATCH">%s</xliff:g> agregados"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Rostro, huella dactilar y <xliff:g id="WATCH">%s</xliff:g> agregados"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Rostro, huellas dactilares y <xliff:g id="WATCH">%s</xliff:g> agregados"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Esta acción es necesaria porque Identity Check está activada"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Authenticator Unlock remoto"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Se agregó el reloj"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Configura el reloj"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Más información sobre Desbloqueo del reloj"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Agregar reloj"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Quitar reloj"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Desbloqueo facial y con huellas dactilares"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Desbloqueo facial y con huellas dactilares"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Desbloqueo facial y con huellas dactilares para el trabajo"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Se requiere configuración"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Se agregaron huellas dactilares y el rostro"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Instala apps"</b>\n"Instala apps que quieres mantener privadas en tu espacio"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Importante"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Las apps se detienen cuando bloqueas tu espacio"</b>\n"Cuando bloquees tu espacio, las apps en él se detendrán, y no recibirás notificaciones de ellas"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"No se recomienda el uso de espacios privados para apps que necesitan ejecutarse en segundo plano o enviar notificaciones críticas, como apps médicas. Esto se debe a que las notificaciones y la actividad en segundo plano se detienen cuando el espacio está bloqueado.\n\nLas apps del espacio privado no se mostrarán en el Administrador de permisos, el panel de privacidad ni en otras secciones de configuración cuando el espacio privado esté bloqueado.\n\nNo se puede transferir el espacio privado a un dispositivo nuevo. Deberás configurar un espacio privado nuevo si quieres usar la función en otro dispositivo.\n\nCualquier persona que conecte tu dispositivo a una computadora o le instale apps dañinas podría acceder a tu espacio privado."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"No se recomienda el uso de espacios privados para apps que necesitan ejecutarse en segundo plano o enviar notificaciones críticas, como apps médicas. Esto se debe a que las notificaciones y la actividad en segundo plano se detienen cuando el espacio está bloqueado.\n\nLas apps del espacio privado no se mostrarán en el Administrador de permisos, el panel de privacidad ni en otras secciones de configuración cuando el espacio privado esté bloqueado.\n\nNo se puede restablecer el espacio privado en un dispositivo nuevo. Deberás configurar otro espacio si quieres usarlo en otro dispositivo.\n\nCualquier persona que conecte tu dispositivo a una computadora o le instale apps maliciosas podría acceder a tu espacio privado."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Más información sobre el espacio privado"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"El proceso tardará unos minutos"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Configurando espacio privado…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"¿Quieres reiniciar el dispositivo?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"El registro detallado de NFC está destinado únicamente a fines de desarrollo. Se incluyen datos de NFC adicionales en los informes de errores, que podrían contener información privada. Reinicia el dispositivo para cambiar la configuración."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Reiniciar"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Transmitir"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"duplicar"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Habilitar pantalla inalámbrica"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Automáticos"</string>
<string name="brightness" msgid="6216871641021779698">"Nivel de brillo"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Brillo automático"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Acerca del brillo automático"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"El brillo de la pantalla se ajustará automáticamente según el entorno y las actividades que hagas. Puedes mover el control deslizante para que la función de brillo automático reconozca tus preferencias."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Activado"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Inhabilitado"</string>
@@ -1264,7 +1295,7 @@
<string name="screen_timeout_summary" msgid="5558778019594643427">"Después de <xliff:g id="TIMEOUT_DESCRIPTION">%1$s</xliff:g> de inactividad"</string>
<string name="screen_timeout_summary_not_set" msgid="5107680774964178875">"No establecido"</string>
<string name="wallpaper_settings_title" msgid="5635129851136006383">"Fondo de pantalla"</string>
- <string name="style_and_wallpaper_settings_title" msgid="2232042809407308946">"Fondo de pantalla y estilo"</string>
+ <string name="style_and_wallpaper_settings_title" msgid="2232042809407308946">"Estilo y fondo de pantalla"</string>
<string name="wallpaper_dashboard_summary" msgid="2324472863981057118">"Pantalla principal, pantalla de bloqueo"</string>
<string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Cambiar fondo de pantalla"</string>
<string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Personalizar tu pantalla"</string>
@@ -1548,7 +1579,7 @@
<string name="tether_settings_summary_usb_and_bluetooth_and_ethernet" msgid="5880591133984166550">"USB, Bluetooth y Ethernet"</string>
<string name="tether_settings_summary_all" msgid="7565193614882005775">"Hotspot, USB, Bluetooth y Ethernet"</string>
<string name="tether_settings_summary_off" msgid="2526164899130351968">"No se comparte Internet con otros dispositivos"</string>
- <string name="tether_preference_summary_off" msgid="6266799346319794630">"Desactivados"</string>
+ <string name="tether_preference_summary_off" msgid="6266799346319794630">"No"</string>
<string name="usb_tethering_button_text" msgid="7364633823180913777">"Conexión mediante USB"</string>
<string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Conexión Bluetooth"</string>
<string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Conexión Ethernet"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Opciones"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Accesibilidad"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Teclado físico"</string>
- <string name="show_ime" msgid="4334255501724746849">"Usar teclado en pantalla"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Mientras el teclado físico está activo"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Rechazo de teclas"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"El teclado ignora las presiones de la misma tecla repetidas con rapidez dentro de los <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Seleccionado por el usuario: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Voz"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Velocidad del puntero"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Controlador de juegos"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Redireccionar vibración"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Enviar la vibración al controlador de juegos cuando esté conectado"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continuar de todos modos"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancelar"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Configuración de ampliación"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Desplazamiento con un dedo"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Mueve la lupa con 1 dedo"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Arrastra con 1 dedo para moverte por la pantalla"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Arrastrar un dedo para mover el área de ampliación."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Arrastrar dos dedos para mover el área de ampliación."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"No disponible mientras se amplía parte de la pantalla"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Presiona un botón para ampliar"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Acerca rápidamente la pantalla para que el contenido se muestre en un tamaño más grande"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Para acercar, haz lo siguiente:</b><br/> {0,number,integer}. Usa la combinación para comenzar la ampliación.<br/> {1,number,integer}. Presiona la pantalla.<br/> {2,number,integer}. Arrastra 2 dedos para moverte por la pantalla.<br/> {3,number,integer}. Pellizca con 2 dedos para ajustar el zoom.<br/> {4,number,integer}. Usa la combinación para detener la ampliación.<br/><br/> <b>Para acercar de manera temporal, haz lo siguiente:</b><br/> {0,number,integer}. Asegúrate de que el tipo de ampliación esté configurado en pantalla completa.<br/> {1,number,integer}. Usa la combinación para comenzar la ampliación.<br/> {2,number,integer}. Mantén presionada cualquier parte de la pantalla.<br/> {3,number,integer}. Arrastra un dedo para moverte por la pantalla.<br/> {4,number,integer}. Levanta el dedo para detener la ampliación."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Para acercar, haz lo siguiente:</b><br/> {0,number,integer}. Usa el atajo para comenzar la ampliación.<br/> {1,number,integer}. Presiona la pantalla.<br/> {2,number,integer}. Arrastra 2 dedos para moverte por la pantalla.<br/> {3,number,integer}. Pellizca con 2 dedos para ajustar el zoom.<br/> {4,number,integer}. Usa el atajo para detener la ampliación.<br/><br/> También puedes acercar temporalmente y realizar otras acciones."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Para acercar, haz lo siguiente:</b><br/> {0,number,integer}. Usa el atajo para comenzar la ampliación.<br/> {1,number,integer}. Presiona la pantalla.<br/> {2,number,integer}. Arrastra con 1 o 2 dedos para moverte por la pantalla.<br/> {3,number,integer}. Pellizca con 2 dedos para ajustar el zoom.<br/> {4,number,integer}. Usa el atajo para detener la ampliación.<br/><br/> También puedes acercar temporalmente y realizar otras acciones."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Cuando la ampliación esté activada, podrás acercar el contenido en pantalla.\n\n"<b>"Para usar el zoom"</b>", inicia la ampliación y, luego, presiona cualquier parte de la pantalla.\n"<ul><li>"Arrastra 2 o más dedos para desplazarte."</li>\n<li>"Pellizca con 2 o más dedos para ajustar el zoom."</li></ul>\n\n<b>"Para hacer zoom de manera temporal"</b>", inicia la ampliación y, luego, mantén presionada cualquier parte de la pantalla.\n"<ul><li>"Arrastra el dedo para moverte por la pantalla."</li>\n<li>"Levanta el dedo para alejar el contenido."</li></ul>\n\n"No puedes acercar con el teclado ni en la barra de navegación."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Página <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> de <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Acceso directo al botón de accesibilidad"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Solo recibe notificaciones de las personas y apps que más te interesan"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Seleccionar tipo de activación"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Hora"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"P. ej.: \"9:30 a.m.–5:00 p.m.\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Calendario"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"P. ej.: \"Calendario personal\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Crea un modo"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Personalizado"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitar las interrupciones"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activar No interrumpir"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Los sonidos multimedia y las alarmas pueden interrumpir"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Programaciones"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Borrar programas"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Borrar"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Editar"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Programas"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Programa"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Agrega un calendario"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Usa tu calendario"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Programa"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Establecer un programa"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Programa"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Activar automáticamente"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Programa"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Silenciar en ciertos momentos"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Definir reglas de No interrumpir"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Habilitar interrupciones con sonido"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Bloquear alteraciones visuales"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Permitir señales visuales"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Notificaciones que puedes recibir"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Concéntrate"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Acciones adicionales"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Configuración de visualización"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Opciones de visualización"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"Habilitar el tema oscuro"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Cambia el SO y las apps para preferir el texto claro sobre un fondo oscuro, lo que puede ser más cómodo para los ojos y genera un ahorro de batería significativo en algunos dispositivos."</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Sin cambios de visualización}=1{{effect_1}}=2{{effect_1} y {effect_2}}=3{{effect_1}, {effect_2} y {effect_3}}other{{effect_1}, {effect_2} y # más}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filtrar interrupciones"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"No se filtran interrupciones"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opciones de visualización de notificaciones filtradas"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Cuando se activa No interrumpir"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Notificaciones sin sonido"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"notificación abierta"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Permitir posponer notificaciones"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Punto de notificación en ícono de app"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Paquetes de notificaciones"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Burbujas"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Burbujas"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Mostrar esta conversación en una burbuja"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Categorías"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Otros"</string>
<string name="no_channels" msgid="4716199078612071915">"Esta app no publicó ninguna notificación"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Mostrar categorías sin usar"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Opciones de configuración adicionales de la app"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Mostrar categorías sin usar"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Ocultar categorías sin usar"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Todo"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permitir que las apps anulen No interrumpir"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps que pueden interrumpir"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Seleccionar más apps"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Cambiar a solo alarmas durante una hora hasta la hora {time}}other{Cambiar a solo alarmas durante # horas hasta la hora {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Cambiar a solo alarmas hasta la(s) <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Cambiar a interrumpir siempre"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Cambiar nombre"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Cambiar ícono"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Cambiar ícono"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Advertencia"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Cerrar"</string>
<string name="device_feedback" msgid="5351614458411688608">"Enviar comentarios sobre el dispositivo"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Funda"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batería"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Panel de Configuración"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Forzar modo de escritorio"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Fuerza el modo de escritorio experimental en pantallas secundarias."</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Habilitar ventanas de formato libre"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Habilitar la compatibilidad con las ventanas de formato libre"</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Habilitar renderización libre en pant. secundaria"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Habilitar las ventanas de formato libre solo en la pantalla secundarias"</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Habilitar apps que no cambian de tamaño en Multiventana"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Permite que las apps que no cambian de tamaño aparezcan en Multiventana."</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Anular forzar el modo oscuro"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"La partición de datos del dispositivo debe convertirse a ext4 antes de usar la opción para desarrolladores de 16 KB. No se puede garantizar la integridad del software en este modo, y los datos almacenados en el teléfono podrían estar en riesgo durante el desbloqueo del bootloader. Si activas la opción de 16 KB, deberás volver a reiniciar. Una vez que se habilite este modo, podrás cambiar entre los modos de 4 KB y 16 KB con un único reinicio. Algunas funciones quedan inhabilitadas en estos modos, así que algunas aplicaciones podrían no ejecutarse. Para revertir el dispositivo al modo de producción, debes volver al modo de 4 KB y bloquear el bootloader, lo que restablecerá la configuración del dispositivo. Una vez que el dispositivo se inicie correctamente ejecutando Android, inhabilita el desbloqueo para OEM en Opciones para desarrolladores. Después de la confirmación, se limpiará el dispositivo, y el sistema de archivos cambiará a ext4. Una vez que se complete el proceso, vuelve a habilitar nuevamente el modo de 16 KB."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Borrar todos los datos"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"No se pudo volver a formatear el dispositivo y falló la limpieza de la partición de datos a ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Debes desbloquear el bootloader para usar el modo de 16 KB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Se requiere desbloquear el bootloader"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Este dispositivo debe tener el bootloader desbloqueado para poder usar la opción para desarrolladores de 16 KB. No se puede garantizar la integridad del software en este modo, y los datos almacenados en el teléfono podrían estar en riesgo durante el desbloqueo del bootloader. Se limpiarán la configuración y los datos del usuario cuando se active el modo de 16 KB. Una vez que se desbloquee el bootloader, deberás reiniciar dos veces para activar la opción de 16 KB. Una vez que se habilite este modo, podrás cambiar entre los modos de 4 KB y 16 KB con un único reinicio. Algunas funciones quedan inhabilitadas en estos modos, así que algunas aplicaciones podrían no ejecutarse. Para revertir el dispositivo al modo de producción, debes volver al modo de 4 KB y bloquear el dispositivo con OEM/bootloader (lo que restablecerá la configuración de fábrica). Desbloquea el bootloader y vuelve a intentarlo. Puedes ver las instrucciones de este proceso en <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Modo independiente de la página de 4 KB en uso"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Estás en el modo de 4 KB del modo independiente de la página. No se puede garantizar la integridad del software en este modo, y los datos almacenados en el teléfono podrían estar en riesgo durante el desbloqueo del bootloader. Algunas funciones quedan inhabilitadas en estos modos, así que algunas aplicaciones podrían no ejecutarse. Para volver a entrar al modo de producción, debes bloquear el bootloader del dispositivo. Presiona para obtener más información."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Estás en el modo de 4 KB del modo independiente de la página. No se puede garantizar la integridad del software en este modo, y los datos almacenados en el teléfono podrían estar en riesgo durante el desbloqueo del bootloader. Algunas funciones quedan inhabilitadas en estos modos, así que algunas aplicaciones podrían no ejecutarse. Para volver a entrar al modo de producción, debes bloquear el bootloader del dispositivo. Se restablecerá la configuración de fábrica del dispositivo, que quedará en modo de producción. Una vez que el dispositivo se inicie correctamente ejecutando Android, inhabilita el desbloqueo para OEM en Opciones para desarrolladores. Si el dispositivo no se puede iniciar ejecutando Android o si es inestable, actualízalo con las imágenes de fábrica más recientes de <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>, o bien usa <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> y selecciona \"Limpiar el dispositivo\", \"Bloquear el bootloader\" y \"Forzar la escritura de todas las particiones en la memoria flash\"."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Modo independiente de la página de 16 KB en uso"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Estás en el modo de 16 KB del modo independiente de la página. No se puede garantizar la integridad del software en este modo, y los datos almacenados en el teléfono podrían estar en riesgo durante el desbloqueo del bootloader. Algunas funciones quedan inhabilitadas en estos modos, así que algunas aplicaciones podrían no ejecutarse. Para volver a entrar al modo de producción, debes volver al modo de 4 KB y bloquear el bootloader del dispositivo. Presiona para obtener más información."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Estás en el modo de 16 KB del modo independiente de la página. No se puede garantizar la integridad del software en este modo, y los datos almacenados en el teléfono podrían estar en riesgo durante el desbloqueo del bootloader. Algunas funciones quedan inhabilitadas en estos modos, así que algunas aplicaciones podrían no ejecutarse. Para volver a entrar al modo de producción, debes volver al modo de 4 KB y bloquear el bootloader del dispositivo. Se restablecerá la configuración de fábrica del dispositivo, que quedará en modo de producción. Una vez que el dispositivo se inicie correctamente ejecutando Android, inhabilita el desbloqueo para OEM en Opciones para desarrolladores. Si el dispositivo no se puede iniciar ejecutando Android o si es inestable, actualízalo con las imágenes de fábrica más recientes de <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>, o bien usa <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> y selecciona \"Limpiar el dispositivo\", \"Bloquear el bootloader\" y \"Forzar la escritura de todas las particiones en la memoria flash\"."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Estás en el modo de 16 KB del modo independiente de la página. No se puede garantizar la integridad del software en este modo, y los datos almacenados en el teléfono podrían estar en riesgo durante el desbloqueo del bootloader. Algunas funciones quedan inhabilitadas en estos modos, así que algunas aplicaciones podrían no ejecutarse. Para volver a entrar al modo de producción, debes volver al modo de 4 KB y bloquear el bootloader del dispositivo. Presiona para obtener más información."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Estás en el modo de 16 KB del modo independiente de la página. No se puede garantizar la integridad del software en este modo, y los datos almacenados en el teléfono podrían estar en riesgo durante el desbloqueo del bootloader. Algunas funciones quedan inhabilitadas en estos modos, así que algunas aplicaciones podrían no ejecutarse. Para volver a entrar al modo de producción, debes volver al modo de 4 KB y bloquear el bootloader del dispositivo. Esta acción restablecerá el dispositivo a la configuración de fábrica y hará que sus parámetros de configuración vuelvan a los de producción. Una vez que el dispositivo se inicie correctamente ejecutando Android, inhabilita el desbloqueo para OEM en Opciones para desarrolladores. Si el dispositivo no se puede iniciar ejecutando Android o si es inestable, actualízalo con las imágenes de fábrica más recientes de <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>, o bien usa <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> y selecciona \"Limpiar el dispositivo\", \"Bloquear el bootloader\" y \"Forzar la escritura de todas las particiones en la memoria flash\"."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Modo independiente de la página de 16 KB"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Leer más"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Controlador de informes de errores"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Usar fijación de apps"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Usar opciones para desarrolladores"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Usar servicio de impresión"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Permitir varios usuarios"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"permitir, varios, usuarios, habilitar, muchos"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"múltiples, usuarios, perfiles, personas, cuentas, cambiar, muchos"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Usar depuración inalámbrica"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Elige lo que quieres ver en la pantalla cuando la tablet está conectada. Es posible que el dispositivo use más energía cuando se utiliza el protector de pantalla."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Personalizar"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Personalizar <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Se debe reiniciar para habilitar la asistencia de formato libre."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Se debe reiniciar para forzar el modo de computadora en las pantallas secundarias."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Se debe reiniciar para habilitar la compatibilidad con la renderización heredada en ventanas de formato libre."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Se debe reiniciar para cambiar la compatibilidad de la renderización en ventanas de formato libre."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Se debe reiniciar para forzar la renderización en ventanas de formato libre para pantallas secundarias."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reiniciar ahora"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reiniciar más adelante"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Audio espacial"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Escuchar reproducción"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Escanea el código QR de una reproducción de audio para escuchar con <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"No se puede editar la contraseña mientras se está compartiendo. Para cambiar la contraseña, primero desactiva el uso compartido de audio."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-es/arrays.xml b/res/values-es/arrays.xml
index e5ae5f6..186e414 100644
--- a/res/values-es/arrays.xml
+++ b/res/values-es/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Descanso"</item>
+ <item msgid="4152450357280759894">"En coche"</item>
+ <item msgid="7096549258219399423">"Inmersivo"</item>
+ <item msgid="2760716776980432977">"Gestionado"</item>
+ <item msgid="601734478369121764">"Estrella"</item>
+ <item msgid="6243809315432780521">"Calendario"</item>
+ <item msgid="4913577903148415331">"Hora"</item>
+ <item msgid="3653377604690057780">"Teatro"</item>
+ <item msgid="3843711267408385410">"Flor"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index e5bb72a..7d93f44 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Ajustes de audífonos"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Acceso directo, compatibilidad con audífonos"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Preajuste"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Tu audiólogo no ha programado ningún preajuste"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"No se ha podido actualizar el preajuste"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Salida de audio"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Acerca de la salida de audio"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Cara y <xliff:g id="WATCH">%s</xliff:g> añadidos"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Cara, huella digital y <xliff:g id="WATCH">%s</xliff:g> añadidos"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Cara, huellas digitales y <xliff:g id="WATCH">%s</xliff:g> añadidos"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Es necesario hacerlo porque la comprobación de la identidad está activada"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Desbloqueo con Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Smartwatch añadido"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Configurar un reloj"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Más información sobre Desbloqueo con reloj"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Añadir reloj"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Quitar reloj"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Desbloqueo facial y con huella digital"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Desbloqueo facial y con huella digital"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Desbloqueo facial y con huella digital para el trabajo"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Hay que configurarlo"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Cara y huellas digitales añadidas"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Instala aplicaciones"</b>\n"Instala en tu espacio las aplicaciones que quieras mantener en privado"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Importante"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Las aplicaciones se detienen cuando bloqueas tu espacio"</b>\n"Al bloquear tu espacio, las aplicaciones de tu espacio privado se detienen y no recibirás sus notificaciones"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Los espacios privados no son adecuados para aplicaciones que deban ejecutarse en segundo plano o enviar notificaciones críticas, como las aplicaciones médicas. Esto se debe a que las notificaciones y la actividad en segundo plano se detienen cuando tu espacio está bloqueado.\n\nLas aplicaciones de tu espacio privado no aparecerán en el Gestor de permisos, en el panel de privacidad ni en otros ajustes cuando tu espacio privado esté bloqueado.\n\nTu espacio privado no puede trasladarse a otro dispositivo. Deberás configurar otro espacio privado si quieres usarlo en otro dispositivo.\n\nCualquier persona que conecte tu dispositivo a un ordenador o instale aplicaciones dañinas en tu dispositivo podría acceder a tu espacio privado."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Los espacios privados no son adecuados para aplicaciones que deban ejecutarse en segundo plano o enviar notificaciones críticas, como las aplicaciones médicas. Esto se debe a que las notificaciones y la actividad en segundo plano se detienen cuando tu espacio está bloqueado.\n\nLas aplicaciones de tu espacio privado no aparecerán en el Gestor de permisos, en el panel de privacidad ni en otros ajustes cuando tu espacio privado esté bloqueado.\n\nTu espacio privado no se puede restaurar en otro dispositivo. Deberás configurar otro espacio si quieres usarlo en otro dispositivo.\n\nCualquier persona que conecte tu dispositivo a un ordenador o instale aplicaciones maliciosas en tu dispositivo podría acceder a tu espacio privado."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Más información sobre el espacio privado"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Tardará un momento"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Configurando espacio privado…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"¿Reiniciar dispositivo?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"El registro detallado de NFC solo se usa para fines de desarrollo. Además, se incluyen datos adicionales de NFC en los informes de errores, que pueden contener información privada. Reinicia tu dispositivo para cambiar este ajuste."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Reiniciar"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Enviar"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"proyectar"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Habilitar pantalla inalámbrica"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptativos"</string>
<string name="brightness" msgid="6216871641021779698">"Nivel de brillo"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Brillo adaptativo"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Acerca del brillo adaptativo"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"El brillo de la pantalla se ajustará automáticamente según el entorno y lo que hagas. Puedes mover el control deslizante para que la función Brillo adaptativo reconozca tus preferencias."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Activado"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Desactivado"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Opciones"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Accesibilidad"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Teclado físico"</string>
- <string name="show_ime" msgid="4334255501724746849">"Usar teclado en pantalla"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Mantenlo en pantalla mientras el teclado físico está activo"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Teclas de rebote"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"El teclado ignora las pulsaciones repetidas de la misma tecla que se hayan hecho en <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Seleccionado por el usuario: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Voz"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Velocidad del puntero del ratón"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Mandos de videojuegos"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Redirigir vibración"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Enviar vibración al mando para juegos cuando esté conectado"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continuar de todos modos"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancelar"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Ajustes de ampliación"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Desplazarse con un dedo"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Mover la lupa con 1 dedo"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Arrastra 1 dedo para moverte por la pantalla."</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Mueve la lupa de área arrastrándola con un dedo."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Mueve la lupa de área arrastrándola con dos dedos."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"No disponible cuando se amplía solo parte de la pantalla"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Toca un botón para ampliar"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Amplía rápidamente la pantalla para que el contenido se vea más grande"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Para ampliar:</b><br/> {0,number,integer}. Usa el acceso directo para iniciar la ampliación.<br/> {1,number,integer}. Toca la pantalla.<br/> {2,number,integer}. Arrastra dos dedos para moverte por la pantalla.<br/> {3,number,integer}. Pellizca con dos dedos para ajustar el zoom.<br/> {4,number,integer}. Usa el acceso directo para detener la ampliación.<br/><br/> <b>Para ampliar de forma temporal:</b><br/> {0,number,integer}. Asegúrate de que has configurado el tipo de ampliación como pantalla completa.<br/> {1,number,integer}. Usa el acceso directo para iniciar la ampliación.<br/> {2,number,integer}. Mantén pulsada cualquier parte de la pantalla.<br/> {3,number,integer}. Arrastra el dedo para moverte por la pantalla.<br/> {4,number,integer}. Levanta el dedo para detener la ampliación."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Para ampliar:</b><br/> {0,number,integer}. Usa el acceso directo para iniciar la ampliación.<br/> {1,number,integer}. Toca la pantalla.<br/> {2,number,integer}. Arrastra 2 dedos para moverte por la pantalla.<br/> {3,number,integer}. Pellizca con 2 dedos para ajustar el zoom.<br/> {4,number,integer}. Usa este acceso directo para detener la ampliación.<br/><br/> También puedes ampliar temporalmente y más."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Para ampliar:</b><br/> {0,number,integer}. Usa el acceso directo para iniciar la ampliación.<br/> {1,number,integer}. Toca la pantalla.<br/> {2,number,integer}. Arrastra 1 o 2 dedos para moverte por la pantalla.<br/> {3,number,integer}. Pellizca con 2 dedos para ajustar el zoom.<br/> {4,number,integer}. Usa este acceso directo para detener la ampliación.<br/><br/> También puedes ampliar temporalmente y más."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Si la ampliación está activada, puedes ampliar la pantalla.\n\n"<b>"Para ampliar"</b>", inicia la ampliación y toca la parte de la pantalla que quieras ampliar.\n"<ul><li>"Arrastra al menos dos dedos para desplazarte."</li>\n<li>"Pellizca la pantalla con al menos dos dedos para ajustar el zoom."</li></ul>\n\n<b>"Para ampliar elementos temporalmente"</b>", inicia la ampliación y mantén pulsada cualquier parte de la pantalla.\n"<ul><li>"Arrastra un dedo para desplazarte por la pantalla."</li>\n<li>"Levanta el dedo para reducir la imagen."</li></ul>\n\n"El teclado y la barra de navegación no se pueden ampliar."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Página <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> de <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Acceso directo al botón de accesibilidad"</string>
@@ -2230,10 +2268,10 @@
<string name="accessibility_control_timeout_preference_intro_text" msgid="1398116710556762245">"Elige durante cuánto tiempo quieres que se muestren los mensajes temporales que te piden que lleves a cabo una acción"</string>
<string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Retraso al mantener pulsado"</string>
<string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Invertir colores"</string>
- <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Usar Invertir colores"</string>
- <string name="accessibility_display_inversion_shortcut_title" msgid="6889624526691513462">"Acceso directo a Invertir colores"</string>
- <string name="accessibility_display_inversion_preference_intro_text" msgid="1159663288481145318">"Invertir colores hace que las pantallas claras se vuelvan oscuras y que las pantallas oscuras se vuelvan claras."</string>
- <string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>Ten en cuenta lo siguiente:</b><br/> <ol> <li> Los colores cambiarán en el contenido multimedia y las imágenes.</li> <li> Invertir colores funciona en todas las aplicaciones.</li> <li> Si lo que quieres es que se muestre un fondo oscuro, prueba mejor a usar el tema oscuro.</li> </ol>"</string>
+ <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Usar Inversión de colores"</string>
+ <string name="accessibility_display_inversion_shortcut_title" msgid="6889624526691513462">"Acceso directo a Inversión de colores"</string>
+ <string name="accessibility_display_inversion_preference_intro_text" msgid="1159663288481145318">"Inversión de colores hace que las pantallas claras se vuelvan oscuras y que las pantallas oscuras se vuelvan claras."</string>
+ <string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>Ten en cuenta lo siguiente:</b><br/> <ol> <li> Los colores cambiarán en el contenido multimedia y las imágenes.</li> <li> Inversión de colores funciona en todas las aplicaciones.</li> <li> Si lo que quieres es que se muestre un fondo oscuro, prueba mejor a usar el tema oscuro.</li> </ol>"</string>
<string name="accessibility_action_label_panel_slice" msgid="1313725957071602932">"acceder a Ajustes"</string>
<string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"Clic automático (tiempo permanencia)"</string>
<string name="accessibility_autoclick_about_title" msgid="152923024405552594">"Clic automático (permanencia)"</string>
@@ -2284,8 +2322,8 @@
<string name="accessibility_daltonizer_shortcut_title" msgid="7480360363995502369">"Acceso directo a Corrección de color"</string>
<string name="accessibility_daltonizer_about_title" msgid="6063650804116981287">"Acerca de la corrección de color"</string>
<string name="accessibility_daltonizer_footer_learn_more_content_description" msgid="2091679253892040910">"Más información sobre la corrección de color"</string>
- <string name="accessibility_color_inversion_about_title" msgid="8275754480247040136">"Acerca de invertir colores"</string>
- <string name="accessibility_color_inversion_footer_learn_more_content_description" msgid="5382579548498952445">"Más información sobre Invertir colores"</string>
+ <string name="accessibility_color_inversion_about_title" msgid="8275754480247040136">"Acerca de inversión de colores"</string>
+ <string name="accessibility_color_inversion_footer_learn_more_content_description" msgid="5382579548498952445">"Más información sobre Inversión de colores"</string>
<string name="accessibility_captioning_primary_switch_title" msgid="3663677340286206100">"Mostrar subtítulos"</string>
<string name="accessibility_captioning_primary_switch_summary" msgid="2544094070306830218">"Solo en aplicaciones compatibles"</string>
<string name="captioning_appearance_title" msgid="3128792092290011408">"Tamaño y estilo de los subtítulos"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Recibe notificaciones solo de personas y aplicaciones importantes"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Selecciona un tipo de activación"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Hora"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Por ejemplo, \"De 9:30 a 17:00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Calendario"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Por ejemplo, \"Calendario personal\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Crear un modo"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Personalizado"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitar interrupciones"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activar No molestar"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Las alarmas y los sonidos multimedia pueden interrumpirte"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Programaciones"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Eliminar programaciones"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Eliminar"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Editar"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Programaciones"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Programación"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Crea una programación"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Programar"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Activar automáticamente"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Programación"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Silenciar teléfono en ciertos momentos"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Definir reglas de No molestar"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Permitir interrupciones que reproduzcan sonido"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Bloquear interrupciones visuales"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Permitir señales visuales"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Notificaciones que pueden llegarte"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Concentración"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Acciones adicionales"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Ajustes de la pantalla"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Opciones de visualización"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"habilitar tema oscuro"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Se prioriza que el SO y las aplicaciones usen un texto claro sobre fondo oscuro, lo que puede resultar más agradable a la vista y supone un importante ahorro de batería en algunos dispositivos"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{No hay cambios en la pantalla}=1{{effect_1}}=2{{effect_1} y {effect_2}}=3{{effect_1}, {effect_2} y {effect_3}}other{{effect_1}, {effect_2}, y # más}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filtrar interrupciones"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"No se filtra ninguna interrupción"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opciones de visualización para las notificaciones filtradas"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Cuando el modo No molestar esté activado"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Notificaciones sin sonido"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"abrir notificación"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Permitir que se pospongan las notificaciones"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Burbuja de notificación en el icono de la aplicación"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Paquetes de notificaciones"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Burbujas"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Burbujas"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Convertir esta conversación en burbuja"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Categorías"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Otros"</string>
<string name="no_channels" msgid="4716199078612071915">"Esta aplicación no ha publicado ninguna notificación"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Mostrar categorías no usadas"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Ajustes adicionales de la aplicación"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Mostrar categorías no usadas"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Ocultar categorías no usadas"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Todas"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permitir que las aplicaciones anulen el modo No molestar"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplicaciones que pueden interrumpirte"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Seleccionar más aplicaciones"</string>
@@ -3915,7 +3977,7 @@
<string name="app_link_open_always_summary" msgid="4524005594295855117">"{count,plural, =1{La aplicación quiere abrir # enlace}other{La aplicación quiere abrir # enlaces}}"</string>
<string name="open_supported_links_footer" msgid="3188808142432787933">"La aplicación quiere abrir los siguientes enlaces:"</string>
<string name="assist_and_voice_input_title" msgid="6317935163145135914">"Asistencia y entrada de voz"</string>
- <string name="default_assist_title" msgid="1182435129627493758">"Asistente digital"</string>
+ <string name="default_assist_title" msgid="1182435129627493758">"Aplicación de asistente digital"</string>
<string name="default_digital_assistant_title" msgid="5654663086385490838">"Aplicación de asistente digital predeterminada"</string>
<string name="assistant_security_warning_agree" msgid="9013334158753473359">"Aceptar"</string>
<string name="default_browser_title" msgid="8342074390782390458">"Aplicación de navegador"</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Funda"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batería"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Panel de ajustes"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Forzar modo Escritorio"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Fuerza el modo Escritorio experimental en pantallas secundarias"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Habilitar ventanas de forma libre"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Habilita la compatibilidad con ventanas de forma libre."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Activar ventana de forma libre en pant. secundaria"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Habilita ventanas de forma libre solo en pantallas secundarias."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Habilitar aplicaciones de tamaño no modificable en multiventana"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Permite que las aplicaciones de tamaño no modificable se muestren en multiventana"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Anular Forzar modo Oscuro"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"La partición de datos de este dispositivo debe convertirse a ext4 antes de usar la opción para desarrolladores de 16 KB. En este modo no se puede garantizar la integridad del software, y los datos que haya almacenados en el teléfono mientras el bootloader está desbloqueado pueden correr peligro. Para activar la opción de 16 KB, se necesitará un reinicio más. Una vez que estés en este modo, podrás alternar entre el modo de 4 KB y de 16 KB con un solo reinicio. Algunas funciones se inhabilitarán en estos modos, por lo que es posible que algunas aplicaciones no funcionen. Para que el dispositivo vuelva al modo de producción, tendrás que volver al modo de 4 KB y luego bloquear el bootloader, lo que restablecerá el estado de fábrica del dispositivo. Una vez que el dispositivo se inicie correctamente en Android, inhabilita el desbloqueo de OEM en Opciones para desarrolladores. Tras confirmar, se borrarán los datos del dispositivo y el sistema de archivos cambiará a ext4. Cuando se complete esta operación, vuelve a habilitar la opción de 16 KB."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Borrar todos los datos"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"No se ha podido borrar ni reformatear la partición de datos a ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Desbloqueo del bootloader necesario para el modo de 16 kB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Es necesario desbloquear el bootloader"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Para usar la opción para desarrolladores de 16 kB, este dispositivo debe tener el bootloader desbloqueado. En este modo no se puede garantizar la integridad del software, y los datos que haya almacenados en el teléfono mientras el bootloader está desbloqueado pueden correr peligro. Al activar el modo de 16 kB, se borrarán todos los ajustes y datos del usuario. Una vez que el bootloader esté desbloqueado, harán falta dos reinicios para activar la opción de 16 kB. Una vez que estés en este modo, podrás alternar entre el modo de 4 kB y de 16 kB con un solo reinicio. Algunas funciones se inhabilitarán en estos modos, por lo que es posible que algunas aplicaciones no funcionen. Para que el dispositivo vuelva al modo de producción, tendrás que volver al modo de 4 kB y luego bloquear el OEM o el bootloader, lo que restablece el estado de fábrica del dispositivo. Desbloquea el bootloader e inténtalo de nuevo. Puedes consultar las instrucciones para hacerlo en <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Usando el modo independiente de la página de 4 kB"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Estás en el modo de 4 KB del modo independiente de la página. En este modo no se puede garantizar la integridad del software, y los datos que haya almacenados en el teléfono mientras el bootloader está desbloqueado pueden correr peligro. Algunas funciones se inhabilitarán en estos modos, por lo que es posible que algunas aplicaciones no funcionen. Para volver al modo de producción, debes bloquear el bootloader del dispositivo. Toca para ver más información."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Estás en el modo de 4 KB del modo independiente de la página. En este modo no se puede garantizar la integridad del software, y los datos que haya almacenados en el teléfono mientras el bootloader está desbloqueado pueden correr peligro. Algunas funciones se inhabilitarán en estos modos, por lo que es posible que algunas aplicaciones no funcionen. Para volver al modo de producción, debes bloquear el bootloader del dispositivo. Esta acción restablecerá de nuevo el estado de fábrica del dispositivo y restaurará los ajustes de producción. Una vez que el dispositivo se inicie correctamente en Android, inhabilita el desbloqueo de OEM en Opciones para desarrolladores. Si el dispositivo no se puede iniciar en Android o es inestable, vuelve a instalar las últimas imágenes de fábrica de <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> o usa <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> y selecciona Wipe Device (Borrar los datos del dispositivo), Lock Bootloader (Bloquear bootloader) y Force Flash all partitions (Forzar la instalación de todas las particiones)."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Usando el modo independiente de la página de 16 kB"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Estás en el modo de 16 kB del modo independiente de la página. En este modo no se puede garantizar la integridad del software, y los datos que haya almacenados en el teléfono mientras el bootloader está desbloqueado pueden correr peligro. Algunas funciones se inhabilitarán en estos modos, por lo que es posible que algunas aplicaciones no funcionen. Para volver al modo de producción, debes volver al modo de 4 kB y luego bloquear el bootloader del dispositivo. Toca para ver más información."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Estás en el modo de 16 kB del modo independiente de la página. En este modo no se puede garantizar la integridad del software, y los datos que haya almacenados en el teléfono mientras el bootloader está desbloqueado pueden correr peligro. Algunas funciones se inhabilitarán en estos modos, por lo que es posible que algunas aplicaciones no funcionen. Para volver al modo de producción, debes volver al modo de 4 kB y luego bloquear el bootloader del dispositivo. Esta acción restablecerá de nuevo el estado de fábrica del dispositivo y restaurará los ajustes de producción. Una vez que el dispositivo se inicie correctamente en Android, inhabilita el desbloqueo de OEM en Opciones para desarrolladores. Si el dispositivo no se puede iniciar en Android o es inestable, vuelve a instalar las últimas imágenes de fábrica de <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> o usa <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> y selecciona Wipe Device (Borrar los datos del dispositivo), Lock Bootloader (Bloquear bootloader) y Force Flash all partitions (Forzar la instalación de todas las particiones)."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Estás en el modo de 16 KB del modo independiente de la página. En este modo no se puede garantizar la integridad del software, y los datos que haya almacenados en el teléfono mientras el bootloader está desbloqueado pueden correr peligro. Algunas funciones se inhabilitarán en estos modos, por lo que es posible que algunas aplicaciones no funcionen. Para volver al modo de producción, debes volver al modo de 4 KB y luego bloquear el bootloader del dispositivo. Toca para ver más información."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Estás en el modo de 16 KB del modo independiente de la página. En este modo no se puede garantizar la integridad del software, y los datos que haya almacenados en el teléfono mientras el bootloader está desbloqueado pueden correr peligro. Algunas funciones se inhabilitarán en estos modos, por lo que es posible que algunas aplicaciones no funcionen. Para volver al modo de producción, debes volver al modo de 4 KB y luego bloquear el bootloader del dispositivo. Esta acción restablecerá de nuevo el estado de fábrica del dispositivo y restaurará los ajustes de producción. Una vez que el dispositivo se inicie correctamente en Android, inhabilita el desbloqueo de OEM en Opciones para desarrolladores. Si el dispositivo no se puede iniciar en Android o es inestable, vuelve a instalar las últimas imágenes de fábrica de <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> o usa <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> y selecciona Wipe Device (Borrar los datos del dispositivo), Lock Bootloader (Bloquear bootloader) y Force Flash all partitions (Forzar la instalación de todas las particiones)."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Modo independiente de la página de 16 KB"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Más información"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Controlador de informes de errores"</string>
@@ -5007,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Usar Fijar aplicaciones"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Usar Opciones para desarrolladores"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Usa servicio de impresión"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Permitir varios usuarios"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"permitir, varios, usuarios, habilitar, muchos"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"múltiples, usuarios, perfiles, personas, cuentas, cambiar, muchos"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Usar depuración inalámbrica"</string>
@@ -5121,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Elige lo que quieres ver en tu pantalla cuando tu tablet está conectada en la base. Es posible que el dispositivo gaste más batería si se usa un salvapantallas."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Personalizar"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Personalizar <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Debes reiniciar para habilitar el formato libre."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Debes reiniciar para forzar el modo Escritorio en pantallas secundarias."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Debes reiniciar para habilitar la compatibilidad con ventanas de forma libre antiguas."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Debes reiniciar para cambiar la compatibilidad con ventanas de forma libre."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Debes reiniciar para forzar las ventanas de forma libre en pantallas secundarias."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reiniciar ahora"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reiniciar más tarde"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Audio espacial"</string>
@@ -5351,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Escuchar emisión"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Escanea el código QR de una emisión de audio para escucharlo con <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"No se puede modificar la contraseña durante el uso compartido. Para cambiarla, primero desactiva la función compartir audio."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-et/arrays.xml b/res/values-et/arrays.xml
index 6c73791..a2bfb9c 100644
--- a/res/values-et/arrays.xml
+++ b/res/values-et/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Uneaeg"</item>
+ <item msgid="4152450357280759894">"Sõitmine"</item>
+ <item msgid="7096549258219399423">"Kaasahaarav"</item>
+ <item msgid="2760716776980432977">"Hallatud"</item>
+ <item msgid="601734478369121764">"Tärn"</item>
+ <item msgid="6243809315432780521">"Kalender"</item>
+ <item msgid="4913577903148415331">"Kellaaeg"</item>
+ <item msgid="3653377604690057780">"Kinosaal"</item>
+ <item msgid="3843711267408385410">"Lill"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 38eb534..5d2aa6a 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Kuuldeseade seaded"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Otsetee, ühilduvus kuuldeaparaatidega"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Eelseadistus"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Teie audioloog ei ole ühtegi eelseadistust programmeerinud"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Eelseadistust ei saanud värskendada"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Heliväljund"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Teave heliväljundi kohta"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Nägu ja kell <xliff:g id="WATCH">%s</xliff:g> on lisatud"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Nägu, sõrmejälg ja kell <xliff:g id="WATCH">%s</xliff:g> on lisatud"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Nägu, sõrmejäljed ja kell <xliff:g id="WATCH">%s</xliff:g> on lisatud"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"See on vajalik, kuna identiteedi kontrollimine on sisse lülitatud"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Kaugautentija avamine"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Kell on lisatud"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Kella seadistamine"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Lisateave kellaga avamise kohta"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Lisa kell"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Kella eemaldamine"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Sõrmejälje ja näoga avamine"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Näo ja sõrmejäljega avamine"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Näo ja sõrmejäljega avamine töö jaoks"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Seadistamine on vajalik"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Nägu ja sõrmejäljed on lisatud"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Installige rakendused"</b>\n"Installige rakendused, mille soovite oma ruumis privaatsena hoida"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Pidage meeles"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Ruumi lukustamisel peatatakse rakendused"</b>\n"Kui lukustate oma ruumi, peatatakse teie ruumis olevad rakendused ja te ei saa neilt märguandeid"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Privaatsed ruumid ei ole sobilikud rakendustele, mis peavad töötama taustal või saatma kriitilisi märguandeid (nt meditsiinirakendused). Seda seetõttu, et märguanded ja taustategevused peatatakse, kui teie ruum on lukus.\n\nTeie privaatses ruumis olevaid rakendusi ei näidata lubade halduris, privaatsuse juhtpaneelis ja muudes seadetes, kui privaatne ruum on lukus.\n\nPrivaatset ruumi ei saa teisaldada uude seadmesse. Kui soovite seda mõnes teises seadmes kasutada, peate seadistama teise privaatse ruumi.\n\nKõik, kes ühendavad teie seadme arvutiga või installivad teie seadmesse kahjulikke rakendusi, võivad pääseda juurde teie privaatsele ruumile."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Privaatsed ruumid ei ole sobilikud rakendustele, mis peavad töötama taustal või saatma kriitilisi märguandeid (nt meditsiinirakendused). Seda seetõttu, et märguanded ja taustategevused peatatakse, kui teie ruum on lukus.\n\nTeie privaatses ruumis olevaid rakendusi ei näidata lubade halduris, privaatsuse juhtpaneelis ja muudes seadetes, kui privaatne ruum on lukus.\n\nPrivaatset ruumi ei saa uues seadmes taastada. Kui soovite seda teises seadmes kasutada, peate seadistama teise ruumi.\n\nKõik, kes ühendavad teie seadme arvutiga või installivad teie seadmesse pahatahtlikke rakendusi, võivad pääseda juurde teie privaatsele ruumile."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Lisateave privaatsete ruumide kohta"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"See võtab mõne hetke"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Privaatse ruumi seadistamine …"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Kas taaskäivitada seade?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Üksikasjalik NFC logimine on mõeldud ainult arenduseks. Veaaruannetesse kaasatakse täiendavad NFC andmed, mis võivad sisaldada privaatset teavet. Selle seade muutmiseks taaskäivitage oma seade."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Taaskäivita"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Ülekandmine"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"peegeldamine"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Luba juhtmeta ekraaniühendus"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Kohanduvad"</string>
<string name="brightness" msgid="6216871641021779698">"Ereduse tase"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Kohanduv eredus"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Kohanduva ereduse teave"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Teie ekraanikuva eredust kohandatakse automaatselt teie keskkonna ja tegevuste järgi. Võite liugurit käsitsi liigutada, et aidata kohanduval eredusel teie eelistusi õppida."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Sees"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Väljas"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Valikud"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Juurdepääsetavus"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Füüsiline klaviatuur"</string>
- <string name="show_ime" msgid="4334255501724746849">"Kasuta ekraaniklaviatuuri"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Hoia seda ekraanil, kui füüsiline klaviatuur on aktiivne"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Ühekordse puudutusega klahvid"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Klaviatuur eirab <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms jooksul tehtud sama klahvi korduvaid vajutusi"</string>
<string name="slow_keys" msgid="2891452895499690837">"Aeglased klahvid"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Kasutaja valitud: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Kõne"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Kursori kiirus"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Mängukontroller"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Vibreerimise ümbersuunamine"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Saadab vibreerimise mängukontrollerisse, kui see on ühendatud"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Jätka ikkagi"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Tühista"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Suurendamisseaded"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Ühe sõrmega paanimine"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Luubi liigutamine ühe sõrmega"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Kuval liikumiseks lohistage sõrme."</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Suurendusala teisaldamiseks lohistage ühe sõrmega."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Suurendusala teisaldamiseks lohistage kahe sõrmega."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Pole saadaval, kui suurendatakse ainult osa ekraanist"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Suumimiseks puudutage nuppu"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Suumige ekraanil kiiresti sisse, et sisu suuremalt kuvada"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Sissesuumimiseks toimige järgmiselt.</b><br/> {0,number,integer}. Kasutage suurendamise alustamiseks otseteed.<br/> {1,number,integer}. Puudutage ekraani.<br/> {2,number,integer}. Ekraanikuval liikumiseks lohistage kahe sõrmega.<br/> {3,number,integer}. Suumi kohandamiseks liigutage ekraanil kaht sõrme kokku-lahku.<br/> {4,number,integer}. Kasutage suurendamise lõpetamiseks otseteed.<br/><br/> <b>Ajutiseks sissesuumimiseks toimige järgmiselt.</b><br/> {0,number,integer}. Veenduge, et suurendamise tüübiks oleks valitud täisekraan.<br/> {1,number,integer}. Kasutage suurendamise alustamiseks otseteed.<br/> {2,number,integer}. Hoidke sõrme kus tahes ekraanikuval.<br/> {3,number,integer}. Lohistage ekraanikuval liikumiseks sõrme.<br/> {4,number,integer}. Suurendamise lõpetamiseks tõstke sõrm ekraanikuvalt."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Sissesuumimiseks toimige järgmiselt.</b><br/> {0,number,integer}. Kasutage suurendamise alustamiseks otseteed.<br/> {1,number,integer}. Puudutage ekraani.<br/> {2,number,integer}. Ekraanikuval liikumiseks lohistage kahe sõrmega.<br/> {3,number,integer}. Suumi kohandamiseks liigutage ekraanil kaht sõrme kokku-lahku.<br/> {4,number,integer}. Kasutage suurenduse peatamiseks otseteed<br/><br/> Saate ka ajutiselt sisse suumida ja muud teha."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Sissesuumimiseks toimige järgmiselt.</b><br/> {0,number,integer}. Kasutage suurendamise alustamiseks otseteed.<br/> {1,number,integer}. Puudutage ekraani.<br/> {2,number,integer}. Ekraanikuval liikumiseks lohistage ühe või kahe sõrmega.<br/> {3,number,integer}. Suumi kohandamiseks liigutage ekraanil kaht sõrme kokku-lahku.<br/> {4,number,integer}. Kasutage suurenduse peatamiseks otseteed<br/><br/> Saate ka ajutiselt sisse suumida ja muud teha."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Kui suurendusfunktsioon on sisse lülitatud, saate oma ekraanikuval sisse suumida.\n\n"<b>"Suumimiseks"</b>" käivitage suurendusfunktsioon ja puudutage siis ekraanikuval mis tahes kohta.\n"<ul><li>"Kerimiseks lohistage kahe või enama sõrmega."</li>\n<li>"Suumi kohandamiseks pigistage kahte või enamat sõrme kokku."</li></ul>\n\n<b>"Ajutiseks suumimiseks"</b>" käivitage suurendusfunktsioon ja puudutage siis ekraanikuval pikalt mis tahes kohta.\n"<ul><li>"Ekraanikuval teisaldamiseks lohistage sõrme."</li>\n<li>"Väljasuumimiseks tõstke sõrm ekraanilt."</li></ul>\n\n"Klaviatuuril ega navigeerimisribal ei saa sisse suumida."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>. leht <xliff:g id="NUM_PAGES">%2$d</xliff:g>-st"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Juurdepääsetavuse nupu otsetee"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Ainult oluliste inimeste ja rakendustega seotud märguanded"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Aktiveerimistüübi valimine"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Aeg"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Näide. „9:30 – 17:00”"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Kalender"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Näide. „Isiklik kalender”"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Mudeli loomine"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Kohandatud"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Katkestuste piiramine"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Valiku Mitte segada sisselülitamine"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarmid ja meediahelid saavad katkestada"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Ajakavad"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Ajakavade kustutamine"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Kustuta"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Muuda"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Ajakavad"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Ajakava"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Lisage kalender"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Kasutage oma kalendrit"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Ajastamine"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Ajakava määramine"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Ajakava"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Lülita automaatselt sisse"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Ajastamine"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Telefoni vaigistamine teatud ajal"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Režiimi Mitte segada reeglite määramine"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Helimärguandega katkestuste lubamine"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Visuaalsete häirimiste blok."</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Luba visuaalsed signaalid"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Teieni jõudvad märguanded"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Olge ümbritsevast teadlik"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Lisatoimingud"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Kuvaseaded"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Kuvavalikud"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"tumeda teema lubamine"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Lülitage OS ja rakendused heleda teksti ja tumeda tausta eelistusele, mis võib hõlbustada teksti lugemist ning säästab teatud seadmetes oluliselt akut"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Ekraanikuva muudatusi pole}=1{{effect_1}}=2{{effect_1} ja {effect_2}}=3{{effect_1}, {effect_2} ja {effect_3}}other{{effect_1}, {effect_2} ja veel #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Katkestuste filtreerimine"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Katkestusi ei filtreerita"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Filtreeritud märguannete kuvavalikud"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Kui funktsioon Mitte segada on sisse lülitatud"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Hääletud märguanded"</string>
@@ -3486,6 +3541,8 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"ava märguanne"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Luba märguandeid edasi lükata"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Märguandetäpp rakenduse ikoonil"</string>
+ <!-- no translation found for notification_bundles (3614044525822580826) -->
+ <skip />
<string name="notification_bubbles_title" msgid="5681506665322329301">"Mullid"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Mullid"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Kuva see vestlus mullis"</string>
@@ -3667,6 +3724,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Kategooriad"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Muu"</string>
<string name="no_channels" msgid="4716199078612071915">"See rakendus pole postitanud ühtegi märguannet"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Kuva kasutamata kategooriad"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Lisaseaded rakenduses"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Kuva kasutamata kategooriad"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Peida kasutamata kategooriad"</string>
@@ -3778,6 +3836,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Kõik"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Luba rakendustel alistada"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Rakendused, mis saavad katkestada"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Valige rohkem rakendusi"</string>
@@ -3814,12 +3874,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Muudetakse valikule Ainult äratused 1 tunniks kuni {time}}other{Muudetakse valikule Ainult äratused # tunniks kuni {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Muudetakse valikule Ainult alarmid kuni kella <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Muudetakse valikule Katkesta alati"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Nimeta ümber"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Muuda ikooni"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Muuda ikooni"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Hoiatus"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Sule"</string>
<string name="device_feedback" msgid="5351614458411688608">"Seadme kohta tagasiside saatmine"</string>
@@ -4805,8 +4862,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Ümbris"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Aku"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Seadete paneel"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Jõusta töölauarežiim"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Katselise töölauarežiimi jõustamine teisestel ekraanidel"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Luba vabas vormis aknad"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Luba vabas vormis akende tugi."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Luba vabas vormis akende kuvamine teisel ekraanil"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Luba vabas vormis aknad ainult teisesel ekraanil."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Luba fikseeritud suurus mitmes aknas"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Lubab fikseeritud suurusega rakenduste kuvamise mitmes aknas"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Alista funktsioon Sunnitud tume"</string>
@@ -4874,14 +4933,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Arendaja valiku 16 kB kasutamiseks peab seadme andmete sektsioon olema konverditud failisüsteemiks ext4. Selles režiimis ei saa garanteerida tarkvara terviklust ja andmed, mis salvestatakse telefoni, kui käivituslaadur on avatud, võivad olla ohus. Pärast valiku 16 kB aktiveerimist tuleb seade veel korra taaskäivitada. Selles režiimis saate 4 kB ja 16 kB režiimide vahel vahetada ühe taaskäivitamisega. Mõned funktsioonid on nendes režiimides keelatud, mistõttu ei pruugi kõik rakendused töötada Seadme tehaseseadetele lähtestamiseks ja tavarežiimi naasmiseks lülituge uuesti 4K režiimile ja avage seadme käivituslaadur. Pärast seda, kui seade on Androidi käivitanud, keelake arendaja valikutes OEM-tootjaluku avamine. Pärast kinnitamist seade tühjendatakse ja failisüsteemiks seatakse ext4. Kui need toimingud on lõpetatud, lubage taas režiim 16 kB."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Kustuta kõik andmed"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Andmete sektsiooni ümbervormindamine failisüsteemiks ext4 ja seadme tühjendamine ebaõnnestus."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16 kB režiimi jaoks on vaja käivituslaadur avada"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Käivituslaadur on vaja avada"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Arendaja valiku 16 kB kasutamiseks peab seadme käivituslaadur olema avatud. Selles režiimis ei saa garanteerida tarkvara terviklust ja andmed, mis salvestatakse telefoni, kui käivituslaadur on avatud, võivad olla ohus. Režiimi 16 kB aktiveerimisel tühjendatakse seade kõigist kasutaja andmetest ja seadetest. Kui käivituslaadur on avatud, on valiku 16 kB aktiveerimiseks vaja seade kaks korda taaskäivitada. Selles režiimis saate 4 kB ja 16 kB režiimide vahel vahetada ühe taaskäivitamisega. Mõned funktsioonid on nendes režiimides keelatud, mistõttu ei pruugi kõik rakendused töötada. Selleks, et viia seade uuesti tavarežiimile, peate lülituma tagasi 4 kB režiimile ja lukustama OEM-i/käivituslaaduri. See lähtestab seadme tehaseseadetele. Avage käivituslaadur ja proovige uuesti. Juhiseid selle kohta vaadake aadressilt <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Lehest sõltumatu 4 kB režiimi kasutamine"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Olete lehest sõltumatus 4 kB režiimis. Selles režiimis ei saa garanteerida tarkvara terviklust ja andmed, mis salvestatakse telefoni, kui käivituslaadur on avatud, võivad olla ohus. Mõned funktsioonid on nendes režiimides keelatud, mistõttu ei pruugi kõik rakendused töötada. Tavarežiimi naasmiseks peate avama seadme käivituslaaduri. Puudutage lisateabe vaatamiseks."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Olete lehest sõltumatus 4 kB režiimis. Selles režiimis ei saa garanteerida tarkvara terviklust ja andmed, mis salvestatakse telefoni, kui käivituslaadur on avatud, võivad olla ohus. Mõned funktsioonid on nendes režiimides keelatud, mistõttu ei pruugi kõik rakendused töötada. Tavarežiimi naasmiseks peate avama seadme käivituslaaduri. See lähtestab seadme tehaseseadetele. Pärast seda, kui seade on Androidi käivitanud, keelake arendaja valikutes OEM-tootjaluku avamine. Kui seadmel ei õnnestu Androidi käivitada või see on ebastabiilne, installige kogu operatsioonisüsteem ja püsivara uuesti, kasutades tehaseoleku süsteemikujutisi aadressilt <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> või kasutage tööriista aadressil <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ja valige „Tühjenda seade“, „Lukusta käivituslaadur“ ja „Installi kõik sektsioonid uuesti“."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Lehest sõltumatu 16 kB režiimi kasutamine"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Olete lehest sõltumatus 16 kB režiimis. Selles režiimis ei saa garanteerida tarkvara terviklust ja andmed, mis salvestatakse telefoni, kui käivituslaadur on avatud, võivad olla ohus. Mõned funktsioonid on nendes režiimides keelatud, mistõttu ei pruugi kõik rakendused töötada. Selleks et viia seade uuesti tavarežiimile, peate lülituma tagasi 4K režiimile ja seejärel avama seadme käivituslaaduri. Puudutage lisateabe vaatamiseks."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Olete lehest sõltumatus 16 kB režiimis. Selles režiimis ei saa garanteerida tarkvara terviklust ja andmed, mis salvestatakse telefoni, kui käivituslaadur on avatud, võivad olla ohus. Mõned funktsioonid on nendes režiimides keelatud, mistõttu ei pruugi kõik rakendused töötada. Seadme tehaseseadetele lähtestamiseks ja tavarežiimi naasmiseks lülituge uuesti 4K režiimile ja avage seadme käivituslaadur. Pärast seda, kui seade on Androidi käivitanud, keelake arendaja valikutes OEM-tootjaluku avamine. Kui seadmel ei õnnestu Androidi käivitada või see on ebastabiilne, installige kogu operatsioonisüsteem ja püsivara uuesti, kasutades tehaseoleku süsteemikujutisi aadressilt <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>, või kasutage tööriista aadressilt <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ja valige „Tühjenda seade“, „Lukusta käivituslaadur“ ja „Installi kõik sektsioonid uuesti“."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Olete lehest sõltumatus 16 kB režiimis. Selles režiimis ei saa garanteerida tarkvara terviklust ja andmed, mis salvestatakse telefoni, kui käivituslaadur on avatud, võivad olla ohus. Mõned funktsioonid on nendes režiimides keelatud, mistõttu ei pruugi kõik rakendused töötada. Selleks et viia seade uuesti tavarežiimile, peate lülituma tagasi 4 kB režiimile ja seejärel lukustama seadme käivituslaaduri. Puudutage lisateabe vaatamiseks."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Olete lehest sõltumatus 16 kB režiimis. Selles režiimis ei saa garanteerida tarkvara terviklust ja andmed, mis salvestatakse telefoni, kui käivituslaadur on avatud, võivad olla ohus. Mõned funktsioonid on nendes režiimides keelatud, mistõttu ei pruugi kõik rakendused töötada. Selleks et viia seade uuesti tavarežiimile, peate lülituma tagasi 4 kB režiimile ja seejärel lukustama seadme käivituslaaduri. Selle toiminguga lähtestatakse seade jälle tehaseseadetele ja taastatakse tavarežiimi seaded. Pärast seda, kui seade on Androidi käivitanud, keelake arendaja valikutes OEM-tootjaluku avamine. Kui seadmel ei õnnestu Androidi käivitada või see on ebastabiilne, uuendage kogu püsivara uuesti, kasutades tehaseoleku süsteemikujutisi aadressilt <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a>, ning tehke valikud „Tühjenda seade“, „Lukusta käivituslaadur“ ja „Sunduuenda kõiki sektsioone“."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Lehest sõltumatu 16 kB režiim"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Lisateave"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Veaaruannete töötleja"</string>
@@ -5013,7 +5072,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Rakenduse kinnitamise kasutamine"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Kasuta arendaja valikuid"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Printimisteenuse kasutamine"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Luba mitu kasutajat"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"luba, lubamine, mitu, kasutaja, kasutajat"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"mitu, kasutajad, profiilid, inimesed, kontod, vahetamine, palju"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Juhtmevaba silumise kasutamine"</string>
@@ -5127,8 +5187,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Valige, mida oma ekraanikuval näete, kui teie tahvelarvuti on dokitud. Kui kasutate ekraanisäästjat, võib teie seade rohkem energiat tarbida."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Kohanda"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Kohanda ekraanisäästjat <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Vabas vormis toe jaoks on vaja taaskäivitada."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Töölauarežiimi teisestele ekraanidele sundimiseks on vaja taaskäivitada."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Pärand vabas vormis akende kuvamise lubamiseks on vajalik taaskäivitamine."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Vabas vormis akende kuvamise toe muutmiseks on vajalik taaskäivitamine."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Teisestel ekraanidel vabas vormis akende kuvamise sundimiseks on vajalik taaskäivitamine."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Taaskäivita kohe"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Taaskäivita hiljem"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Ruumiline heli"</string>
@@ -5357,4 +5418,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Kuula voogu"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Seadmega <xliff:g id="DEVICE_NAME">%1$s</xliff:g> kuulamiseks skannige helivoo QR-kood"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Parooli ei saa jagamise ajal muuta. Parooli muutmiseks lülitage esmalt heli jagamine välja."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-eu/arrays.xml b/res/values-eu/arrays.xml
index e95d175..edf8286 100644
--- a/res/values-eu/arrays.xml
+++ b/res/values-eu/arrays.xml
@@ -230,7 +230,7 @@
<item msgid="2702338156976571452">"hatz-marka digitala"</item>
<item msgid="7925495329948404955">"gorputz-sentsoreak"</item>
<item msgid="8163066895749904470">"irakurri sare mugikor bidezko igorpenak"</item>
- <item msgid="7621394050624063528">"imitate kokapena"</item>
+ <item msgid="7621394050624063528">"asmatutako kokapena"</item>
<item msgid="37519917674959757">"irakurri memoria"</item>
<item msgid="3868809525697401379">"idatzi memorian"</item>
<item msgid="2504191192460059817">"piztu pantaila"</item>
@@ -297,7 +297,7 @@
<item msgid="4480721672278100858">"Hatz-marka digitala"</item>
<item msgid="7883743426029759112">"Gorputz-sentsoreak"</item>
<item msgid="2546206711741159825">"Irakurri sare mugikor bidezko igorpenak"</item>
- <item msgid="2363460595607829243">"Imitatu kokapena"</item>
+ <item msgid="2363460595607829243">"Asmatutako kokapena"</item>
<item msgid="3778165903878569143">"Irakurri memoria"</item>
<item msgid="555939881912035315">"Idatzi memorian"</item>
<item msgid="4281352581602735717">"Piztu pantaila"</item>
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Lo egiteko garaia"</item>
+ <item msgid="4152450357280759894">"Gidatzea"</item>
+ <item msgid="7096549258219399423">"Murgiltzailea"</item>
+ <item msgid="2760716776980432977">"Kudeatua"</item>
+ <item msgid="601734478369121764">"Izarra"</item>
+ <item msgid="6243809315432780521">"Egutegia"</item>
+ <item msgid="4913577903148415331">"Ordua"</item>
+ <item msgid="3653377604690057780">"Antzerkia"</item>
+ <item msgid="3843711267408385410">"Lorea"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index f752ed6..75bb2e8 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Entzumen-gailuen ezarpenak"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Lasterbidea eta audifonoekiko bateragarritasuna"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Aurrezarpena"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Zure audiologoak ez du aurrezarpenik programatu"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Ezin izan da eguneratu aurrezarpena"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audio-irteera"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Audio-irteerari buruz"</string>
@@ -151,7 +152,7 @@
<string name="proxy_error" msgid="3615905975598084126">"Abisua"</string>
<string name="proxy_error_dismiss" msgid="4207430265140873078">"Ados"</string>
<string name="proxy_error_invalid_host" msgid="3814412792702059247">"Idatzi duzun ostalari-izena ez da baliozkoa."</string>
- <string name="proxy_error_invalid_exclusion_list" msgid="6096353559936226599">"Idatzi duzun salbuespen-zerrendak ez du formatu egokia. Idatzi kanpo utzitako domeinuen zerrenda, komaz bereizita."</string>
+ <string name="proxy_error_invalid_exclusion_list" msgid="6096353559936226599">"Idatzi duzun bazterketa-zerrendak ez du formatu egokia. Idatzi baztertzeko domeinuen zerrenda, komaz bereizita."</string>
<string name="proxy_error_empty_port" msgid="4250295137005082992">"Atakaren eremua bete behar duzu."</string>
<string name="proxy_error_empty_host_set_port" msgid="8886572276450900049">"Ataka eremuak hutsik egon behar du Ostalaria eremua ere hutsik badago."</string>
<string name="proxy_error_invalid_port" msgid="2830054691770209166">"Idatzi duzun ataka ez da baliozkoa."</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Gehitu dira aurpegia eta <xliff:g id="WATCH">%s</xliff:g> erlojua"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Gehitu dira aurpegia, hatz-marka eta <xliff:g id="WATCH">%s</xliff:g> erlojua"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Gehitu dira aurpegia, hatz-markak eta <xliff:g id="WATCH">%s</xliff:g> erlojua"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Beharrezkoa da identitate-egiaztapena aktibatuta dagoelako"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator-en desblokeoa"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Gehitu da erlojua"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Konfiguratu erlojua"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Lortu Erloju bidez desblokeatzea eginbideari buruzko informazio gehiago"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Gehitu erloju bat"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Kendu erlojua"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Hatz-marka eta aurpegi bidez desblokeatzea"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Aurpegi eta hatz-marka bidez desblokeatzea"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Laneko profila aurpegi eta hatz-marka bidez desblokeatzea"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Konfiguratu gabe"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Aurpegia eta hatz-markak gehitu dira"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Instalatu aplikazioak"</b>\n"Instalatu zure eremuan eduki nahi dituzun aplikazio pribatuak"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Gogoratu"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Aplikazioak gelditu egiten dira eremua blokeatzen duzunean"</b>\n"Eremua blokeatzen duzunean, bertan dauzkazun aplikazioak gelditu egiten dira, eta haien jakinarazpenak jasotzeari uzten diozu"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Eremu pribatuak ez dira egokiak atzeko planoan exekutatu behar diren edo jakinarazpen larriak bidali behar dituzten aplikazioetarako (adibidez, medikuntza-aplikazioak). Izan ere, jakinarazpenak eta atzeko planoko jarduerak gelditu egiten dira eremua blokeatuta dagoenean.\n\nZure eremu pribatuko aplikazioak ez dira agertuko baimenen kudeatzailean, pribatutasun-panelean eta beste ezarpenetan eremu pribatua blokeatuta dagoenean.\n\nEremu pribatua ezin da eraman beste gailu batera. Eremu pribatua beste gailu batean erabili nahi baduzu, beste bat konfiguratu beharko duzu.\n\nBaliteke zure gailua ordenagailu batekin konektatzen duten edo gailuan aplikazio kaltegarriak instalatzen dituzten guztiek zure eremu pribatua atzitu ahal izatea."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Eremu pribatuak ez dira egokiak atzeko planoan exekutatu behar diren edo jakinarazpen larriak bidali behar dituzten aplikazioetarako (adibidez, medikuntza-aplikazioak). Izan ere, jakinarazpenak eta atzeko planoko jarduerak gelditu egiten dira eremua blokeatuta dagoenean.\n\nZure eremu pribatuko aplikazioak ez dira agertuko baimenen kudeatzailean, pribatutasun-panelean eta beste ezarpenetan eremu pribatua blokeatuta dagoenean.\n\nEremu pribatua ezin da leheneratu beste gailu batean. Eremua beste gailu batean erabili nahi baduzu, beste bat konfiguratu beharko duzu.\n\nBaliteke zure gailua ordenagailu batekin konektatzen duten edo gailuan asmo txarreko aplikazioak instalatzen dituzten guztiek zure eremu pribatua atzitu ahal izatea."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Lortu eremu pribatuari buruzko informazio gehiago"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Une bat beharko da"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Eremu pribatua konfiguratzen…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Gailua berrabiarazi nahi duzu?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"NFCaren erregistro xehatuak garapen-helburuetarako soilik dira. NFCari buruzko datu gehigarriak daude akatsen txostenetan, eta baliteke haiek informazio pribatua izatea. Ezarpen hori aldatzeko, berrabiarazi gailua."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Berrabiarazi"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Igorpena"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"islatzea"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Gaitu hari gabeko bistaratzea"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Egokituak"</string>
<string name="brightness" msgid="6216871641021779698">"Distira"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Distira egokitua"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Distira egokituari buruz"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Pantailaren distira automatikoki egokituko da inguruneko argiaren eta egiten ari zarenaren arabera. Eskuz aldatu nahi baduzu distira, mugitu graduatzailea distira egokituak zure hobespenak ikas ditzan."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Aktibatuta"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Desaktibatuta"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Aukerak"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Erabilerraztasuna"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Teklatu fisikoa"</string>
- <string name="show_ime" msgid="4334255501724746849">"Erabili pantailako teklatua"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Erakutsi pantailan teklatu fisikoa aktibo dagoen bitartean"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Errebote-teklak"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Teklatuak ez ikusi egiten dio tekla bera <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms igaro baino lehen behin eta berriro sakatzen bada"</string>
<string name="slow_keys" msgid="2891452895499690837">"Tekla motelak"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Erabiltzaileak hautatua: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Hizketa"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Erakuslearen abiadura"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Bideo-jokoen kontrolagailua"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Birbideratu dardara"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Bidali dardara bideo-jokoen kontrolagailura hura konektatzean"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Egin aurrera, halere"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Utzi"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Luparen ezarpenak"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Hatz batekin mugitzea"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Mugitu lupa hatz batekin"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Arrastatu hatz 1 pantailatik mugitzeko."</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Mugitu luparen eremua hatz bat arrastatuta."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Mugitu luparen eremua bi hatz arrastatuta."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Ez dago erabilgarri pantailaren zati bat soilik handitzean"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Zooma aplikatzeko, sakatu botoi bat"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Handitu pantaila bizkor edukia hobeto ikusteko"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Pantaila handitzeko:</b><br/> {0,number,integer}. Erabili lupa aktibatzeko lasterbidea.<br/> {1,number,integer}. Sakatu pantaila.<br/> {2,number,integer}. Arrastatu bi hatz pantailan zehar mugitzeko.<br/> {3,number,integer}. Atximurkatu pantaila bi hatz erabilita zooma doitzeko.<br/> {4,number,integer}. Erabili lupa desaktibatzeko lasterbidea.<br/><br/> <b>Pantaila une batez handitzeko:</b><br/> {0,number,integer}. Ziurtatu lupa mota pantaila oso gisa ezarrita dagoela.<br/> {1,number,integer}. Erabili lupa aktibatzeko lasterbidea.<br/> {2,number,integer}. Eduki sakatuta pantailako edozein puntu.<br/> {3,number,integer}. Arrastatu hatz bat pantailan zehar mugitzeko.<br/> {4,number,integer}. Jaso hatza lupa desaktibatzeko."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Pantaila handitzeko:</b><br/> {0,number,integer}. Erabili lupa aktibatzeko lasterbidea.<br/> {1,number,integer}. Sakatu pantaila.<br/> {2,number,integer}. Arrastatu 2 hatz pantailan zehar mugitzeko.<br/> {3,number,integer}. Atximurkatu 2 hatz zooma doitzeko.<br/> {4,number,integer}. Erabili lasterbidea luparen eginbidea gelditzeko.<br/><br/> Gainera, aldi baterako handi dezakezu, besteak beste."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Pantaila handitzeko:</b><br/> {0,number,integer}. Erabili lupa aktibatzeko lasterbidea.<br/> {1,number,integer}. Sakatu pantaila.<br/> {2,number,integer}. Arrastatu 1 edo 2 hatz pantailan barna mugitzeko.<br/> {3,number,integer}. Atximurkatu 2 hatz zooma doitzeko.<br/> {4,number,integer}. Erabili lasterbidea luparen eginbidea gelditzeko.<br/><br/> Gainera, aldi baterako handi dezakezu, besteak beste."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Zooma aktibatuta badago, pantailan aplika dezakezu.\n\n"<b>"Handitzeko"</b>", ireki zooma eta sakatu pantailako edozein puntu.\n"<ul><li>"Arrastatu bi hatz edo gehiago gora eta behera egiteko."</li>\n<li>"Atximurkatu pantaila bi hatz edo gehiago erabilita zooma doitzeko."</li></ul>\n\n<b>"Zooma unetxo batez aplikatzeko"</b>", ireki zooma eta eduki sakatuta pantailako edozein puntu.\n"<ul><li>"Arrastatu hatza toki batetik bestera joateko."</li>\n<li>"Altxatu hatza txikitzeko."</li></ul>\n\n"Ezin da aplikatu zooma teklatuan edo nabigazio-barran."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="NUM_PAGES">%2$d</xliff:g> orria"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Erabilerraztasuna botoiaren lasterbidea"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Jaso jende eta aplikazio garrantzitsuen jakinarazpenak soilik"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Hautatu aktibazio mota"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Ordua"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Adibidez, \"9:30-17:00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Egutegia"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Adibidez, \"Egutegi pertsonala\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Sortu modu bat"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Pertsonalizatua"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Mugatu etenaldiak"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Aktibatu ez molestatzeko modua"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarmek eta multimedia-soinuek eten dezakete"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Programazioak"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Ezabatu programazioak"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Ezabatu"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Editatu"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Programazioak"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Programazioa"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Ezarri programazio bat"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Programazioa"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h eta <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Aktibatu automatikoki"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Programazioa"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Isilarazi telefonoa ordu jakinetan"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Ezarri ez molestatzeko moduaren arauak"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Baimendu soinua duten etenaldiak"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokeatu oztopo bisualak"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Baimendu seinale bisualak"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Hala eta guztiz ere jasoko dituzun jakinarazpenak"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Egon kontzentratuta"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Ekintza gehiago"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Bistaratze-ezarpenak"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Bistaratze-aukerak"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"gaitu gai iluna"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Aldatu sistema eragilearen eta aplikazioen ezarpenak atzeko plano ilun batean testu argia bistaratzea hobesteko. Hala, begiak ez dira horrenbeste behartzen eta bateria nabarmen aurrezten da gailu batzuetan."</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Ez da aldaketarik egin pantailan}=1{{effect_1}}=2{{effect_1} eta {effect_2}}=3{{effect_1}, {effect_2} eta {effect_3}}other{{effect_1}, {effect_2} eta beste #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Iragazi etenak"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Ez da etenik iragazten"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Iragazitako jakinarazpenen bistaratze-aukerak"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Ez molestatzeko modua aktibatuta dagoenean"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Ez egin soinurik jakinarazpenak jasotzean"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"jakinarazpena ireki"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Eman jakinarazpenak atzeratzeko baimena"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Jakinarazpen-biribiltxoa aplikazioaren ikonoan"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Jakinarazpen multzoak"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Burbuilak"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Burbuilak"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Bistaratu elkarrizketa hau burbuila gisa"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Kategoriak"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Beste batzuk"</string>
<string name="no_channels" msgid="4716199078612071915">"Aplikazio honek ez du argitaratu jakinarazpenik"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Erakutsi erabili gabeko kategoriak"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Aplikazioaren ezarpen gehiago"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Erakutsi erabili gabeko kategoriak"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Ezkutatu erabili gabeko kategoriak"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Guztiak"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Eman \"Ez molestatu\" ez aplikatzeko baimena aplikazioei"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Eten zaitzaketen aplikazioak"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Hautatu aplikazio gehiago"</string>
@@ -4125,7 +4187,7 @@
<string name="ota_disable_automatic_update_summary" msgid="7803279951533276841">"Aplikatu eguneratzeak gailua berrabiaraztean"</string>
<string name="usage" msgid="287782903846013936">"Erabilera"</string>
<string name="cellular_data_usage" msgid="5874156338825285334">"Datu-konexioaren erabilera"</string>
- <string name="app_cellular_data_usage" msgid="7603292978956033926">"Aplikazioak erabilitako datuak"</string>
+ <string name="app_cellular_data_usage" msgid="7603292978956033926">"Aplikazioen datu-erabilera"</string>
<string name="wifi_data_usage" msgid="6868503699134605707">"Wifi-sareko datu-erabilera"</string>
<string name="non_carrier_data_usage" msgid="6494603202578414755">"Operadorearenak ez diren datuen erabilera"</string>
<string name="ethernet_data_usage" msgid="4552227880905679761">"Ethernet-datuen erabilera"</string>
@@ -4284,7 +4346,7 @@
<string name="system_navigation_title" msgid="4890381153527184636">"Nabigazio modua"</string>
<string name="swipe_up_to_switch_apps_title" msgid="6677266952021118342">"2 botoiko nabigazioa"</string>
<string name="swipe_up_to_switch_apps_summary" msgid="1415457307836359560">"Aplikazioa aldatzeko, pasatu hatza gora Hasiera botoian. Aplikazio guztiak ikusteko, pasatu hatza gora berriro. Atzera egiteko, sakatu Atzera botoia."</string>
- <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Segurtasuna eta larrialdiak"</string>
+ <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Segurtasun fisikoa eta larrialdiak"</string>
<string name="emergency_dashboard_summary" msgid="401033951074039302">"SOS larrialdia, osasunari buruzko informazioa, alertak"</string>
<string name="edge_to_edge_navigation_title" msgid="714427081306043819">"Keinu bidezko nabigazioa"</string>
<string name="edge_to_edge_navigation_summary" msgid="818109176611921504">"Orri nagusira joateko, pasatu hatza pantailaren behealdetik gora. Aplikazioa aldatzeko, pasatu hatza pantailaren behealdetik gora eta eduki sakatuta une batez, guztiz altxatu aurretik. Atzera egiteko, pasatu hatza pantailaren ezkerreko edo eskuineko ertzetik beste aldera."</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Kutxa"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Bateria"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Ezarpenen panela"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Behartu ordenagailuetarako modua erabiltzera"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Behartu ordenagailuetarako modu esperimentala erabiltzera bigarren mailako pantailetan"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Gaitu estilo libreko leihoak"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Onartu estilo libreko leihoak."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Gaitu estilo libreko leihoak bigarren pantailan"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Gaitu estilo libreko leihoak bigarren mailako pantailan soilik."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Gaitu tamaina aldagarria ez duten aplikazioak leiho bat baino gehiagoko moduan"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Tamaina aldagarria ez duten aplikazioak leiho bat baino gehiagoko moduan izateko aukera ematen du"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Ez aplikatu gai iluna"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Gailu honen datuen partizioa ext4-ra bihurtu behar da 16 kB-ko garatzaileentzako aukera erabili baino lehen. Modu horretan ezin da bermatu softwarearen osotasuna, eta baliteke telefonoan gordetako datuak arriskuan egotea sistema eragilearen abiarazlea desblokeatuta dagoen bitartean. 16 kB-ko aukera aktibatzeko, berriro berrabiarazi beharko da berrabiarazte honen ondoren. Modu horretan zaudenean, 4 kB-ko eta 16 kB-ko moduen artean aldatu ahal izango duzu behin soilik berrabiarazita. Modu horietan, eginbide batzuk desgaituko dira; beraz, baliteke aplikazio batzuek ez funtzionatzea. Gailua jatorrizko modura itzultzeko, aldatu berriro 4 kB-ko modura eta blokeatu sistema eragilearen abiarazlea. Gailuaren jatorrizko datuak berrezarriko dira. Gailuak Android behar bezala abiarazten duenean, desgaitu OEMa desblokeatzeko aukera Garatzaileentzako aukerak atalean. Berretsi ondoren, gailua xahutuko da eta fitxategi-sistema ext4-ra aldatuko da. Prozesu hori osatu ondoren, itzuli hona 16 kB-ko modua berriro gaitzeko."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Ezabatu datu guztiak"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Ezin izan da formateatu eta xahutu datu-partizioa ext4-ra."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Sistema eragilearen abiarazlea desblokeatu behar da 16 kB-ko modua erabiltzeko"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Sistema eragilearen abiarazlea desblokeatu behar da"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"16 kB-ko garatzaileentzako aukera erabili baino lehen, gailuaren sistema eragilearen abiarazlea desblokeatu behar da. Modu horretan ezin da bermatu softwarearen osotasuna, eta baliteke telefonoan gordetako datuak arriskuan egotea sistema eragilearen abiarazlea desblokeatuta dagoen bitartean. 16 kB-ko modua aktibatzean, erabiltzaile-datu eta -ezarpen guztiak xahutuko dira. Sistema eragilearen abiarazlea desblokeatu ondoren, gailua 2 aldiz berrabiarazi beharko da 16 kB-ko moduaren aukera aktibatzeko. Modu horretan zaudenean, 4 kB-ko eta 16 kB-ko moduen artean aldatu ahal izango duzu behin soilik berrabiarazita. Modu horietan, eginbide batzuk desgaituko dira; beraz, baliteke aplikazio batzuek ez funtzionatzea. Gailua jatorrizko modura itzultzeko, aldatu berriro 4 kB-ko modura eta blokeatu gailuaren sistema eragilearen abiarazlea edo OEMa. Gailuaren jatorrizko datuak berrezarriko dira. Desblokeatu sistema eragilearen abiarazlea eta saiatu berriro. Hori egiteko argibideak jasotzeko, joan <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a> helbidera."</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Orri-tamaina guztiekin bateragarria den 4 kB-ko modua erabiltzen"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Orri-tamaina guztiekin bateragarria den moduko 4 kB-ko moduan zaude. Modu horretan ezin da bermatu softwarearen osotasuna, eta baliteke telefonoan gordetako datuak arriskuan egotea sistema eragilearen abiarazlea desblokeatuta dagoen bitartean. Modu horietan, eginbide batzuk desgaituko dira; beraz, baliteke aplikazio batzuek ez funtzionatzea. Jatorrizko modura itzultzeko, blokeatu gailuaren sistema eragilearen abiarazlea. Informazio gehiago irakurtzeko, sakatu hau."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Orri-tamaina guztiekin bateragarria den moduko 4 kB-ko moduan zaude. Modu horretan ezin da bermatu softwarearen osotasuna, eta baliteke telefonoan gordetako datuak arriskuan egotea sistema eragilearen abiarazlea desblokeatuta dagoen bitartean. Modu horietan, eginbide batzuk desgaituko dira; beraz, baliteke aplikazio batzuek ez funtzionatzea. Jatorrizko modura itzultzeko, blokeatu gailuaren sistema eragilearen abiarazlea. Gailuaren jatorrizko datuak berrezarriko dira, eta jatorrizko ezarpenetara leheneratuko. Gailuak Android behar bezala abiarazten duenean, desgaitu OEMa desblokeatzeko aukera Garatzaileentzako aukerak atalean. Gailuak Android abiarazi ezin badu edo ezegonkorra bada, instala itzazu fabrikako firmwarearen azken irudiak (<a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> helbidetik) gailuan. Bestela, erabili <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> eta hautatu \"Wipe Device\" (xahutu gailua), \"Lock Bootloader\" (blokeatu sistema eragilearen abiarazlea) eta \"Force Flash all partitions\" (behartu partizio guztiak berriro instalatzera)."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Orri-tamaina guztiekin bateragarria den 16 kB-ko modua erabiltzen"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Orri-tamaina guztiekin bateragarria den moduko 16 kB-ko moduan zaude. Modu horretan ezin da bermatu softwarearen osotasuna, eta baliteke telefonoan gordetako datuak arriskuan egotea sistema eragilearen abiarazlea desblokeatuta dagoen bitartean. Modu horietan, eginbide batzuk desgaituko dira; beraz, baliteke aplikazio batzuek ez funtzionatzea. Jatorrizko modura itzultzeko, aldatu berriro 4 kB-ko modura eta blokeatu gailuaren sistema eragilearen abiarazlea. Informazio gehiago irakurtzeko, sakatu hau."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Orri-tamaina guztiekin bateragarria den moduko 16 kB-ko moduan zaude. Modu horretan ezin da bermatu softwarearen osotasuna, eta baliteke telefonoan gordetako datuak arriskuan egotea sistema eragilearen abiarazlea desblokeatuta dagoen bitartean. Modu horietan, eginbide batzuk desgaituko dira; beraz, baliteke aplikazio batzuek ez funtzionatzea. Jatorrizko modura itzultzeko, aldatu berriro 4 kB-ko modura eta blokeatu gailuaren sistema eragilearen abiarazlea. Gailuaren jatorrizko datuak berrezarriko dira, eta jatorrizko ezarpenetara leheneratuko. Gailuak Android behar bezala abiarazten duenean, desgaitu OEMa desblokeatzeko aukera Garatzaileentzako aukerak atalean. Gailuak Android abiarazi ezin badu edo ezegonkorra bada, instala itzazu fabrikako firmwarearen azken irudiak (<a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> helbidetik) gailuan. Bestela, erabili <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> eta hautatu \"Wipe Device\" (xahutu gailua), \"Lock Bootloader\" (blokeatu sistema eragilearen abiarazlea) eta \"Force Flash all partitions\" (behartu partizio guztiak berriro instalatzera)."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Orri guztiekin bateragarria den moduko 16 kB-ko moduan zaude. Modu horretan ezin da bermatu softwarearen osotasuna, eta baliteke telefonoan gordetako datuak arriskuan egotea sistema eragilearen abiarazlea desblokeatuta dagoen bitartean. Modu horietan, eginbide batzuk desgaituko dira; beraz, baliteke aplikazio batzuek ez funtzionatzea. Jatorrizko modura itzultzeko, aldatu berriro 4 kB-ko modura eta blokeatu gailuaren sistema eragilearen abiarazlea. Informazio gehiago irakurtzeko, sakatu hau."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Orri guztiekin bateragarria den moduko 16 kB-ko moduan zaude. Modu horretan ezin da bermatu softwarearen osotasuna, eta baliteke telefonoan gordetako datuak arriskuan egotea sistema eragilearen abiarazlea desblokeatuta dagoen bitartean. Modu horietan, eginbide batzuk desgaituko dira; beraz, baliteke aplikazio batzuek ez funtzionatzea. Jatorrizko modura itzultzeko, aldatu berriro 4 kB-ko modura eta blokeatu gailuaren sistema eragilearen abiarazlea. Gailuaren jatorrizko datuak berrezarriko dira, eta jatorrizko ezarpenetara leheneratuko. Gailuak Android behar bezala abiarazten duenean, desgaitu OEMa desblokeatzeko aukera Garatzaileentzako aukerak atalean. Gailuak Android abiarazi ezin badu edo ezegonkorra bada, instala itzazu fabrikako firmwarearen azken irudiak (<a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> helbidetik) gailuan. Bestela, erabili <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> eta hautatu \"Wipe Device\" (xahutu gailua), \"Lock Bootloader\" (blokeatu sistema eragilearen abiarazlea) eta \"Force Flash all partitions\" (behartu partizio guztiak berriro instalatzera)."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Orri-tamaina guztiekin bateragarria den 16 kB-ko modua"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Irakurri informazio gehiago"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Akatsen txostenen kudeatzailea"</string>
@@ -5007,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Erabili aplikazioak ainguratzeko eginbidea"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Erabili garatzaileentzako aukerak"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Erabili inprimatze-zerbitzua"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Baimendu erabiltzaile bat baino gehiago"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"eman, baimena, onartu, hainbat, erabiltzaile, bat, baino, gehiago"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"hainbat, erabiltzaile, profil, pertsona, kontu, aldatu, asko"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Erabili hari gabeko arazketa"</string>
@@ -5121,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Aukeratu zer ikusiko den pantailan tableta oinarrian dagoenean. Baliteke gailuak energia gehiago erabiltzea pantaila-babeslea erabiltzen denean."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Pertsonalizatu"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Pertsonalizatu <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Estilo librerako bateragarritasuna gaitzeko, gailua berrabiarazi egin behar da."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Mahaigaineko modua bigarren mailako pantailetan erabiltzera behartzeko, gailua berrabiarazi egin behar da."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Aurreko bertsioko estilo libreko leihoak onartu ahal izateko, gailua berrabiarazi egin behar da."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Estilo libreko leihoak onartzeko aukera aldatzeko, gailua berrabiarazi egin behar da."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Bigarren mailako pantailetan estilo libreko leihoak onartzera behartzeko, gailua berrabiarazi egin behar da."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Berrabiarazi"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Berrabiarazi geroago"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Audio espaziala"</string>
@@ -5351,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Entzun zuzeneko igorpena"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> gailuarekin entzuteko, eskaneatu zuzeneko audio-igorpen baten QR kodea"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Ezin da editatu pasahitza audioa partekatu bitartean. Pasahitza aldatzeko, desaktibatu audioa partekatzeko eginbidea."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-fa/arrays.xml b/res/values-fa/arrays.xml
index 901e930..6e283ef 100644
--- a/res/values-fa/arrays.xml
+++ b/res/values-fa/arrays.xml
@@ -207,9 +207,9 @@
<item msgid="3843484466100107397">"فوکوس صدا"</item>
<item msgid="617344340943430125">"میزان کنترل"</item>
<item msgid="1249691739381713634">"میزان صدا"</item>
- <item msgid="6485000384018554920">"حجم حلقه"</item>
+ <item msgid="6485000384018554920">"صدای زنگ"</item>
<item msgid="3378000878531336372">"میزان صدای رسانه"</item>
- <item msgid="5272927168355895681">"میزان صدای زنگ ساعت"</item>
+ <item msgid="5272927168355895681">"صدای زنگ هشدار"</item>
<item msgid="4422070755065530548">"میزان صدای اعلان"</item>
<item msgid="3250654589277825306">"میزان صدای بلوتوث"</item>
<item msgid="4212187233638382465">"بیدار باش"</item>
@@ -274,9 +274,9 @@
<item msgid="5651140069431283570">"فوکوس صدا"</item>
<item msgid="745291221457314879">"میزان صدای اصلی"</item>
<item msgid="4722479281326245754">"میزان صدای مکالمه"</item>
- <item msgid="6749550886745567276">"میزان صدای زنگ"</item>
+ <item msgid="6749550886745567276">"صدای زنگ"</item>
<item msgid="2218685029915863168">"میزان صدای رسانه"</item>
- <item msgid="4266577290496513640">"میزان صدای زنگ ساعت"</item>
+ <item msgid="4266577290496513640">"صدای زنگ هشدار"</item>
<item msgid="8608084169623998854">"میزان صدای اعلان"</item>
<item msgid="7948784184567841794">"میزان صدای بلوتوث"</item>
<item msgid="1148968792599973150">"بیدار باش"</item>
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"وقت خواب"</item>
+ <item msgid="4152450357280759894">"رانندگی"</item>
+ <item msgid="7096549258219399423">"فراگیر"</item>
+ <item msgid="2760716776980432977">"مدیریتشده"</item>
+ <item msgid="601734478369121764">"ستاره"</item>
+ <item msgid="6243809315432780521">"تقویم"</item>
+ <item msgid="4913577903148415331">"زمان"</item>
+ <item msgid="3653377604690057780">"تئاتر"</item>
+ <item msgid="3843711267408385410">"گل"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index a4f60d4..dcf898e 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -23,7 +23,7 @@
<string name="deny" msgid="7326117222944479942">"اجازه ندادن"</string>
<string name="confirmation_turn_on" msgid="2979094011928347665">"روشن کردن"</string>
<string name="device_info_default" msgid="1406619232867343310">"ناشناس"</string>
- <string name="device_info_protected_single_press" msgid="3810785480060743677">"برای نمایش اطلاعات، ضربه بزنید"</string>
+ <string name="device_info_protected_single_press" msgid="3810785480060743677">"برای نمایش اطلاعات، تکضرب بزنید"</string>
<string name="show_dev_countdown" msgid="2936506773086395069">"{count,plural, =1{اکنون # گام تا توسعهدهنده شدن فاصله دارید.}one{اکنون # گام تا توسعهدهنده شدن فاصله دارید.}other{اکنون # گام تا توسعهدهنده شدن فاصله دارید.}}"</string>
<string name="show_dev_on" msgid="2840850085134853754">"شما اکنون یک برنامهنویس هستید!"</string>
<string name="show_dev_already" msgid="7041756429707644630">"نیازی نیست، شما در حال حاضر یک برنامهنویس هستید."</string>
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"تنظیمات دستگاه سمعک"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"میانبر، سازگاری با سمعک"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"پیشتنظیم"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"متخصص شنواییسنجی شما هیچ پیشتنظیمی برنامهریزی نکرده است"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"پیشتنظیم بهروزرسانی نشد"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"خروجی صوتی"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"درباره خروجی صوتی"</string>
@@ -93,9 +94,9 @@
<string name="bluetooth_no_devices_found" msgid="7704539337219953182">"هیچ دستگاه بلوتوثی در این اطراف پیدا نشد."</string>
<string name="bluetooth_notif_ticker" msgid="209515545257862858">"درخواست مرتبطسازی"</string>
<string name="bluetooth_notif_title" msgid="1196532269131348647">"درخواست مرتبطسازی"</string>
- <string name="bluetooth_notif_message" msgid="5584717784198086653">"برای مرتبطسازی با <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ضربه بزنید."</string>
+ <string name="bluetooth_notif_message" msgid="5584717784198086653">"برای مرتبطسازی با <xliff:g id="DEVICE_NAME">%1$s</xliff:g> تکضرب بزنید."</string>
<string name="bluetooth_devices_card_off_title" msgid="1320149821945129127">"بلوتوث خاموش است"</string>
- <string name="bluetooth_devices_card_off_summary" msgid="2276527382891105858">"برای روشن کردن آن، ضربه بزنید"</string>
+ <string name="bluetooth_devices_card_off_summary" msgid="2276527382891105858">"برای روشن کردن آن، تکضرب بزنید"</string>
<string name="device_picker" msgid="2427027896389445414">"انتخاب دستگاه بلوتوث"</string>
<string name="bluetooth_ask_enablement" msgid="1529030199895339199">"<xliff:g id="APP_NAME">%1$s</xliff:g> میخواهد بلوتوث را روشن کند"</string>
<string name="bluetooth_ask_disablement" msgid="1879788777942714761">"<xliff:g id="APP_NAME">%1$s</xliff:g> میخواهد بلوتوث را خاموش کند"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"چهره و <xliff:g id="WATCH">%s</xliff:g> اضافه شد"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"چهره، اثر انگشت، و <xliff:g id="WATCH">%s</xliff:g> اضافه شد"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"چهره، اثر انگشت، و <xliff:g id="WATCH">%s</xliff:g> اضافه شد"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"این مورد الزامی است چون «بررسی هویت» روشن است"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"قفلگشایی برنامه اصالتسنجی از دور"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"ساعت اضافه شد"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"راهاندازی ساعت"</string>
@@ -419,10 +421,10 @@
<string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"بیشتر"</string>
<string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"روش کار"</string>
<string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"قفل ساعتتان باید باز باشد، ساعت روی مچ شما باشد، و به این تلفن نزدیک باشد. وقتی ساعت روی مچ شما است دیگر نیازی نیست قفل آن را باز کنید."</string>
- <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"وقتی قفل این تلفن باز شود، اعلانی در ساعتتان دریافت میکنید. اگر قفل تلفن بدون اینکه شما خواسته باشید باز شد، روی اعلان ضربه بزنید تا تلفن دوباره قفل شود."</string>
+ <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"وقتی قفل این تلفن باز شود، اعلانی در ساعتتان دریافت میکنید. اگر قفل تلفن بدون اینکه شما خواسته باشید باز شد، روی اعلان تکضرب بزنید تا تلفن دوباره قفل شود."</string>
<string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"کنترل در دست شما است"</string>
<string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"همواره میتوانید در «تنظیمات» ساعتتان را از «قفلگشایی با ساعت» بردارید"</string>
- <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"روی اعلان ضربه بزنید"</string>
+ <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"روی اعلان تکضرب بزنید"</string>
<string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"در صفحه قفل تند بهبالا بکشید"</string>
<string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"ساعت را انتخاب کنید"</string>
<string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"ساعتهای دردسترس"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"درباره «قفلگشایی با ساعت» بیشتر بدانید"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"افزودن ساعت"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"برداشتن ساعت"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"قفلگشایی با اثر انگشت و چهره"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"قفلگشایی با چهره و اثر انگشت"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"«قفلگشایی با اثر انگشت و چهره» برای نمایه کاری"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"راهاندازی لازم است"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"چهره و چند اثر انگشت اضافه شده است"</string>
@@ -554,7 +556,7 @@
<string name="private_space_biometric_title" msgid="3934339826674553174">"قفلگشایی با اثر انگشت و چهره"</string>
<string name="private_space_fingerprint_title" msgid="5989254643211889931">"قفلگشایی با اثر انگشت"</string>
<string name="private_space_face_title" msgid="3290402865367663079">"قفلگشایی با چهره"</string>
- <string name="private_space_biometric_summary" msgid="4403837276018724581">"برای راهاندازی ضربه بزنید"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"برای راهاندازی تکضرب بزنید"</string>
<string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"قفلگشایی با اثر انگشت برای فضای خصوصی"</string>
<string name="private_space_face_unlock_title" msgid="462248384776453613">"قفلگشایی با چهره برای فضای خصوصی"</string>
<string name="private_space_biometric_unlock_title" msgid="1978145237698659673">"قفلگشایی با اثر انگشت و چهره برای فضای خصوصی"</string>
@@ -583,7 +585,7 @@
<string name="private_space_hide_page_summary" msgid="6247773353685839242">"برای اینکه دیگران متوجه نشوند فضای خصوصی در دستگاهتان روشن است، میتوانید آن را از فهرست برنامهها پنهان کنید"</string>
<string name="private_space_access_header" msgid="1077082416567150819">"دسترسی به فضای خصوصی هنگام پنهان بودن"</string>
<string name="private_space_search_description" msgid="1538155187658429618">"در نوار جستجو، عبارت «فضای خصوصی» را وارد کنید"</string>
- <string name="private_space_tap_tile_description" msgid="6173556870938267361">"روی "<b>"فضای خصوصی"</b>" ضربه بزنید"</string>
+ <string name="private_space_tap_tile_description" msgid="6173556870938267361">"روی "<b>"فضای خصوصی"</b>" تکضرب بزنید"</string>
<string name="private_space_unlock_description" msgid="5527228922778630361">"باز کردن قفل فضای خصوصی"</string>
<string name="private_space_hide_off_summary" msgid="8565973976602078315">"خاموش"</string>
<string name="private_space_hide_on_summary" msgid="3450844101901438867">"روشن"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"نصب برنامه"</b>\n"برنامههایی را که میخواهید در فضایتان بهصورت خصوصی حفظ شود نصب کنید"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"بهخاطر داشته باشید"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"برنامهها هنگام قفل کردن فضا متوقف میشوند"</b>\n"وقتی فضای خود را قفل میکنید، برنامههای موجود در فضا متوقف میشوند و اعلانی از آنها دریافت نخواهید کرد"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"فضاهای خصوصی برای برنامههایی که لازم است در پسزمینه اجرا شوند یا اعلانهای مهم ارسال کنند (مانند برنامههای پزشکی) مناسب نیستند. زیرا وقتی فضای شما قفل باشد، اعلانها و فعالیت پسزمینه متوقف میشود.\n\nوقتی فضای خصوصی شما قفل است، برنامههای موجود در فضای خصوصی شما در مدیر اجازهها، داشبورد حریم خصوصی، و تنظیمات دیگر نشان داده نمیشود.\n\nفضای خصوصی را نمیتوان به دستگاه جدید منتقل کرد. اگر میخواهید از آن در دستگاه دیگری استفاده کنید، باید فضای خصوصی دیگری راهاندازی کنید.\n\nهر کسی که دستگاه شما را به رایانه متصل کند یا برنامههای مخرب در دستگاهتان نصب کند ممکن است بتواند به فضای خصوصی شما دسترسی داشته باشد."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"فضاهای خصوصی برای برنامههایی که لازم است در پسزمینه اجرا شوند یا اعلانهای مهم ارسال کنند (مانند برنامههای پزشکی) مناسب نیستند. زیرا وقتی فضای شما قفل باشد، اعلانها و فعالیت پسزمینه متوقف میشود.\n\nوقتی فضای خصوصی قفل است، برنامههای موجود در فضای خصوصی در مدیر اجازهها، داشبورد حریم خصوصی، و تنظیمات دیگر نشان داده نمیشود.\n\nفضای خصوصی را نمیتوان در دستگاه جدید بازیابی کرد. اگر میخواهید از فضای خصوصی در دستگاه دیگری استفاده کنید، باید فضای دیگری راهاندازی کنید.\n\nهر شخصی که دستگاه شما را به رایانه متصل کند یا برنامههای مخرب روی دستگاهتان نصب کند، ممکن است بتواند به فضای خصوصی شما دسترسی داشته باشد."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"درباره فضای خصوصی بیشتر بدانید"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"این کار چند لحظه طول میکشد"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"درحال راهاندازی فضای خصوصی…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"دستگاه بازراهاندازی شود؟"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"گزارشگیری NFC دقیق فقط برای اهداف توسعه درنظر گرفته شده است. دادههای NFC تکمیلی در گزارشهای اشکال لحاظ میشود که ممکن است حاوی اطلاعات خصوصی باشد. برای تغییر این تنظیم، دستگاهتان را بازراهاندازی کنید."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"بازراهاندازی"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"پخش محتوا"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"قرینهسازی"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"فعال کردن نمایش بیسیم"</string>
@@ -887,7 +917,7 @@
<string name="android_beam_on_summary" msgid="6067720758437490896">"آماده برای انتقال محتوای برنامه از طریق NFC"</string>
<string name="android_beam_off_summary" msgid="5693961375631325042">"خاموش"</string>
<string name="nfc_disabled_summary" msgid="8737797364522502351">"در دسترس نیست زیرا NFC خاموش است"</string>
- <string name="android_beam_explained" msgid="5684416131846701256">"اگر این ویژگی روشن باشد، میتوانید با نگهداشتن دستگاهها نزدیک به یکدیگر، محتوای برنامه را به دستگاه مجهز به NFC دیگری با پرتو ارسال کنید. مثلاً، میتوانید صفحات وب، ویدیوهای YouTube، مخاطبین و موارد دیگر را ازطریق پرتو ارسال کنید.\n\n کافی است دستگاهها را نزدیک هم بگذارید (معمولاً پشت به پشت) و سپس روی صفحه ضربه بزنید. برنامه تعیین میکند که چه چیزی ازطریق پرتو ارسال شود."</string>
+ <string name="android_beam_explained" msgid="5684416131846701256">"اگر این ویژگی روشن باشد، میتوانید با نگهداشتن دستگاهها نزدیک به یکدیگر، محتوای برنامه را به دستگاه مجهز به NFC دیگری با پرتو ارسال کنید. مثلاً، میتوانید صفحات وب، ویدیوهای YouTube، مخاطبین و موارد دیگر را ازطریق پرتو ارسال کنید.\n\n کافی است دستگاهها را نزدیک هم بگذارید (معمولاً پشت به پشت) و سپس روی صفحه تکضرب بزنید. برنامه تعیین میکند که چه چیزی ازطریق پرتو ارسال شود."</string>
<string name="wifi_settings" msgid="8313301946393559700">"Wi‑Fi"</string>
<string name="wifi_settings_primary_switch_title" msgid="628360786662947258">"استفاده از Wi-Fi"</string>
<string name="wifi_settings_category" msgid="3523464780563778321">"تنظیمات Wi-Fi"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"تطبیقی"</string>
<string name="brightness" msgid="6216871641021779698">"سطح روشنایی"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"روشنایی تطبیقی"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"درباره «روشنایی تطبیقی»"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"روشنایی صفحهنمایش بهطور خودکار با محیط و فعالیتهایتان تنظیم میشود. میتوانید لغزاننده را بهطور دستی حرکت دهید تا روشنایی تطبیقی ترجیح شما را دریابد."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"روشن"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"خاموش"</string>
@@ -1206,7 +1237,7 @@
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"بالاترین نرخ بازآوری برای پاسخگویی بهبودیافته لمس و کیفیت پویانمایی. مصرف باتری را افزایش میدهد."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"توجه به صفحه"</string>
<string name="adaptive_sleep_title_no_permission" msgid="1719759921214237016">"دسترسی به دوربین لازم است"</string>
- <string name="adaptive_sleep_summary_no_permission" msgid="5822591289468803691">"ویژگی «توجه به صفحه» باید به دوربین دسترسی داشته باشد. برای مدیریت مجوزهای «خدمات شخصیسازی دستگاه» ضربه بزنید"</string>
+ <string name="adaptive_sleep_summary_no_permission" msgid="5822591289468803691">"ویژگی «توجه به صفحه» باید به دوربین دسترسی داشته باشد. برای مدیریت مجوزهای «خدمات شخصیسازی دستگاه» تکضرب بزنید"</string>
<string name="adaptive_sleep_manage_permission_button" msgid="1404510197847664846">"مدیریت اجازهها"</string>
<string name="adaptive_sleep_description" msgid="1835321775327187860">"باعث میشود تازمانیکه فردی به صفحهنمایش نگاه میکند، صفحه خاموش نشود"</string>
<string name="adaptive_sleep_privacy" msgid="7664570136417980556">"«توجه به صفحه» با استفاده از دوربین جلو متوجه میشود که آیا فردی درحال تماشای صفحهنمایش است یا نه. این ویژگی در دستگاه کار میکند و تصاویر هرگز ذخیره نمیشوند و به Google فرستاده نمیشود."</string>
@@ -1216,7 +1247,7 @@
<string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"دوربین قفل است"</string>
<string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"برای «تشخیص چهره»، قفل دوربین باید باز باشد"</string>
<string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"قفل دوربین باید برای «توجه به صفحه» باز باشد"</string>
- <string name="auto_rotate_summary_no_permission" msgid="1025061139746254554">"دسترسی به دوربین برای «تشخیص چهره» الزامی است. برای مدیریت اجازههای «خدمات شخصیسازی دستگاه» ضربه بزنید"</string>
+ <string name="auto_rotate_summary_no_permission" msgid="1025061139746254554">"دسترسی به دوربین برای «تشخیص چهره» الزامی است. برای مدیریت اجازههای «خدمات شخصیسازی دستگاه» تکضرب بزنید"</string>
<string name="auto_rotate_manage_permission_button" msgid="2591146085906382385">"مدیریت اجازهها"</string>
<string name="night_display_title" msgid="8532432776487216581">"نور شب"</string>
<string name="night_display_text" msgid="4789324042428095383">"«نور شب» تهرنگ کهربایی به صفحهنمایش شما میبخشد. این کار باعث میشود نگاه کردن به صفحه در نور کم آسانتر شود و ممکن است کمک کند آسانتر به خواب بروید."</string>
@@ -1861,7 +1892,7 @@
<string name="service_stop_description" msgid="6327742632400026677">"این سرویس توسط برنامهٔ خود سرویس راهاندازی شد. توقف آن ممکن است باعث شود برنامه کار نکند."</string>
<string name="heavy_weight_stop_description" msgid="3086419998820881290">"این برنامه را نمیتوان به صورت ایمن متوقف کرد. در صورت متوقف کردن آن، ممکن است برخی از کارهای اخیر خود را از دست بدهید."</string>
<string name="background_process_stop_description" msgid="4792038933517438037">"این یک فرآیند برنامه قدیمی است که در صورت نیاز دوباره به آن هنوز اجرا میشود. معمولاً دلیلی برای توقف آن وجود ندارد."</string>
- <string name="service_manage_description" msgid="6615788996428486121">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: هماکنون درحال استفاده است. برای کنترل آن روی تنظیمات ضربه بزنید."</string>
+ <string name="service_manage_description" msgid="6615788996428486121">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: هماکنون درحال استفاده است. برای کنترل آن روی تنظیمات تکضرب بزنید."</string>
<string name="main_running_process_description" msgid="6685973937935027773">"فرآیند اصلی در حال استفاده است."</string>
<string name="process_service_in_use_description" msgid="4210957264507014878">"سرویس <xliff:g id="COMP_NAME">%1$s</xliff:g> در حال استفاده است."</string>
<string name="process_provider_in_use_description" msgid="6730020083976048028">"ارائه دهنده <xliff:g id="COMP_NAME">%1$s</xliff:g> در حال استفاده است."</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"گزینهها"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"دسترسپذیری"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"صفحهکلید فیزیکی"</string>
- <string name="show_ime" msgid="4334255501724746849">"استفاده از صفحهکلید مجازی"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"وقتی صفحهکلید فیزیکی فعال است این ویرایشگر را روی صفحه نگهمیدارد"</string>
<string name="bounce_keys" msgid="7419450970351743904">"کلیدهای واگشت"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"صفحهکلید فشردنهای تکراری و سریع یک کلید در <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> میلیثانیه را نادیده میگیرد"</string>
<string name="slow_keys" msgid="2891452895499690837">"کلیدهای آهسته"</string>
@@ -1915,13 +1944,13 @@
<string name="trackpad_settings_summary" msgid="3369855644136760402">"سرعت اشارهگر، اشارهها"</string>
<string name="trackpad_tap_to_click" msgid="1938230946542070746">"ضربه بهجای کلیک"</string>
<string name="trackpad_tap_dragging_title" msgid="798644199582480712">"کشیدن با ضربه"</string>
- <string name="trackpad_tap_dragging_summary" msgid="5276968646031591058">"برای جابهجایی عناصر، روی آنها ضربه بزنید و انگشتتان را روی صفحه لمسی بکشید"</string>
+ <string name="trackpad_tap_dragging_summary" msgid="5276968646031591058">"برای جابهجایی عناصر، روی آنها تکضرب بزنید و انگشتتان را روی صفحه لمسی بکشید"</string>
<string name="trackpad_touchpad_gesture_title" msgid="7568052847609914436">"اشارههای صفحه لمسی"</string>
<string name="trackpad_touchpad_gesture_summary" msgid="6256074591395359124">"سفارشی کردن هر یک از اشارههای پیمایش صفحه لمسی"</string>
<string name="trackpad_reverse_scrolling_title" msgid="422877284529360866">"پیمایش معکوس"</string>
<string name="trackpad_reverse_scrolling_summary" msgid="6048648562887499036">"وقتی بهپایین پیمایش کنید، محتوا بهبالا حرکت میکند"</string>
<string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"ضربه به راست پایین"</string>
- <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"برای گزینههای بیشتر، روی پایین گوشه چپ صفحه لمسی ضربه بزنید"</string>
+ <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"برای گزینههای بیشتر، روی پایین گوشه چپ صفحه لمسی تکضرب بزنید"</string>
<string name="trackpad_pointer_speed" msgid="7786579408631352625">"سرعت اشارهگر"</string>
<string name="pointer_fill_style" msgid="8413840032931637595">"سبک رنگ نشانگر"</string>
<string name="pointer_fill_style_black_button" msgid="4540815366995820960">"تغییر سبک رنگ نشانگر به سیاه"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"انتخاب کاربر: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"گفتار"</string>
<string name="pointer_speed" msgid="7398649279282675718">"سرعت اشارهگر"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"دسته کنترل بازی"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"تغییر مسیر لرزش"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"وقتی متصل شد، لرزش به دسته کنترل بازی ارسال شود"</string>
@@ -1998,7 +2033,7 @@
<string name="user_dict_settings_edit_dialog_title" msgid="316493656442362284">"ویرایش کلمه"</string>
<string name="user_dict_settings_context_menu_edit_title" msgid="4909198741914531509">"ویرایش"</string>
<string name="user_dict_settings_context_menu_delete_title" msgid="651550824433043545">"حذف"</string>
- <string name="user_dict_settings_empty_text" msgid="86562873609647919">"واژهای در واژهنامه کاربر ندارید. برای افزودن واژه، روی دکمه افزودن (+) ضربه بزنید."</string>
+ <string name="user_dict_settings_empty_text" msgid="86562873609647919">"واژهای در واژهنامه کاربر ندارید. برای افزودن واژه، روی دکمه افزودن (+) تکضرب بزنید."</string>
<string name="user_dict_settings_all_languages" msgid="8563387437755363526">"برای همه زبانها"</string>
<string name="user_dict_settings_more_languages" msgid="5378870726809672319">"زبانهای بیشتر…"</string>
<string name="testing" msgid="6294172343766732037">"تست کردن"</string>
@@ -2060,7 +2095,7 @@
<string name="bt_hci_snoop_log_filtered_mode_disabled_summary" msgid="8824952559433361848">"برای تغییر این گزینه، حالت گزارش تجسس Bluetooth HCI را روی «فعال فیلترشده» تنظیم کنید"</string>
<string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
<string name="talkback_summary" msgid="5820927220378864281">"صفحهخوان در وهله اول برای افراد نابینا و کمبینا در نظر گرفته شده است"</string>
- <string name="select_to_speak_summary" msgid="1995285446766920925">"روی موارد موجود در صفحهتان ضربه بزنید تا بلند خوانده شوند"</string>
+ <string name="select_to_speak_summary" msgid="1995285446766920925">"روی موارد موجود در صفحهتان تکضرب بزنید تا بلند خوانده شوند"</string>
<string name="accessibility_captioning_title" msgid="4561871958958925225">"اولویتهای زیرنویس ناشنوایان"</string>
<string name="accessibility_captioning_about_title" msgid="3542171637334191563">"درباره اولویتهای زیرنویس ناشنوایان"</string>
<string name="accessibility_captioning_footer_learn_more_content_description" msgid="5730040700677017706">"درباره اولویتهای زیرنویس ناشنوایان بیشتر بدانید"</string>
@@ -2072,7 +2107,7 @@
<string name="accessibility_screen_magnification_always_on_summary" msgid="306908451430863049">"حین تعویض برنامه، ذرهبین روشن میماند و زومپس میشود"</string>
<string name="accessibility_screen_magnification_always_on_unavailable_summary" msgid="3844732482037416038">"وقتی فقط بخشی از صفحه درشتنمایی میشود دردسترس نیست"</string>
<string name="accessibility_screen_magnification_joystick_title" msgid="1803769708582404964">"دسته کنترل"</string>
- <string name="accessibility_screen_magnification_joystick_summary" msgid="4640300148573982720">"ذرهبین را فعال کنید و آن را با دسته کنترل روی صفحه جابهجا کنید. ضربه بزنید و نگه دارید، سپس دسته کنترل را برای کنترل کردن ذرهبین بکشید. برای جابهجا کردن خود دسته کنترل، ضربه بزنید و بکشید."</string>
+ <string name="accessibility_screen_magnification_joystick_summary" msgid="4640300148573982720">"ذرهبین را فعال کنید و آن را با دسته کنترل روی صفحه جابهجا کنید. تکضرب بزنید و نگه دارید، سپس دسته کنترل را برای کنترل کردن ذرهبین بکشید. برای جابهجا کردن خود دسته کنترل، تکضرب بزنید و بکشید."</string>
<string name="accessibility_screen_magnification_about_title" msgid="8857919020223505415">"درباره درشتنمایی"</string>
<string name="accessibility_screen_magnification_footer_learn_more_content_description" msgid="924848332575978463">"درباره درشتنمایی بیشتر بدانید"</string>
<string name="accessibility_magnification_mode_title" msgid="8446475127807168063">"نوع درشتنمایی"</string>
@@ -2084,9 +2119,9 @@
<string name="accessibility_magnification_mode_dialog_option_full_screen" msgid="4892487869954032029">"درشتنمایی تمامصفحه"</string>
<string name="accessibility_magnification_mode_dialog_option_window" msgid="4492443201099153362">"درشتنمایی بخشی از صفحه"</string>
<string name="accessibility_magnification_mode_dialog_option_switch" msgid="561043521011229424">"جابهجایی بین تمامصفحه و نیمصفحه"</string>
- <string name="accessibility_magnification_area_settings_mode_switch_summary" msgid="2885238806099080966">"برای جابهجایی بین دو گزینه، روی دکمه جابهجایی ضربه بزنید"</string>
+ <string name="accessibility_magnification_area_settings_mode_switch_summary" msgid="2885238806099080966">"برای جابهجایی بین دو گزینه، روی دکمه جابهجایی تکضرب بزنید"</string>
<string name="accessibility_magnification_switch_shortcut_title" msgid="3671432048806533079">"به دکمه دسترسپذیری میروید؟"</string>
- <string name="accessibility_magnification_switch_shortcut_message" msgid="7718653917415163833">"استفاده از سهضربه برای درشتنمایی بخشی از صفحه باعث میشود تایپ کردن و دیگر کنشها با تأخیر انجام شود.\n\nدکمه دسترسپذیری در صفحه بالای برنامههای دیگر شناور است. برای درشتنمایی، روی آن ضربه بزنید."</string>
+ <string name="accessibility_magnification_switch_shortcut_message" msgid="7718653917415163833">"استفاده از سهضربه برای درشتنمایی بخشی از صفحه باعث میشود تایپ کردن و دیگر کنشها با تأخیر انجام شود.\n\nدکمه دسترسپذیری در صفحه بالای برنامههای دیگر شناور است. برای درشتنمایی، روی آن تکضرب بزنید."</string>
<string name="accessibility_magnification_switch_shortcut_positive_button" msgid="2446942190957296957">"رفتن به دکمه دسترسپذیری"</string>
<string name="accessibility_magnification_switch_shortcut_negative_button" msgid="7115794462123071594">"استفاده از سهضربه"</string>
<string name="accessibility_magnification_triple_tap_warning_title" msgid="8484669851397296597">"این کار ممکن است باعث کند شدن صفحهکلید شود"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"درهرصورت ادامه داده شود"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"لغو"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"تنظیمات درشتنمایی"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"حرکت افقی با یک انگشت"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"ذرهبین را با ۱ انگشت جابهجا کنید"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"برای حرکت در صفحه، ۱ انگشت را بکشید"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"با کشیدن یک انگشت، درشتنمایی را جابهجا کنید."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"با کشیدن دو انگشت، درشتنمایی را جابهجا کنید."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"وقتی فقط بخشی از صفحه درشتنمایی میشود دردسترس نیست"</string>
@@ -2114,11 +2150,13 @@
<string name="accessibility_text_reading_conversation_message_2" msgid="8112160435318635856">"داریم به ساحل میرویم. شما هم میآیید؟"</string>
<string name="accessibility_screen_option" msgid="8465307075278878145">"گزینهها"</string>
<string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"زومپیش روی صفحه"</string>
- <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"برای بزرگنمایی، ۳ بار ضربه بزنید"</string>
- <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"برای بزرگنمایی، روی دکمهای ضربه بزنید"</string>
+ <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"برای بزرگنمایی، ۳ بار تکضرب بزنید"</string>
+ <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"برای بزرگنمایی، روی دکمهای تکضرب بزنید"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"بهسرعت صفحه را بزرگ کنید تا محتوا درشتتر نمایش داده شود"</string>
- <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>برای زومپیش کردن:</b><br/> {0,number,integer}. برای فعال کردن درشتنمایی، از میانبر استفاده کنید<br/> {1,number,integer}. روی صفحه ضربه بزنید<br/> {2,number,integer}. برای حرکت کردن در صفحه، ۲ انگشت را بکشید<br/> {3,number,integer}. برای تنظیم کردن زوم، ۲ انگشت را ازهم دور یا بههم نزدیک کنید<br/> {4,number,integer}. برای توقف درشتنمایی از میانبراستفاده کنید<br/><br/> <b>برای زومپیش موقت:</b><br/> {0,number,integer}. مطمئن شوید نوع درشتنمایی روی تمامصفحه تنظیم شده باشد<br/> {1,number,integer}. برای فعال کردن درشتنمایی، از میانبر استفاده کنید<br/> {2,number,integer}. جایی از صفحه را لمس کنید و نگه دارید<br/> {3,number,integer}. برای حرکت کردن در صفحه، انگشت را بکشید<br/> {4,number,integer}. برای متوقف کردن درشتنمایی، انگشتتان را بردارید"</string>
- <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"با روشن کردن درشتنمایی، میتوانید روی صفحه زومپیش کنید.\n\n"<b>"برای زوم کردن"</b>"، درشتنمایی را روشن کنید و روی جایی از صفحه ضربه بزنید.\n"<ul><li>"برای پیمایش، دو یا چند انگشتتان را روی صفحه بکشید "</li>\n<li>"برای تنظیم کردن زوم، دو یا چند انگشتتان را بههم نزدیک کنید"</li></ul>\n\n<b>"برای زوم موقت"</b>"، درشتنمایی را روشن کنید، سپس جایی از صفحه را لمس کنید و نگهدارید.\n"<ul><li>"برای حرکت در صفحه، انگشتتان را روی صفحه بکشید"</li>\n<li>"برای زومپس کردن، انگشتتان را بردارید"</li></ul>\n\n"نمیتوانید صفحهکلید یا نوار پیمایش را کوچک کنید."</string>
+ <string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>برای زومپیش کردن:</b><br/> {0,number,integer}. برای فعال کردن درشتنمایی، از میانبر استفاده کنید<br/> {1,number,integer}. روی صفحه تکضرب بزنید<br/> {2,number,integer}. برای حرکت کردن در صفحه، ۲ انگشت را بکشید<br/> {3,number,integer}. برای تنظیم کردن زوم، ۲ انگشت را ازهم دور یا بههم نزدیک کنید<br/> {4,number,integer}. برای توقف درشتنمایی از میانبراستفاده کنید<br/><br/> <b>برای زومپیش موقت:</b><br/> {0,number,integer}. مطمئن شوید نوع درشتنمایی روی تمامصفحه تنظیم شده باشد<br/> {1,number,integer}. برای فعال کردن درشتنمایی، از میانبر استفاده کنید<br/> {2,number,integer}. جایی از صفحه را لمس کنید و نگه دارید<br/> {3,number,integer}. برای حرکت کردن در صفحه، انگشت را بکشید<br/> {4,number,integer}. برای متوقف کردن درشتنمایی، انگشتتان را بردارید"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>برای زومپیش کردن:</b><br/> {0,number,integer}. برای فعال کردن درشتنمایی، از میانبر استفاده کنید<br/> {1,number,integer}. روی صفحه تکضرب بزنید<br/> {2,number,integer}. برای حرکت کردن در صفحه، ۲ انگشت را بکشید<br/> {3,number,integer}. برای تنظیم بزرگنمایی، ۲ انگشت را ازهم دور یا بههم نزدیک کنید<br/> {4,number,integer}. از میانبر برای متوقف کردن درشتنمایی استفاده کنید<br/><br/> همچنین میتوانید موقتاً زومپیش کنید و کارهای دیگری انجام دهید."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>برای زومپیش کردن:</b><br/> {0,number,integer}. برای فعال کردن درشتنمایی، از میانبر استفاده کنید<br/> {1,number,integer}. روی صفحه تکضرب بزنید<br/> {2,number,integer}. برای حرکت کردن در صفحه، ۱ یا ۲ انگشت را بکشید<br/> {3,number,integer}. برای تنظیم بزرگنمایی، ۲ انگشت را ازهم دور یا بههم نزدیک کنید<br/> {4,number,integer}. از میانبر برای متوقف کردن درشتنمایی استفاده کنید<br/><br/> همچنین میتوانید موقتاً زومپیش کنید و کارهای دیگری انجام دهید."</string>
+ <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"با روشن کردن درشتنمایی، میتوانید روی صفحه زومپیش کنید.\n\n"<b>"برای زوم کردن"</b>"، درشتنمایی را روشن کنید و روی جایی از صفحه تکضرب بزنید.\n"<ul><li>"برای پیمایش، دو یا چند انگشتتان را روی صفحه بکشید "</li>\n<li>"برای تنظیم کردن زوم، دو یا چند انگشتتان را بههم نزدیک کنید"</li></ul>\n\n<b>"برای زوم موقت"</b>"، درشتنمایی را روشن کنید، سپس جایی از صفحه را لمس کنید و نگهدارید.\n"<ul><li>"برای حرکت در صفحه، انگشتتان را روی صفحه بکشید"</li>\n<li>"برای زومپس کردن، انگشتتان را بردارید"</li></ul>\n\n"نمیتوانید صفحهکلید یا نوار پیمایش را کوچک کنید."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"صفحه <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> از <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"میانبر دکمه دسترسپذیری"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="1032323517963429981">"میانبر کلیدهای میزان صدا"</string>
@@ -2127,12 +2165,12 @@
<string name="accessibility_tutorial_dialog_title_quick_setting" msgid="2905083277641794558">"میانبر تنظیمات فوری"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4541649734549409614">"میانبر اشاره دسترسپذیری"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"استفاده از اشاره دسترسپذیری"</string>
- <string name="accessibility_tutorial_dialog_message_button" msgid="8977286776192770246">"برای استفاده از این ویژگی، روی دکمه دسترسپذیری <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> در پایین صفحهنمایش ضربه بزنید.\n\nبرای جابهجایی بین ویژگیها، دکمه دسترسپذیری را لمس کنید و نگه دارید."</string>
- <string name="accessibility_tutorial_dialog_message_floating_button" msgid="6631371483819355514">"برای استفاده از این ویژگی، روی دکمه دسترسپذیری در صفحهنمایش ضربه بزنید"</string>
+ <string name="accessibility_tutorial_dialog_message_button" msgid="8977286776192770246">"برای استفاده از این ویژگی، روی دکمه دسترسپذیری <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> در پایین صفحهنمایش تکضرب بزنید.\n\nبرای جابهجایی بین ویژگیها، دکمه دسترسپذیری را لمس کنید و نگه دارید."</string>
+ <string name="accessibility_tutorial_dialog_message_floating_button" msgid="6631371483819355514">"برای استفاده از این ویژگی، روی دکمه دسترسپذیری در صفحهنمایش تکضرب بزنید"</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="3785791536286606664">"برای استفاده از این ویژگی، هر دو کلید میزان صدا را فشار دهید و نگه دارید"</string>
- <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"برای راهاندازی یا متوقف کردن درشتنمایی، روی جایی از صفحهنمایش سه ضربه بزنید."</string>
- <string name="accessibility_tutorial_dialog_tripletap_instruction" msgid="7549293553589934">"برای راهاندازی یا متوقف کردن درشتنمایی، سریع %1$d بار روی صفحهنمایش ضربه بزنید"</string>
- <string name="accessibility_tutorial_dialog_twofinger_doubletap_instruction" msgid="1007756360115974649">"برای راهاندازی یا متوقف کردن درشتنمایی، سریع با %1$d انگشت دوبار روی صفحهنمایش ضربه بزنید"</string>
+ <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"برای راهاندازی یا متوقف کردن درشتنمایی، روی جایی از صفحهنمایش سه تکضرب بزنید."</string>
+ <string name="accessibility_tutorial_dialog_tripletap_instruction" msgid="7549293553589934">"برای راهاندازی یا متوقف کردن درشتنمایی، سریع %1$d بار روی صفحهنمایش تکضرب بزنید"</string>
+ <string name="accessibility_tutorial_dialog_twofinger_doubletap_instruction" msgid="1007756360115974649">"برای راهاندازی یا متوقف کردن درشتنمایی، سریع با %1$d انگشت دوبار روی صفحهنمایش تکضرب بزنید"</string>
<string name="accessibility_tutorial_dialog_message_quick_setting" msgid="3715446725334547432">"{count,plural, =1{برای استفاده از این ویژگی، از بالای صفحهنمایش تند بهپایین بکشید. سپس، کاشی {featureName} را پیدا کنید.}one{برای استفاده از این ویژگی، با # انگشت از بالای صفحهنمایش تند بهپایین بکشید. سپس، کاشی {featureName} را پیدا کنید.}other{برای استفاده از این ویژگی، با # انگشت از بالای صفحهنمایش تند بهپایین بکشید. سپس، کاشی {featureName} را پیدا کنید.}}"</string>
<string name="accessibility_tutorial_dialog_shortcut_unavailable_in_suw" msgid="3847728530771929959">"این میانبر پساز تکمیل راهاندازی دستگاه دردسترس خواهد بود."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"برای استفاده از این ویژگی، با ۲ انگشت از پایین صفحه تند بهبالا بکشید.\n\nبرای جابهجایی بین ویژگیها، با ۲ انگشت تند بهبالا بکشید و نگه دارید."</string>
@@ -2149,9 +2187,9 @@
<string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"با ۲ انگشت تند بهطرف بالا بکشید"</string>
<string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"با ۳ انگشت تند بهطرف بالا بکشید"</string>
<string name="accessibility_shortcut_edit_dialog_title_software" msgid="6505512764022389951">"دکمه دسترسپذیری"</string>
- <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"روی دکمه شناور ضربه بزنید"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"روی دکمه شناور تکضرب بزنید"</string>
<string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"اشاره دسترسپذیری"</string>
- <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"روی دکمه دسترسپذیری <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> در پایین صفحهنمایش ضربه بزنید. برای جابهجایی بین ویژگیها، دکمه دسترسپذیری را لمس کنید و نگه دارید."</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"روی دکمه دسترسپذیری <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> در پایین صفحهنمایش تکضرب بزنید. برای جابهجایی بین ویژگیها، دکمه دسترسپذیری را لمس کنید و نگه دارید."</string>
<string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"با ۲ انگشت، از پایین صفحه تند بهبالا بکشید.\n\nبرای جابهجایی بین ویژگیها، با ۲ انگشت تند بهبالا بکشید و نگه دارید."</string>
<string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"با ۳ انگشت، از پایین صفحه تند بهبالا بکشید.\n\nبرای جابهجایی بین ویژگیها، با ۳ انگشت تند بهبالا بکشید و نگه دارید."</string>
<string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{از پایین صفحهنمایش تند بهبالا بکشید. برای جابهجایی بین ویژگیها، تند بهبالا بکشید و نگه دارید.}one{از پایین صفحهنمایش با # انگشت تند بهبالا بکشید. برای جابهجایی بین ویژگیها، با # انگشت تند بهبالا بکشید و نگه دارید.}other{از پایین صفحهنمایش با # انگشت تند بهبالا بکشید. برای جابهجایی بین ویژگیها، با # انگشت تند بهبالا بکشید و نگه دارید.}}"</string>
@@ -2166,14 +2204,14 @@
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"هردو کلید میزان صدا را فشار دهید و نگه دارید"</string>
<string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"با دو انگشت دوضربه روی صفحهنمایش بزنید"</string>
<string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"دوضربه %1$d انگشتی"</string>
- <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"سریع با %1$d انگشت دوبار روی صفحهنمایش ضربه بزنید"</string>
+ <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"سریع با %1$d انگشت دوبار روی صفحهنمایش تکضرب بزنید"</string>
<string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"سهضربه"</string>
- <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"سریع %1$d بار روی صفحهنمایش ضربه بزنید. این کار ممکن است سرعت دستگاه را کاهش دهد."</string>
+ <string name="accessibility_shortcut_edit_screen_summary_triple_tap" msgid="4839204951599629871">"سریع %1$d بار روی صفحهنمایش تکضرب بزنید. این کار ممکن است سرعت دستگاه را کاهش دهد."</string>
<string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="6271718715836961167">"دوضربه %1$d انگشتی"</string>
- <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"با دو انگشت {0,number,integer} بار بهسرعت روی صفحه ضربه بزنید"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_double_tap" msgid="8262165091808318538">"با دو انگشت {0,number,integer} بار بهسرعت روی صفحه تکضرب بزنید"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"روی صفحهنمایش سه ضربه سریع بزنید"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="5359347130888464334">"سهضربه"</string>
- <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"سریع روی صفحهنمایش {0,number,integer} بار ضربه بزنید. ممکن است این میانبر سرعت دستگاه را کاهش دهد"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"سریع روی صفحهنمایش {0,number,integer} بار تکضرب بزنید. ممکن است این میانبر سرعت دستگاه را کاهش دهد"</string>
<string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"پیشرفته"</string>
<string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"دکمه دسترسپذیری روی <xliff:g id="SERVICE">%1$s</xliff:g> تنظیم شده است. برای استفاده از درشتنمایی، دکمه دسترسپذیری را لمس کنید و نگهدارید، سپس درشتنمایی را انتخاب کنید."</string>
<string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"اشاره دسترسپذیری روی <xliff:g id="SERVICE">%1$s</xliff:g> تنظیم شده است. برای استفاده از درشتنمایی، با دو انگشت از پایین صفحه بهبالا بکشید و نگه ارید. سپس درشتنمایی را انتخاب کنید."</string>
@@ -2189,8 +2227,8 @@
<string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"درباره دکمه دسترسپذیری و اشاره بیشتر بدانید"</string>
<string name="accessibility_button_intro" msgid="2601976470525277903">"درحال استفاده از دکمه دسترسپذیری هستید. اشاره موردنظر با پیمایش ۳دکمهای دردسترس نیست."</string>
<string name="accessibility_button_summary" msgid="8510939012631455831">"دسترسی سریع به ویژگیهای دسترسپذیری"</string>
- <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"<b>برای شروع</b><br/> {0,number,integer}. به تنظیمات دسترسپذیری بروید<br/> {1,number,integer}. یک ویژگی را انتخاب کنید و روی میانبر ضربه بزنید<br/> {2,number,integer}. انتخاب کنید برای دسترسی به ویژگی میخواهید از دکمه استفاده کنید یا اشاره<br/>"</string>
- <string name="accessibility_button_description" msgid="7669538706120092399">"<b>برای شروع</b><br/> {0,number,integer}. به تنظیمات دسترسپذیری بروید<br/> {1,number,integer}. یک ویژگی را انتخاب کنید و روی میانبر ضربه بزنید<br/> {2,number,integer}. برای دسترسی به آن ویژگی، دکمه را انتخاب کنید<br/>"</string>
+ <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"<b>برای شروع</b><br/> {0,number,integer}. به تنظیمات دسترسپذیری بروید<br/> {1,number,integer}. یک ویژگی را انتخاب کنید و روی میانبر تکضرب بزنید<br/> {2,number,integer}. انتخاب کنید برای دسترسی به ویژگی میخواهید از دکمه استفاده کنید یا اشاره<br/>"</string>
+ <string name="accessibility_button_description" msgid="7669538706120092399">"<b>برای شروع</b><br/> {0,number,integer}. به تنظیمات دسترسپذیری بروید<br/> {1,number,integer}. یک ویژگی را انتخاب کنید و روی میانبر تکضرب بزنید<br/> {2,number,integer}. برای دسترسی به آن ویژگی، دکمه را انتخاب کنید<br/>"</string>
<string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"استفاده از دکمه یا اشاره"</string>
<string name="accessibility_button_location_title" msgid="7182107846092304942">"مکان"</string>
<string name="accessibility_button_size_title" msgid="5785110470538960881">"اندازه"</string>
@@ -2305,7 +2343,7 @@
<string name="accessibility_hearingaid_not_connected_summary" msgid="7438018718889849521">"هیچ دستگاه کمکشنواییای متصل نشده است"</string>
<string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"افزودن سمعکها"</string>
<string name="accessibility_hearingaid_pair_instructions_title" msgid="2357706801112207624">"جفت کردن سمعک"</string>
- <string name="accessibility_hearingaid_pair_instructions_message" msgid="581652489109350119">"در صفحه بعدی، روی سمعک ضربه بزنید. شاید لازم باشد گوش چپ و راست را جداگانه مرتبط کنید.\n\nمطمئن شوید سمعک روشن و آماده مرتبطسازی باشد."</string>
+ <string name="accessibility_hearingaid_pair_instructions_message" msgid="581652489109350119">"در صفحه بعدی، روی سمعک تکضرب بزنید. شاید لازم باشد گوش چپ و راست را جداگانه مرتبط کنید.\n\nمطمئن شوید سمعک روشن و آماده مرتبطسازی باشد."</string>
<string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> فعال"</string>
<string name="accessibility_hearingaid_left_side_device_summary" msgid="12349058624943107">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> / فقط چپ"</string>
<string name="accessibility_hearingaid_right_side_device_summary" msgid="8645789702686724188">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> / فقط راست"</string>
@@ -2319,7 +2357,7 @@
<string name="accessibility_hac_mode_title" msgid="2037950424429555652">"سازگاری با سمعک"</string>
<string name="accessibility_hac_mode_summary" msgid="5198760061256669067">"سازگاری با تلهکویل را بهبود میبخشد و نوفه ناخواسته را کاهش میدهد"</string>
<string name="accessibility_hearing_device_about_title" msgid="7883758309646288250">"درباره دستگاههای کمکشنوایی"</string>
- <string name="accessibility_hearing_device_footer_summary" msgid="256061045064940818">"برای پیدا کردن دیگر سمعکهایی که از «جاریسازی صوتی ویژه سمعکها» (ASHA) یا «صدای کممصرف» (LE Audio) پشتیبانی نمیکنند، روی "<b>"جفت کردن دستگاه جدید"</b>" > "<b>"دیدن دستگاههای بیشتر"</b>" ضربه بزنید"</string>
+ <string name="accessibility_hearing_device_footer_summary" msgid="256061045064940818">"برای پیدا کردن دیگر سمعکهایی که از «جاریسازی صوتی ویژه سمعکها» (ASHA) یا «صدای کممصرف» (LE Audio) پشتیبانی نمیکنند، روی "<b>"جفت کردن دستگاه جدید"</b>" > "<b>"دیدن دستگاههای بیشتر"</b>" تکضرب بزنید"</string>
<string name="accessibility_hearing_device_pairing_page_title" msgid="6608901091770850295">"جفت کردن دستگاه کمکشنوایی"</string>
<string name="accessibility_hearing_device_pairing_intro" msgid="7022201665808166517">"میتوانید سمعکهای سازگار با «جاریسازی صوتی ویژه سمعکها» (ASHA) و «صدای کممصرف» را در این صفحه جفت کنید. مطمئن شوید سمعک روشن و برای جفت کردن آماده باشد."</string>
<string name="accessibility_found_hearing_devices" msgid="637407580358386553">"دستگاههای کمکشنوایی موجود"</string>
@@ -2333,7 +2371,7 @@
<string name="accessibility_summary_shortcut_disabled" msgid="564005462092499068">"خاموش"</string>
<string name="accessibility_summary_state_enabled" msgid="1065431632216039369">"روشن"</string>
<string name="accessibility_summary_state_disabled" msgid="9173234532752799694">"خاموش"</string>
- <string name="accessibility_summary_state_stopped" msgid="2343602489802623424">"کار نمیکند. برای دریافت اطلاعات ضربه بزنید."</string>
+ <string name="accessibility_summary_state_stopped" msgid="2343602489802623424">"کار نمیکند. برای دریافت اطلاعات تکضرب بزنید."</string>
<string name="accessibility_description_state_stopped" msgid="5364752492861199133">"این سرویس درست کار نمیکند."</string>
<string name="accessibility_shortcuts_settings_title" msgid="974740249671825145">"میانبرهای دسترسپذیری"</string>
<string name="enable_quick_setting" msgid="6648073323202243604">"نمایش در تنظیمات سریع"</string>
@@ -2404,7 +2442,7 @@
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"مجاز نبودن"</string>
<string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"خاموش شود"</string>
<string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"روشن باشد"</string>
- <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> خاموش شود؟"</string>
+ <string name="disable_service_title" msgid="8178020230162342801">"«<xliff:g id="SERVICE">%1$s</xliff:g>» خاموش شود؟"</string>
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"سرویسی نصب نشده است"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"سرویسی انتخاب نشده است"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"شرحی ارائه نشده است."</string>
@@ -2544,7 +2582,7 @@
<string name="battery_manager_app_restricted" msgid="2583902700677009173">"{count,plural, =1{# برنامه محدود شده است}one{# برنامه محدود شده است}other{# برنامه محدود شده است}}"</string>
<string name="battery_missing_message" msgid="400958471814422770">"مشکلی در خواندن میزان باتری وجود دارد."</string>
<string name="battery_missing_link_message" msgid="6021565067124898074"></string>
- <string name="battery_missing_link_a11y_message" msgid="3310971406602316323">"برای دریافت اطلاعات بیشتر درباره این خطا، ضربه بزنید"</string>
+ <string name="battery_missing_link_a11y_message" msgid="3310971406602316323">"برای دریافت اطلاعات بیشتر درباره این خطا، تکضرب بزنید"</string>
<string name="power_screen" msgid="4596900105850963806">"صفحهنمایش"</string>
<string name="power_cpu" msgid="1820472721627148746">"CPU"</string>
<string name="power_flashlight" msgid="8993388636332573202">"چراغ قوه"</string>
@@ -2820,7 +2858,7 @@
<string name="settings_backup_summary" msgid="6803046376335724034">"پشتیبانگیری از تنظیمات من"</string>
<string name="sync_menu_sync_now" msgid="3948443642329221882">"اکنون همگامسازی شود"</string>
<string name="sync_menu_sync_cancel" msgid="2422994461106269813">"لغو همگامسازی"</string>
- <string name="sync_one_time_sync" msgid="8114337154112057462">"برای همگامسازی اکنون ضربه بزنید<xliff:g id="LAST_SYNC_TIME">
+ <string name="sync_one_time_sync" msgid="8114337154112057462">"برای همگامسازی اکنون تکضرب بزنید<xliff:g id="LAST_SYNC_TIME">
%1$s</xliff:g>"</string>
<string name="sync_gmail" msgid="228561698646018808">"Gmail"</string>
<string name="sync_calendar" msgid="4603704438090387251">"تقویم"</string>
@@ -3119,7 +3157,7 @@
<string name="regulatory_info_text" msgid="1154461023369976667"></string>
<string name="sim_settings_title" msgid="2254609719033946272">"سیمکارتها"</string>
<string name="sim_cellular_data_unavailable" msgid="4653591727755387534">"داده شبکه تلفن همراه دردسترس نیست"</string>
- <string name="sim_cellular_data_unavailable_summary" msgid="6505871722911347881">"برای انتخاب سیمکارت داده ضربه بزنید"</string>
+ <string name="sim_cellular_data_unavailable_summary" msgid="6505871722911347881">"برای انتخاب سیمکارت داده تکضرب بزنید"</string>
<string name="sim_calls_always_use" msgid="967857230039768111">"همیشه این سیم برای تماسها استفاده شود"</string>
<string name="select_sim_for_data" msgid="2642305487659432499">"سیمکارت برای داده تلفن همراه انتخاب کنید"</string>
<string name="select_sim_for_sms" msgid="5335510076282673497">"انتخاب سیمکارت برای پیامک"</string>
@@ -3136,7 +3174,7 @@
<string name="sim_status_title_sim_slot" msgid="4932996839194493313">"وضعیت سیمکارت (شیار سیمکارت %1$d)"</string>
<string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
<string name="sim_notification_title" msgid="6839556577405929262">"سیمکارتها تغییر کرد"</string>
- <string name="sim_notification_summary" msgid="5593339846307029991">"برای راهاندازی ضربه بزنید"</string>
+ <string name="sim_notification_summary" msgid="5593339846307029991">"برای راهاندازی تکضرب بزنید"</string>
<string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"هر بار پرسیده شود"</string>
<string name="sim_selection_required_pref" msgid="231437651041498359">"انتخاب مورد نیاز است"</string>
<string name="sim_selection_channel_title" msgid="3193666315607572484">"انتخاب سیمکارت"</string>
@@ -3282,9 +3320,9 @@
<string name="media_volume_option_title" msgid="5966569685119475630">"میزان صدای رسانه"</string>
<string name="remote_media_volume_option_title" msgid="8760846743943305764">"میزان صدای محتوای ارسالی"</string>
<string name="call_volume_option_title" msgid="1461105986437268924">"میزان صدای تماس"</string>
- <string name="alarm_volume_option_title" msgid="6398641749273697140">"میزان صدای زنگ ساعت"</string>
+ <string name="alarm_volume_option_title" msgid="6398641749273697140">"صدای زنگ هشدار"</string>
<string name="ring_volume_option_title" msgid="1520802026403038560">"میزان صدای زنگ و اعلان"</string>
- <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"میزان صدای زنگ"</string>
+ <string name="separate_ring_volume_option_title" msgid="2212910223857375951">"صدای زنگ"</string>
<string name="notification_volume_option_title" msgid="4838818791683615978">"میزان صدای اعلان"</string>
<string name="ringer_content_description_silent_mode" msgid="1442257660889685934">"زنگ بیصدا"</string>
<string name="ringer_content_description_vibrate_mode" msgid="5946432791951870480">"زنگ لرزشی"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"فقط از افراد و برنامههای مهم اعلان دریافت کنید"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"انتخاب نوع فعالسازی"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"زمان"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"برای مثال، «۹:۳۰ - ۵:۰۰ ب.ظ.»"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"تقویم"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"برای مثال، «تقویم شخصی»"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"ایجاد حالت"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"سفارشی"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"محدود کردن وقفهها"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"روشن کردن «مزاحم نشوید»"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"صداهای رسانه و هشدارها میتوانند وقفه ایجاد کنند"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"زمانبندیها"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"حذف زمانبندیها"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"حذف"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"ویرایش"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"زمانبندیها"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"زمانبندی"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"تنظیم زمانبندی"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"زمانبندی"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ساعت، <xliff:g id="MINUTES">%2$d</xliff:g> دقیقه"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"روشن شدن خودکار"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"زمانبندی"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"بیصدا کردن تلفن در زمانهای خاصی"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"تنظیم قانونهای «مزاحم نشوید»"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"مجاز کردن وقفههایی که صدا ایجاد میکنند"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"مسدود کردن مزاحمتهای بصری"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"مجاز کردن همه سیگنالهای تصویری"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"اعلانهایی که میتواند برایتان ارسال شود"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"حفظ تمرکز"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"کنشهای بیشتر"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"تنظیمات نمایشگر"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"گزینههای نمایشگر"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"فعال کردن زمینه تیره"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"سیستمعامل و برنامهها به حالتی میروند که در آن، نوشتار روشن روی پسزمینه تیره ارجحیت دارد. در این حالت، چشمها کمتر اذیت میشود و در برخی دستگاهها در مصرف باتری بهمیزان قابلتوجهی صرفهجویی میشود"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{بدون تغییر در نمایشگر}=1{{effect_1}}=2{{effect_1} و {effect_2}}=3{{effect_1}، {effect_2}، و {effect_3}}one{{effect_1}، {effect_2}، و # مورد دیگر}other{{effect_1}، {effect_2}، و # مورد دیگر}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"فیلتر کردن وقفهها"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"هیچ وقفهای فیلتر نمیشود"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"گزینههای نمایشگر برای اعلانهای فیلترشده"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"وقتی «مزاحم نشوید» روشن است"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"بدون صدای اعلانها"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"باز کردن اعلان"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"مجاز کردن تعویق اعلان"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"نقطه اعلان روی نماد برنامهها"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"دستههای اعلان"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"حبابکها"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"حبابکها"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"نمایش مکالمه بهصورت حباب"</string>
@@ -3653,7 +3712,7 @@
<string name="interact_across_profiles_number_of_connected_apps" msgid="4000424798291479207">"{count,plural, =1{# برنامه متصل شد}one{# برنامه متصل شد}other{# برنامه متصل شد}}"</string>
<string name="interact_across_profiles_install_work_app_title" msgid="2821669067014436056">"برای اتصال این برنامهها، <xliff:g id="NAME">%1$s</xliff:g> را در نمایه کاری نصب کنید"</string>
<string name="interact_across_profiles_install_personal_app_title" msgid="4790651223324866344">"برای اتصال این برنامهها، <xliff:g id="NAME">%1$s</xliff:g> را در نمایه شخصی نصب کنید"</string>
- <string name="interact_across_profiles_install_app_summary" msgid="7715324358034968657">"برای دریافت برنامه، ضربه بزنید"</string>
+ <string name="interact_across_profiles_install_app_summary" msgid="7715324358034968657">"برای دریافت برنامه، تکضرب بزنید"</string>
<string name="manage_zen_access_title" msgid="1562322900340107269">"دسترسی به «مزاحم نشوید»"</string>
<string name="zen_access_detail_switch" msgid="4183681772666138993">"مجاز کردن «مزاحم نشوید»"</string>
<string name="zen_access_empty_text" msgid="3779921853282293080">"هیچ برنامه نصب شدهای دسترسی به «مزاحم نشوید» را درخواست نکرده است"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"دستهها"</string>
<string name="notification_channels_other" msgid="18159805343647908">"موارد دیگر"</string>
<string name="no_channels" msgid="4716199078612071915">"این برنامه هیچ اعلانی پست نکرده است"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"نمایش دستههای استفادهنشده"</string>
<string name="app_settings_link" msgid="6725453466705333311">"تنظیمات بیشتر در برنامه"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"نمایش دستههای استفادهنشده"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"پنهان کردن دستههای استفادهنشده"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"همه"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"مجاز کردن برنامهها برای لغو"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"برنامههایی که میتوانند وقفه ایجاد کنند"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"انتخاب برنامههای بیشتر"</string>
@@ -3826,8 +3888,8 @@
<string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"خاموش"</string>
<string name="screen_pinning_title" msgid="6927227272780208966">"سنجاق کردن برنامه"</string>
<string name="app_pinning_intro" msgid="6409063008733004245">"با سنجاق کردن برنامه میتوانید برنامه کنونی را تا زمان برداشتن سنجاق درمعرض دید نگه دارید. برای مثال، بااستفاده از این ویژگی میتوانید به دوست معتمدی اجازه دهید بازی خاصی را بازی کند."</string>
- <string name="screen_pinning_description" msgid="5822120806426139396">"وقتی برنامهای سنجاق شود، ممکن است برنامه سنجاقشده برنامههای دیگر را باز کند و دادههای شخصی دردسترس قرار گیرد. \n\nبرای استفاده از سنجاق کردن برنامه: ←\n{0,number,integer}. سنجاق کردن برنامه را روشن کنید ←\n{1,number,integer}. «نمای کلی» را باز کنید ←\n{2,number,integer}. روی نماد برنامه در بالای صفحهنمایش ضربه بزنید، سپس روی «سنجاق کردن» ضربه بزنید"</string>
- <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"وقتی برنامهای سنجاق شود، ممکن است برنامه سنجاقشده برنامههای دیگر را باز کند و دادههای شخصی دردسترس قرار گیرد. \n\nاگر میخواهید دستگاهتان را بااطمینانخاطر دراختیار فرد دیگری قرار دهید، از کاربر مهمان استفاده کنید. \n\nبرای استفاده از سنجاق کردن برنامه: ←\n{0,number,integer}. سنجاق کردن برنامه را روشن کنید ←\n{1,number,integer}. «نمای کلی» را باز کنید ←\n{2,number,integer}. روی نماد برنامه در بالای صفحهنمایش ضربه بزنید، سپس روی «سنجاق کردن» ضربه بزنید"</string>
+ <string name="screen_pinning_description" msgid="5822120806426139396">"وقتی برنامهای سنجاق شود، ممکن است برنامه سنجاقشده برنامههای دیگر را باز کند و دادههای شخصی دردسترس قرار گیرد. \n\nبرای استفاده از سنجاق کردن برنامه: ←\n{0,number,integer}. سنجاق کردن برنامه را روشن کنید ←\n{1,number,integer}. «نمای کلی» را باز کنید ←\n{2,number,integer}. روی نماد برنامه در بالای صفحهنمایش تکضرب بزنید، سپس روی «سنجاق کردن» تکضرب بزنید"</string>
+ <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"وقتی برنامهای سنجاق شود، ممکن است برنامه سنجاقشده برنامههای دیگر را باز کند و دادههای شخصی دردسترس قرار گیرد. \n\nاگر میخواهید دستگاهتان را بااطمینانخاطر دراختیار فرد دیگری قرار دهید، از کاربر مهمان استفاده کنید. \n\nبرای استفاده از سنجاق کردن برنامه: ←\n{0,number,integer}. سنجاق کردن برنامه را روشن کنید ←\n{1,number,integer}. «نمای کلی» را باز کنید ←\n{2,number,integer}. روی نماد برنامه در بالای صفحهنمایش تکضرب بزنید، سپس روی «سنجاق کردن» تکضرب بزنید"</string>
<string name="screen_pinning_dialog_message" msgid="8144925258679476654">"وقتی برنامه سنجاق میشود: \n\n• ممکن است دادههای شخصی (مانند مخاطبین و محتوای ایمیل) دردسترس قرار گیرد \n \n• ممکن است برنامه سنجاقشده برنامههای دیگر را باز کند \n\nفقط با افراد معتمد از سنجاق کردن برنامه استفاده کنید."</string>
<string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"درخواست الگوی بازگشایی قفل قبلاز برداشتن سنجاق"</string>
<string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"درخواست کد پین قبل از برداشتن پین"</string>
@@ -3904,7 +3966,7 @@
<string name="app_data_sharing_updates_title" msgid="1694297952320402788">"بهروزرسانیهای همرسانی داده برای مکان"</string>
<string name="app_data_sharing_updates_summary" msgid="4465929918457739443">"برنامههایی که روش همرسانی دادههای مکان شما را تغییر دادهاند مرور کنید"</string>
<string name="tap_to_wake" msgid="3313433536261440068">"ضربه برای بیدار شدن"</string>
- <string name="tap_to_wake_summary" msgid="6641039858241611072">"برای بیدار کردن دستگاه روی قسمتی از صفحه دوبار ضربه بزنید"</string>
+ <string name="tap_to_wake_summary" msgid="6641039858241611072">"برای بیدار کردن دستگاه روی قسمتی از صفحه دوبار تکضرب بزنید"</string>
<string name="domain_urls_title" msgid="7012209752049678876">"باز کردن پیوندها"</string>
<string name="domain_urls_summary_none" msgid="1132578967643384733">"پیوندهای پشتیبانی شده باز نشود"</string>
<string name="domain_urls_summary_one" msgid="3312008753802762892">"باز کردن <xliff:g id="DOMAIN">%s</xliff:g>"</string>
@@ -4283,14 +4345,14 @@
<string name="double_twist_for_camera_mode_summary" msgid="592503740044744951"></string>
<string name="system_navigation_title" msgid="4890381153527184636">"حالت پیمایش"</string>
<string name="swipe_up_to_switch_apps_title" msgid="6677266952021118342">"پیمایش ۲ دکمهای"</string>
- <string name="swipe_up_to_switch_apps_summary" msgid="1415457307836359560">"برای جابهجایی بین برنامهها، دکمه صفحه اصلی را تند بهبالا بکشید. برای دیدن همه برنامهها، دوباره تند بهبالا بکشید. برای برگشت، روی دکمه برگشت ضربه بزنید."</string>
+ <string name="swipe_up_to_switch_apps_summary" msgid="1415457307836359560">"برای جابهجایی بین برنامهها، دکمه صفحه اصلی را تند بهبالا بکشید. برای دیدن همه برنامهها، دوباره تند بهبالا بکشید. برای برگشت، روی دکمه برگشت تکضرب بزنید."</string>
<string name="emergency_settings_preference_title" msgid="6183455153241187148">"ایمنی و شرایط اضطراری"</string>
<string name="emergency_dashboard_summary" msgid="401033951074039302">"درخواست کمک اضطراری، اطلاعات پزشکی، هشدارها"</string>
<string name="edge_to_edge_navigation_title" msgid="714427081306043819">"پیمایش اشارهای"</string>
<string name="edge_to_edge_navigation_summary" msgid="818109176611921504">"برای رفتن به صفحه اصلی، از پایین صفحه تند بهبالا بکشید. برای جابهجایی بین برنامهها، از پایین صفحه تند بهبالا بکشید، نگه دارید، سپس رها کنید. برای برگشتن، از لبه راست یا چپ تند بکشید."</string>
<string name="legacy_navigation_title" msgid="7877402855994423727">"پیمایش ۳ دکمهای"</string>
<string name="legacy_navigation_summary" msgid="5905301067778326433">"برگشت، صفحه اصلی، و جابهجایی بین برنامهها با دکمههای پایین صفحه."</string>
- <string name="nav_tutorial_button_description" msgid="6880450051535137024">"شروع آموزش گامبهگام پیمایش اشارهای، دکمه. برای فعال کردن، دوضربه بزنید."</string>
+ <string name="nav_tutorial_button_description" msgid="6880450051535137024">"شروع آموزش گامبهگام پیمایش اشارهای، دکمه. برای فعال کردن، دو تکضرب بزنید."</string>
<string name="keywords_system_navigation" msgid="3131782378486554934">"پیمایش سیستمی، پیمایش ۲دکمهای، پیمایش ۳ دکمهای، پیمایش اشارهای، تند کشیدن"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"دستیار دیجیتالی"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"تند کشیدن برای فراخواندن دستیار"</string>
@@ -4321,7 +4383,7 @@
<string name="one_handed_action_show_notification_summary" msgid="8281689861222000436">"اعلانها و تنظیمات نشان داده میشوند."</string>
<string name="ambient_display_summary" msgid="2650326740502690434">"برای بررسی زمان، اعلانها و اطلاعات دیگر، روی صفحهنمایش دو ضربه سریع بزنید."</string>
<string name="ambient_display_wake_screen_title" msgid="7637678749035378085">"روشن کردن نمایشگر"</string>
- <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"برای بررسی زمان، اعلانها و اطلاعات دیگر، روی صفحهنمایش ضربه بزنید."</string>
+ <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"برای بررسی زمان، اعلانها و اطلاعات دیگر، روی صفحهنمایش تکضرب بزنید."</string>
<string name="emergency_gesture_screen_title" msgid="3280543310204360902">"کمک اضطراری"</string>
<string name="emergency_gesture_switchbar_title" msgid="7421353963329899514">"استفاده از «درخواست کمک اضطراری»"</string>
<string name="emergency_gesture_screen_summary" msgid="6640521030845132507">"برای شروع اقدامات زیر، دکمه روشن/خاموش را سریع ۵ بار یا بیشتر فشار دهید"</string>
@@ -4330,7 +4392,7 @@
<string name="emergency_gesture_category_call_for_help_title" msgid="1680040129478289510">"اطلاعرسانی برای دریافت کمک"</string>
<string name="emergency_gesture_call_for_help_title" msgid="4969340870836239982">"تماس برای کمک"</string>
<string name="emergency_gesture_call_for_help_dialog_title" msgid="8901271205171421201">"شماره تماس برای دریافت کمک"</string>
- <string name="emergency_gesture_call_for_help_summary" msgid="6552830427932669221">"<xliff:g id="PHONE_NUMBER">%1$s</xliff:g>. برای تغییر ضربه بزنید"</string>
+ <string name="emergency_gesture_call_for_help_summary" msgid="6552830427932669221">"<xliff:g id="PHONE_NUMBER">%1$s</xliff:g>. برای تغییر تکضرب بزنید"</string>
<string name="emergency_gesture_number_override_notes" msgid="233018570696200402">"اگر شماره تلفن غیراضطراری وارد کنید:\n • برای استفاده از «درخواست کمک اضطراری»، قفل دستگاهتان باید باز باشد\n • ممکن است تماستان پاسخ داده نشود"</string>
<string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"تند کشیدن اثر انگشت برای اعلانها"</string>
<string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"تند کشیدن اثر انگشت"</string>
@@ -4654,7 +4716,7 @@
<string name="mobile_network_use_sim_on" msgid="5333182776279917886">"استفاده از این سیمکارت"</string>
<string name="mobile_network_use_sim_off" msgid="6303281166199670639">"خاموش"</string>
<string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"برای خاموش کردن این سیمکارت، آن را خارج کنید"</string>
- <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"برای فعال کردن سیمکارت <xliff:g id="CARRIER">%1$s</xliff:g>، ضربه بزنید"</string>
+ <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"برای فعال کردن سیمکارت <xliff:g id="CARRIER">%1$s</xliff:g>، تکضرب بزنید"</string>
<string name="mobile_network_erase_sim" msgid="5387971155494245850">"پاکسازی سیمکارت داخلی"</string>
<string name="preferred_network_mode_title" msgid="3083431168988535628">"نوع شبکه ترجیحی"</string>
<string name="preferred_network_mode_summary" msgid="537577807865497546">"تغییر حالت عملکرد شبکه"</string>
@@ -4718,7 +4780,7 @@
<string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"سیمکارت خاموش نشد"</string>
<string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"مشکلی پیش آمد و سیمکارتتان خاموش نشد."</string>
<string name="sim_action_enable_dsds_title" msgid="226508711751577169">"از ۲ سیمکارت استفاده میکنید؟"</string>
- <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"این دستگاه میتواند همزمان ۲ سیمکارت فعال داشته باشد. برای ادامه استفاده از ۱ سیمکارت در هربار، روی «نه متشکرم» ضربه بزنید."</string>
+ <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"این دستگاه میتواند همزمان ۲ سیمکارت فعال داشته باشد. برای ادامه استفاده از ۱ سیمکارت در هربار، روی «نه متشکرم» تکضرب بزنید."</string>
<string name="sim_action_restart_title" msgid="7054617569121993825">"دستگاه بازراهاندازی شود؟"</string>
<string name="sim_action_yes" msgid="8076556020131395515">"بله"</string>
<string name="sim_action_reboot" msgid="3508948833333441538">"بازراهاندازی"</string>
@@ -4759,7 +4821,7 @@
<string name="sim_setup_channel_id" msgid="8797972565087458515">"فعالسازی شبکه"</string>
<string name="sim_switch_channel_id" msgid="4927038626791837861">"تغییر شرکت مخابراتی"</string>
<string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"سیمکارت <xliff:g id="CARRIER_NAME">%1$s</xliff:g> فعال شد"</string>
- <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"برای بهروزرسانی تنظیمات سیمکارت ضربه بزنید"</string>
+ <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"برای بهروزرسانی تنظیمات سیمکارت تکضرب بزنید"</string>
<string name="switch_to_removable_notification" msgid="7640342063449806296">"به <xliff:g id="CARRIER_NAME">%1$s</xliff:g> جابهجا شدید"</string>
<string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"به شرکت مخابراتی دیگری جابهجا شدید"</string>
<string name="network_changed_notification_text" msgid="2407908598496951243">"شبکه تلفن همراهتان تغییر کرده است"</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"جلد محاف"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"باتری"</string>
<string name="settings_panel_title" msgid="346363079938069215">"پانل تنظیمات"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"اجرای اجباری حالت دسکتاپ"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"اجرای اجباری حالت دسکتاپ آزمایشی در نمایشگرهای ثانوی"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"فعال کردن پنجرههای با قالب آزاد"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"پشتیبانی از پنجرههای با قالب آزاد فعال میشود."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"فعال کردن پنجرههای با قالب آزاد در نمایشگر دوم"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"پنجرههای با قالب آزاد فقط در نمایشگر دوم فعال میشود."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"فعال کردن اندازه غیرقابلتغییر در چندپنجره"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"مجاز کردن برنامههای با اندازه غیرقابلتغییر برای قرارگیری در چندپنجره"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"لغو اجبار حالت تاریک"</string>
@@ -4848,10 +4912,10 @@
<string name="wifi_calling_summary" msgid="8566648389959032967">"برای بهبود کیفیت تماسها، از Wi‑Fi استفاده کنید"</string>
<string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"پیام فراپیام ورودی"</string>
<string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"پیام فراپیام ارسال نشد"</string>
- <string name="enable_mms_notification_summary" msgid="6432752438276672500">"برای مجاز کردن ارسال پیام فراپیام در <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> وقتی داده تلفن همراه خاموش است، ضربه بزنید"</string>
+ <string name="enable_mms_notification_summary" msgid="6432752438276672500">"برای مجاز کردن ارسال پیام فراپیام در <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> وقتی داده تلفن همراه خاموش است، تکضرب بزنید"</string>
<string name="enable_mms_notification_channel_title" msgid="1798206332620642108">"پیام فراپیام"</string>
<string name="sim_combination_warning_notification_title" msgid="1365401631492986487">"مشکلی در ترکیب سیمکارت وجود دارد"</string>
- <string name="dual_cdma_sim_warning_notification_summary" msgid="2826474790710586487">"استفاده از <xliff:g id="OPERATOR_NAMES">%1$s</xliff:g> ممکن است عملکرد را محدود کند. برای اطلاعات بیشتر ضربه بزنید."</string>
+ <string name="dual_cdma_sim_warning_notification_summary" msgid="2826474790710586487">"استفاده از <xliff:g id="OPERATOR_NAMES">%1$s</xliff:g> ممکن است عملکرد را محدود کند. برای اطلاعات بیشتر تکضرب بزنید."</string>
<string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"ترکیب سیمکارت"</string>
<string name="work_policy_privacy_settings" msgid="2702644843505242596">"اطلاعات خطمشی کار شما"</string>
<string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"تنظیمات مدیریتشده توسط سرپرست فناوری اطلاعات شما"</string>
@@ -4866,16 +4930,16 @@
<string name="progress_16k_ota_title" msgid="2117218313875523741">"اعمال تغییرات"</string>
<string name="confirm_format_ext4_title" msgid="6696191800594435577">"دستگاه مجدداً به ext4 قالببندی شود؟ (الزامی برای حالت ۱۶ کیلوبایتی)"</string>
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"پیشاز استفاده از گزینه توسعهدهنده ۱۶ کیلوبایتی، پارتیشن دادههای این دستگاه باید به ext4 تبدیل شود. در این حالت تمامیت نرمافزار را نمیتوان تضمین کرد و هرگونه دادهای که درمدت باز بودن قفل bootloader در تلفن ذخیره میشود میتواند در معرض خطر باشد. فعال کردن گزینه ۱۶ کیلوبایتی به بازراهاندازی دیگری بعداز این بازراهاندازی نیاز خواهد داشت. بعداز رفتن به این حالت، میتوانید با یک بار بازراهاندازی بین حالتهای ۴ کیلوبایتی و ۱۶ کیلوبایتی جابجا شوید. برخیاز ویژگیها در این حالتها غیرفعال میشوند بنابراین ممکن است بعضیاز برنامهها کار نکنند. برای برگرداندن دستگاه به حالت تولید، باید به حالت ۴ کیلوبایتی برگردید و سپس bootloader را قفل کنید که با این کار، دستگاه بازنشانی کارخانهای میشود. پساز آنکه دستگاه باموفقیت با سیستمعامل Android راهاندازی شد، «باز کردن قفل سازنده اصلی محصول» را در «گزینههای توسعهدهندگان» غیرفعال کنید. دادههای دستگاه محو میشود و سیستم فایل به ext4 تغییر میکند. بعداز تکمیل کار، لطفاً به اینجا برگردید تا دوباره حالت ۱۶ کیلوبایتی را فعال کنید."</string>
- <string name="confirm_ext4_button_text" msgid="6045501984773738407">"پاک کردن تمام دادهها"</string>
+ <string name="confirm_ext4_button_text" msgid="6045501984773738407">"پاک کردن همه دادهها"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"محو کردن داده و قالببندی مجدد پارتیشن داده به ext4 انجام نشد."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"باز کردن قفل bootloader برای حالت ۱۶ کیلوبایتی الزامی است"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"قفل Bootloader باید باز شود"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"پیشاز استفاده از گزینه توسعهدهنده ۱۶ کیلوبایتی، قفل bootloader باید در این دستگاه باز شود. نمیتوان تمامیت نرمافزار را در این حالت تضمین کرد و هرگونه دادهای که درمدت باز بودن قفل bootloader در تلفن ذخیره میشود میتواند در معرض خطر باشد. با فعال کردن حالت ۱۶ کیلوبایتی، همه تنظیمات و دادههای کاربر محو خواهند شد. بعداز باز کردن قفل bootloader، گزینه ۱۶ کیلوبایتی به انجام دو بازراهاندازی نیاز دارد. بعداز رفتن به این حالت، میتوانید با یک بار بازراهاندازی بین حالتهای ۴ کیلوبایتی و ۱۶ کیلوبایتی جابجا شوید. برخیاز ویژگیها در این حالتها غیرفعال میشوند بنابراین ممکن است بعضیاز برنامهها کار نکنند. برای برگرداندن دستگاه به حالت تولید، باید به حالت ۴ کیلوبایتی برگردید و سپس سازنده اصلی محصول/ bootloader دستگاه را قفل کنید (که با این کار، دستگاه بازنشانی کارخانهای میشود). لطفاً قفل bootloader را باز و دوباره امتحان کنید. میتوانید دستورالعملهای نحوه انجام این کار را از اینجا دریافت کنید: <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"درحال استفاده از حالت مستقل با صفحه ۴ کیلوبایتی"</string>
- <string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"در حالت ۴ کیلوبایتی حالت مستقل از صفحه هستید. در این حالت، تمامیت نرمافزار را نمیتوان تضمین کرد و هرگونه دادهای که درمدت باز بودن قفل bootloader در تلفن ذخیره میشود میتواند در معرض خطر باشد. برخیاز ویژگیها در این حالتها غیرفعال میشوند بنابراین ممکن است بعضیاز برنامهها کار نکنند. برای ورود دوباره به حالت تولید، باید bootloader دستگاه را قفل کنید. برای مطالعه بیشتر، ضربه بزنید."</string>
+ <string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"در حالت ۴ کیلوبایتی حالت مستقل از صفحه هستید. در این حالت، تمامیت نرمافزار را نمیتوان تضمین کرد و هرگونه دادهای که درمدت باز بودن قفل bootloader در تلفن ذخیره میشود میتواند در معرض خطر باشد. برخیاز ویژگیها در این حالتها غیرفعال میشوند بنابراین ممکن است بعضیاز برنامهها کار نکنند. برای ورود دوباره به حالت تولید، باید bootloader دستگاه را قفل کنید. برای مطالعه بیشتر، تکضرب بزنید."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"در حالت ۴ کیلوبایتی حالت مستقل از صفحه هستید. در این حالت تمامیت نرمافزار را نمیتوان تضمین کرد و هرگونه دادهای که درمدت باز بودن قفل bootloader در تلفن ذخیره میشود میتواند در معرض خطر باشد. برخیاز ویژگیها در این حالتها غیرفعال میشوند بنابراین ممکن است بعضیاز برنامهها کار نکنند. برای ورود دوباره به حالت تولید، باید bootloader دستگاه را قفل کنید. با این کار، دستگاه دوباره بازنشانی کارخانهای میشود و به تنظیمات تولید بازگردانده میشود. پساز آنکه دستگاه باموفقیت با سیستمعامل Android راهاندازی شد، «باز کردن قفل سازنده اصلی محصول» را در «گزینههای توسعهدهندگان» غیرفعال کنید. اگر دستگاه نتوانست باموفقیت با سیستمعامل Android راهاندازی شود یا ناپایدار بود، دستگاه را با جدیدترین تصویر تنظیمات کارخانه از <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> دوباره فلاش کنید و «محو کردن دادههای دستگاه»، «قفل کردن bootloader»، و «فلاش کردن اجباری همه پارتیشنها» را انتخاب کنید."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"درحال استفاده از حالت مستقل از صفحه ۱۶ کیلوبایتی"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"در حالت ۱۶ کیلوبایتی حالت مستقل از صفحه هستید. در این حالت تمامیت نرمافزار را نمیتوان تضمین کرد و هرگونه دادهای که درمدت باز بودن قفل bootloader در تلفن ذخیره میشود میتواند در معرض خطر باشد. برخیاز ویژگیها در این حالتها غیرفعال میشوند بنابراین ممکن است بعضیاز برنامهها کار نکنند. برای ورود دوباره به حالت تولید، باید به حالت ۴ کیلوبایتی برگردید و سپس bootloader دستگاه را قفل کنید. برای مطالعه بیشتر، ضربه بزنید."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"در حالت ۱۶ کیلوبایتی حالت مستقل از صفحه هستید. در این حالت تمامیت نرمافزار را نمیتوان تضمین کرد و هرگونه دادهای که درمدت باز بودن قفل bootloader در تلفن ذخیره میشود میتواند در معرض خطر باشد. برخیاز ویژگیها در این حالتها غیرفعال میشوند بنابراین ممکن است بعضیاز برنامهها کار نکنند. برای ورود دوباره به حالت تولید، باید به حالت ۴ کیلوبایتی برگردید و سپس bootloader دستگاه را قفل کنید. با این کار، دستگاه دوباره بازنشانی کارخانهای میشود و به تنظیمات تولید بازگردانده میشود. پساز آنکه دستگاه باموفقیت با سیستمعامل Android راهاندازی شد، «باز کردن قفل سازنده اصلی محصول» را در «گزینههای توسعهدهندگان» غیرفعال کنید. اگر دستگاه نتوانست باموفقیت با سیستمعامل Android راهاندازی شود یا ناپایدار بود، دستگاه را با جدیدترین تصویر تنظیمات کارخانه از <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> دوباره فلاش کنید و «محو کردن دادههای دستگاه»، «قفل کردن bootloader»، و «فلاش کردن اجباری همه پارتیشنها» را انتخاب کنید."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"در حالت ۱۶ کیلوبایتی حالت مستقل از صفحه هستید. نمیتوان تمامیت نرمافزار را در این حالت تضمین کرد و هرگونه دادهای که درمدت باز بودن قفل bootloader در تلفن ذخیره میشود میتواند درمعرض خطر باشد. برخیاز ویژگیها در این حالتها غیرفعال میشوند بنابراین ممکن است بعضیاز برنامهها کار نکنند. برای ورود دوباره به حالت تولید، باید به حالت ۴ کیلوبایتی برگردید و سپس bootloader دستگاه را قفل کنید. برای مطالعه بیشتر، تکضرب بزنید."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"در حالت ۱۶ کیلوبایتی حالت مستقل از صفحه هستید. نمیتوان تمامیت نرمافزار را در این حالت تضمین کرد و هرگونه دادهای که درمدت باز بودن قفل bootloader در تلفن ذخیره میشود میتواند درمعرض خطر باشد. برخیاز ویژگیها در این حالتها غیرفعال میشوند بنابراین ممکن است بعضیاز برنامهها کار نکنند. برای ورود دوباره به حالت تولید، باید به حالت ۴ کیلوبایتی برگردید و سپس bootloader دستگاه را قفل کنید. با این کار، دستگاه دوباره بازنشانی کارخانهای میشود و به تنظیمات تولید بازگردانده میشود. پساز آنکه دستگاه باموفقیت با سیستمعامل Android راهاندازی شد، «باز کردن قفل سازنده اصلی محصول» را در «گزینههای توسعهدهندگان» غیرفعال کنید. اگر دستگاه نتوانست باموفقیت با سیستمعامل Android راهاندازی شود یا ناپایدار بود، دستگاه را با جدیدترین تصویر تنظیمات کارخانه از <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> دوباره فلاش کنید و «محو کردن دادههای دستگاه»، «قفل کردن Bootloader»، و «فلاش کردن اجباری همه پارتیشنها» را انتخاب کنید."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"حالت مستقل از صفحه ۱۶ کیلوبایتی"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"بیشتر بخوانید"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"کنترلکننده گزارش اشکال"</string>
@@ -4988,10 +5052,10 @@
<string name="aware_summary_when_bedtime_on" msgid="2063856008597376344">"دردسترس نیست زیرا «حالت وقت خواب» روشن است"</string>
<string name="reset_importance_completed" msgid="3595536767426097205">"بازنشاندن اهمیت اعلان تکمیل شد."</string>
<string name="apps_dashboard_title" msgid="3269953499954393706">"برنامهها"</string>
- <string name="bluetooth_message_access_notification_content" msgid="5111712860712823893">"دستگاهی میخواهد به پیامهایتان دسترسی داشته باشد. برای جزئیات ضربه بزنید."</string>
+ <string name="bluetooth_message_access_notification_content" msgid="5111712860712823893">"دستگاهی میخواهد به پیامهایتان دسترسی داشته باشد. برای جزئیات تکضرب بزنید."</string>
<string name="bluetooth_message_access_dialog_title" msgid="9009836130395061579">"دسترسی به پیامها مجاز شود؟"</string>
<string name="bluetooth_message_access_dialog_content" msgid="7186694737578788487">"دستگاه بلوتوثی (<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>) میخواهد به پیامهایتان دسترسی داشته باشد.\n\nقبلاً به <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> متصل نشدهاید."</string>
- <string name="bluetooth_phonebook_access_notification_content" msgid="9175220052703433637">"دستگاهی میخواهد به مخاطبین و گزارش تماس شما دسترسی داشته باشد. برای جزئیات ضربه بزنید."</string>
+ <string name="bluetooth_phonebook_access_notification_content" msgid="9175220052703433637">"دستگاهی میخواهد به مخاطبین و گزارش تماس شما دسترسی داشته باشد. برای جزئیات تکضرب بزنید."</string>
<string name="bluetooth_phonebook_access_dialog_title" msgid="7624607995928968721">"دسترسی به مخاطبین و گزارش تماس مجاز شود؟"</string>
<string name="bluetooth_phonebook_access_dialog_content" msgid="959658135522249170">"دستگاه بلوتوثی (<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>) میخواهد به مخاطبین و گزارش تماس شما دسترسی داشته باشد. این شامل دادههای مربوط به تماسهای ورودی و خروجی میشود.\n\nتاکنون به <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> متصل نشدهاید."</string>
<string name="category_name_brightness" msgid="8520372392029305084">"روشنایی"</string>
@@ -5007,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"استفاده از سنجاق کردن برنامه"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"استفاده از گزینههای توسعهدهنده"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"استفاده از سرویس چاپ"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"مجاز کردن چند کاربر"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"مجاز کردن، چندین، کاربر، اجازه، زیاد"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"چندگانه، کاربران، نمایهها، افراد، حسابها، عوض کردن، زیاد"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"استفاده از اشکالزدایی بیسیم"</string>
@@ -5055,11 +5120,11 @@
<string name="next_page_content_description" msgid="1641835099813416294">"بعدی"</string>
<string name="colors_viewpager_content_description" msgid="2591751086138259565">"پیشدید رنگ"</string>
<string name="bluetooth_sim_card_access_notification_title" msgid="7351015416346359536">"درخواست دسترسی به سیمکارت"</string>
- <string name="bluetooth_sim_card_access_notification_content" msgid="8685623260103018309">"دستگاهی میخواهد به سیمکارتتان دسترسی داشته باشد. برای دیدن جزئیات، ضربه بزنید."</string>
+ <string name="bluetooth_sim_card_access_notification_content" msgid="8685623260103018309">"دستگاهی میخواهد به سیمکارتتان دسترسی داشته باشد. برای دیدن جزئیات، تکضرب بزنید."</string>
<string name="bluetooth_sim_card_access_dialog_title" msgid="5616323725563125179">"دسترسی به سیمکارت مجاز است؟"</string>
<string name="bluetooth_sim_card_access_dialog_content" msgid="6281997628405909566">"دستگاه بلوتوثی (<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>) میخواهد به دادههای سیمکارتتان دسترسی داشته باشد. این دادهها شامل مخاطبین شما میشود.\n\nوقتی متصل باشد، <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> همه تماسهایی را که با <xliff:g id="PHONE_NUMBER">%3$s</xliff:g> برقرار میشود دریافت خواهد کرد."</string>
<string name="bluetooth_connect_access_notification_title" msgid="2573547043170883947">"دستگاه بلوتوث دردسترس است"</string>
- <string name="bluetooth_connect_access_notification_content" msgid="1328465545685433304">"دستگاهی میخواهد متصل شود. برای دیدن جزئیات، ضربه بزنید."</string>
+ <string name="bluetooth_connect_access_notification_content" msgid="1328465545685433304">"دستگاهی میخواهد متصل شود. برای دیدن جزئیات، تکضرب بزنید."</string>
<string name="bluetooth_connect_access_dialog_title" msgid="1948056782712451381">"به دستگاه بلوتوث متصل میشوید؟"</string>
<string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> میخواهد به این تلفن متصل شود.\n\nقبلاً به <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> متصل نشدهاید."</string>
<string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"متصل نشود"</string>
@@ -5121,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"انتخاب کنید وقتی رایانه لوحی روی پایه قرار میگیرد چه چیزی روی صفحهنمایش نشان داده شود. هنگام استفاده از محافظ صفحه، دستگاه ممکن است انرژی بیشتری مصرف کند."</string>
<string name="customize_button_title" msgid="1110284655990203359">"سفارشی کردن"</string>
<string name="customize_button_description" msgid="7440248477266126231">"سفارشی کردن <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"برای فعال کردن پشتیبانی قالب آزاد، راهاندازی مجدد الزامی است."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"برای رفتن به حالت میز کار در نمایشگرهای ثانویه، بازراهاندازی الزامی است."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"برای فعال کردن پشتیبانی از پنجرههای با قالب آزاد قدیمی، به بازراهاندازی نیاز است."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"برای تغییر دادن پشتیبانی از پنجرههای با قالب آزاد، به بازراهاندازی نیاز است."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"برای اجباری کردن پنجرههای با قالب آزاد در نمایشگرهای دوم، به بازراهاندازی نیاز است."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"اکنون بازراهاندازی شود"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"بعداً بازراهاندازی شود"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"صدای فضایی"</string>
@@ -5351,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"گوش دادن به جاریسازی"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"برای گوش دادن با <xliff:g id="DEVICE_NAME">%1$s</xliff:g>، رمزینه پاسخسریع جاریسازی صوتی را اسکن کنید"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"نمیتوان گذرواژه را درحین همرسانی ویرایش کرد. برای تغییر دادن گذرواژه، ابتدا «اشتراک صدا» را خاموش کنید."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-fi/arrays.xml b/res/values-fi/arrays.xml
index 9a526e8..d8befc6 100644
--- a/res/values-fi/arrays.xml
+++ b/res/values-fi/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Nukkuma-aika"</item>
+ <item msgid="4152450357280759894">"Ajaminen"</item>
+ <item msgid="7096549258219399423">"Immersiivinen"</item>
+ <item msgid="2760716776980432977">"Hallinnoidut"</item>
+ <item msgid="601734478369121764">"Tähti"</item>
+ <item msgid="6243809315432780521">"Kalenteri"</item>
+ <item msgid="4913577903148415331">"Aika"</item>
+ <item msgid="3653377604690057780">"Teatteri"</item>
+ <item msgid="3843711267408385410">"Kukka"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 4649a71..4b4c2f6 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Kuulolaiteasetukset"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Pikanäppäin, kuulolaiteyhteensopivuus"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Esiasetus"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Audiologi ei ole ohjelmoinut esiasetuksia"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Esiasetusta ei voitu muuttaa"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audion toistotapa"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Tietoa audion toistotavasta"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Kasvot ja <xliff:g id="WATCH">%s</xliff:g> lisätty"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Kasvot, sormenjälki ja <xliff:g id="WATCH">%s</xliff:g> lisätty"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Kasvot, sormenjäljet ja <xliff:g id="WATCH">%s</xliff:g> lisätty"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Tätä tarvitaan, koska henkilöllisyyden tunnistaminen on päällä"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticatorin lukituksen avaus"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Kello lisätty"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Kellon käyttöönotto"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Lue lisää kellon avauksesta"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Lisää kello"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Poista kello"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Sormenjälki- ja kasvojentunnistusavaus"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Kasvojentunnistus- ja sormenjälkiavaus"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Kasvojentunnistus- ja sormenjälkiavaus työkäyttöön"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Edellyttää käyttöönottoa"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Kasvot ja sormenjäljet lisättiin"</string>
@@ -541,7 +543,7 @@
<string name="security_advanced_settings_no_work_profile_settings_summary" msgid="345336447137417638">"Salaus, kirjautumistiedot ja muuta"</string>
<string name="security_advanced_settings_keywords" msgid="5294945170370974974">"tietoturva, lisää tietoturva-asetuksia, lisää asetuksia, tietoturvan lisäasetukset"</string>
<string name="privacy_advanced_settings" msgid="8828215456566937719">"Lisää yksityisyysasetuksia"</string>
- <string name="more_security_privacy_settings" msgid="123465614090328851">"Lisää suojaus‑ ja yksityisyysasetuksia"</string>
+ <string name="more_security_privacy_settings" msgid="123465614090328851">"Lisää turvallisuus‑ ja yksityisyysasetuksia"</string>
<string name="security_header" msgid="961514795852103424">"Suojaus"</string>
<string name="privacy_header" msgid="5526002421324257007">"Yksityisyys"</string>
<string name="work_profile_category_header" msgid="85707750968948517">"Työprofiili"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Asenna sovelluksia"</b>\n"Asenna sovelluksia, jotka haluat pitää yksityisessä tilassa"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Muistettavaa"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Sovellukset pysäytetään, kun lukitset tilan"</b>\n"Kun lukitset tilan, siinä olevat sovellukset pysäytetään etkä saa niiltä ilmoituksia"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Yksityisiä tiloja ei voi käyttää sellaisten sovellusten kanssa, joiden täytyy olla käynnissä taustalla tai lähettää tärkeitä ilmoituksia (esim. lääketieteelliset sovellukset). Tämä johtuu siitä, että ilmoitukset ja taustatoiminta keskeytetään, kun tila on lukittu.\n\nYksityisessä tilassa olevat sovellukset eivät näy lupienhallinnassa, yksityisyydenhallintapaneelissa tai muissa asetuksissa, kun yksityinen tila on lukittu.\n\nYksityistä tilaa ei voi siirtää uudelle laitteelle. Sinun täytyy ottaa käyttöön uusi yksityinen tila, jos haluat käyttää sitä toisella laitteella.\n\nKuka tahansa, joka yhdistää laitteesi tietokoneeseen tai asentaa laitteelle haitallisia sovelluksia, voi saada pääsyn yksityiseen tilaan."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Yksityisiä tiloja ei voi käyttää sellaisten sovellusten kanssa, joiden täytyy olla käynnissä taustalla tai lähettää tärkeitä ilmoituksia (esim. lääketieteelliset sovellukset). Tämä johtuu siitä, että ilmoitukset ja taustatoiminta keskeytetään, kun tila on lukittu.\n\nYksityisessä tilassa olevat sovellukset eivät näy lupienhallinnassa, yksityisyydenhallintapaneelissa tai muissa asetuksissa, kun yksityinen tila on lukittu.\n\nYksityistä tilaa ei voi palauttaa uudella laitteella. Sinun täytyy ottaa käyttöön uusi yksityinen tila, jos haluat käyttää sitä toisella laitteella.\n\nKuka tahansa, joka yhdistää laitteesi tietokoneeseen tai asentaa laitteelle haitallisia sovelluksia, voi saada pääsyn yksityiseen tilaan."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Lue lisää yksityisestä tilasta"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Tässä menee hetki"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Yksityistä tilaa otetaan käyttöön…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Käynnistetäänkö laite uudelleen?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"NFC-tietojen kirjaaminen on tarkoitettu vain kehittäjäkäyttöön. Virheraportit sisältävät muuta NFC-dataa, joka voi sisältää yksityisiä tietoja. Muuta asetusta käynnistämällä laite uudelleen."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Käynnistä uudelleen"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Striimaus"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"peilaus"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Ota langaton näyttö käyttöön"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Mukautuva"</string>
<string name="brightness" msgid="6216871641021779698">"Kirkkaustaso"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Kirkkauden säätö"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Kirkkauden säätö"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Näytön kirkkaus mukautuu automaattisesti ympäristöösi ja toimintaasi. Voit auttaa mukautuvaa kirkkautta oppimaan mieltymyksesi siirtämällä liukusäädintä."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Päällä"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Pois päältä"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Vaihtoehdot"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Saavutettavuus"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Fyysinen näppäimistö"</string>
- <string name="show_ime" msgid="4334255501724746849">"Käytä näyttönäppäimistöä"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Pidä näytöllä, kun fyysinen näppäimistö on aktiivinen"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Toistuvien painallusten ohitus"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Näppäimistö ei huomioi <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> millisekunnin sisällä toistettuja saman näppäimen painalluksia"</string>
<string name="slow_keys" msgid="2891452895499690837">"Hitaat näppäimet"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Käyttäjän valitsema: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Puhe"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Osoittimen nopeus"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Peliohjaimet"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Uudelleenohjaa värinä"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Ohjaa värinä peliohjaimeen, jos se on kytketty."</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Jatka silti"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Peru"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Suurennusasetukset"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Yhden sormen panorointi"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Siirrä suurennusta yhdellä sormella"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Siirry näytöllä vetämällä yhtä sormea"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Siirrä suurennusaluetta vetämällä yhdellä sormella."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Siirrää suurennusaluetta vetämällä kahdella sormella."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Ei käytettävissä, kun vain osaa näytöstä suurennetaan"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Zoomaa napauttamalla painiketta."</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Lähennä näyttöä nopeasti, niin näet sisällön suurempana"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Näin voit lähentää näyttöä:</b><br/> {0,number,integer}. Aloita suurennus käyttämällä pikanäppäintä<br/> {1,number,integer}. Napauta näyttöä<br/> {2,number,integer}. Siirry näytöllä vetämällä kahdella sormella<br/> {3,number,integer}. Säädä zoomausta nipistämällä kahdella sormella<br/> {4,number,integer}. Lopeta suurennus käyttämällä pikanäppäintä<br/><br/><b>Väliaikainen lähentäminen:</b><br/> {0,number,integer}. Varmista, että suurennustapa on asetettu koko näytölle <br/> {1,number,integer}. Aloita suurennus käyttämällä pikanäppäintä<br/> {2,number,integer}. Kosketa näyttöä mistä tahansa pitkään<br/> {3,number,integer}. Siirry näytöllä vetämällä kahdella sormella<br/> {4,number,integer}. Lopeta suurennus nostamalla sormi näytöltä"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Näin voit lähentää näyttöä:</b><br/> {0,number,integer}. Aloita suurennus käyttämällä pikakomentoa<br/> {1,number,integer}. Napauta näyttöä<br/> {2,number,integer}. Siirry näytöllä vetämällä kahdella sormella<br/> {3,number,integer}. Säädä zoomausta nipistämällä kahdella sormella<br/> {4,number,integer}. Lopeta suurennus käyttämällä pikakomentoa<br/><br/> Voit myös esimerkiksi lähentää tilapäisesti."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Näin voit lähentää näyttöä:</b><br/> {0,number,integer}. Aloita suurennus käyttämällä pikakomentoa<br/> {1,number,integer}. Napauta näyttöä<br/> {2,number,integer}. Siirry näytöllä vetämällä yhdellä tai kahdella sormella<br/> {3,number,integer}. Säädä zoomausta nipistämällä kahdella sormella<br/> {4,number,integer}. Lopeta suurennus käyttämällä pikakomentoa<br/><br/> Voit myös esimerkiksi lähentää tilapäisesti."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Kun suurennus on käytössä, voit suurentaa näytöllä olevia kohteita.\n\n"<b>"Zoomaa:"</b>" käynnistä suurennus ja napauta sitten haluamaasi kohtaa näytöllä\n"<ul><li>"Vieritä: vedä vähintään kahta sormea näytön poikki"</li>\n<li>"Säädä zoomausta: nipistä vähintään kaksi sormea yhteen tai levitä ne erilleen"</li></ul>\n\n<b>"Zoomaa väliaikaisesti:"</b>" käynnistä suurennus ja paina pitkään missä tahansa näytöllä\n"<ul><li>"Liiku näytöllä: vedä sormea eri suuntiin"</li>\n<li>"Loitonna: nosta sormi"</li></ul>\n\n"Suurennus ei toimi näppäimistöllä tai siirtymispalkissa."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Sivu <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Saavutettavuuspainikkeen pikakomento"</string>
@@ -3172,7 +3210,7 @@
<string name="cloned_app_creation_toast_summary" msgid="3854494347144867870">"Luodaan kloonia (<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>)"</string>
<string name="cloned_app_created_toast_summary" msgid="755225403495544163">"Klooni luotu (<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>)"</string>
<string name="system_dashboard_summary" msgid="7400745270362833832">"Kielet, eleet, aika, varmuuskopiointi"</string>
- <string name="languages_setting_summary" msgid="2650807397396180351">"Järjestelmän kielet, sovelluksen kielet, alueelliset valinnat, puhe"</string>
+ <string name="languages_setting_summary" msgid="2650807397396180351">"Järjestelmän kielet, sovellusten kielet, alueelliset valinnat, puhe"</string>
<string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, verkkoyhteys, internet, langaton, data, wi fi"</string>
<string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi ilmoitus, wifi ilmoitus"</string>
<string name="keywords_wifi_data_usage" msgid="4718555409695862085">"datan käyttö"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Salli ilmoitukset vain tärkeiltä ihmisiltä ja sovelluksilta"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Valitse aktivointityyppi"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Aika"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Esim. \"Klo 9.30–17.00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Kalenteri"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Esim. \"Henkilökohtainen kalenteri\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Tilan luominen"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Oma"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Keskeytysten rajoittaminen"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Laita Älä häiritse ‑tila päälle"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Hälytykset ja median äänet voivat keskeyttää"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Aikataulut"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Poista aikataulut"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Poista"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Muokkaa"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Aikataulut"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Aikataulu"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Kalenterin lisääminen"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Käytä kalenteria"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Aikataulu"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Luo aikataulu"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Aikataulu"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h, <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Ota käyttöön automaattisesti"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Aikataulu"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Hiljennä puhelin tiettyinä aikoina"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Määritä Älä häiritse ‑säännöt"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Salli keskeytykset äänen kanssa"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Estä näkyvät häiriötekijät"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Salli visuaaliset signaalit"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Ilmoitukset, joita et saa"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Keskity"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Lisätoiminnot"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Näyttöasetukset"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Näyttöasetukset"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ota tumma teema käyttöön"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Vaihda käyttöjärjestelmään ja sovelluksiin vaalea teksti tummalla taustalla, mikä voi rasittaa silmiä vähemmän ja säästää akkua merkittävästi joillakin laitteilla"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Ei muutoksia näyttöön}=1{{effect_1}}=2{{effect_1} ja {effect_2}}=3{{effect_1}, {effect_2} ja {effect_3}}other{{effect_1}, {effect_2} ja # muuta}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Suodata häiritöt"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Häiriöitä ei suodateta"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Suodatettujen ilmoitusten näyttövalinnat"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Kun Älä häiritse -tila on käytössä"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Ei ilmoitusääniä"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"avaa ilmoitus"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Salli ilmoitusten torkuttaminen"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Sovelluskuvakkeen pistemerkki"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Ilmoitusniput"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Kuplat"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Kuplat"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Lisää tämä keskustelu kuplaksi"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Luokat"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Muut"</string>
<string name="no_channels" msgid="4716199078612071915">"Tämä sovellus ei ole lähettänyt ilmoituksia"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Näytä käyttämättömät kategoriat"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Lisäasetukset sovelluksessa"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Näytä käyttämättömät kategoriat"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Piilota käyttämättömät kategoriat"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Kaikki"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Salli ohittaminen sovelluksille"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Sovellukset, jotka saavat keskeyttää"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Valitse lisää sovelluksia"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Muuta hälytyksiä tunnilla tähän asti: {time}}other{Muuta hälytyksiä # tunnilla tähän asti: {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Ota vain herätykset käyttöön kello <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> asti."</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Salli keskeytykset aina."</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Nimeä uudelleen"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Vaihda kuvake"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Vaihda kuvake"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Varoitus"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Sulje"</string>
<string name="device_feedback" msgid="5351614458411688608">"Lähetä palautetta tästä laitteesta"</string>
@@ -4698,7 +4754,7 @@
<string name="more_about_satellite_messaging" msgid="3385673133561348509">"Tietoa satelliittiviestinnästä"</string>
<string name="satellite_warning_dialog_title" msgid="1610117852475376931">"<xliff:g id="FUNCTION">%1$s</xliff:g> ei ole käytettävissä"</string>
<string name="satellite_warning_dialog_content" msgid="936419945275934955">"Katkaise satelliittiyhteys, jotta <xliff:g id="FUNCTION">%1$s</xliff:g> voidaan laittaa päälle"</string>
- <string name="mobile_network_apn_title" msgid="5582995550142073054">"Tukiasemien nimet"</string>
+ <string name="mobile_network_apn_title" msgid="5582995550142073054">"Yhteysosoitteet"</string>
<string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
<string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Ei käytettävissä <xliff:g id="CARRIER">%1$s</xliff:g> ‑käytön aikana"</string>
<string name="see_more" msgid="7499355691042812723">"Lisää"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Kotelo"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Akku"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Asetuspaneeli"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Pakota työpöytätila"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Pakota kokeellinen työpöytätila toissijaisille näytöille"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Ota vapaamuotoiset ikkunat käyttöön"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Ota käyttöön tuki vapaamuotoisille ikkunoille."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Ota 2. näytön vapaamuotoinen ikkunointi käyttöön"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Ota vapaamuotoiset ikkunat käyttöön vain toissijaisella näytöllä."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Ota käyttöön kiinteän kokoiset usean ikkunan tilassa"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Sallii kiinteän kokoiset sovellukset usean ikkunan tilassa"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Ohita SmartDarkin pakottaminen päälle"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Tämän laitteen dataosio on muunnettava ext4-muotoon ennen 16 kt:n kehittäjäasetuksen käyttämistä. Ohjelmiston eheyttä ei voida taata tässä tilassa. Kaikki tälle puhelimelle tallennettu data voi olla vaarassa, kun käynnistysohjelman lukitus on auki. 16 kt:n tilan aktivoiminen edellyttää tämän jälkeen vielä yhtä uudelleenkäynnistystä. Kun olet tässä tilassa, voit vaihtaa 4 kt:n ja 16 kt:n tilan välillä yhdellä uudelleenkäynnistyksellä. Jotkin ominaisuudet on poistettu käytöstä näissä tiloissa, eivätkä kaikki sovellukset välttämättä toimi. Jos haluat palauttaa laitteen tuotantotilaan, sinun on vaihdettava takaisin 4 kt:n tilaan ja lukittava käynnistysohjelma. Tämä palauttaa laitteen tehdasasetukset. Kun laite käynnistyy Androidissa, poista OEM-avaus käytöstä kehittäjäasetuksista. Laite pyyhitään ja tiedostojärjestelmä vaihdetaan ext4-muotoon vahvistuksen jälkeen. Kun tämä on valmis, palaa ottamaan 16 kt:n tila uudelleen käyttöön."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Poista kaikki data"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Dataosion tyhjentäminen ja uudelleenformatointi ext4-muotoon epäonnistui."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16 kt:n tila edellyttää käynnistysohjelman lukituksen avausta"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Edellyttää käynnistysohjelman avaamista"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Tämän laitteen käynnistysohjelma on avattava ennen 16 kt:n kehittäjäasetuksen käyttämistä. Ohjelmiston eheyttä ei voida taata tässä tilassa. Kaikki tälle puhelimelle tallennettu data voi olla vaarassa, kun käynnistysohjelman lukitus on auki. Kaikki käyttäjädata ja asetukset pyyhitään, kun 16 kt:n tila aktivoidaan. Kun käynnistysohjelman lukitus on avattu, 16 kt:n tilan aktivointi edellyttää kahta uudelleenkäynnistystä. Kun olet tässä tilassa, voit vaihtaa 4 kt:n ja 16 kt:n tilan välillä yhdellä uudelleenkäynnistyksellä. Jotkin ominaisuudet on poistettu käytöstä näissä tiloissa, eivätkä kaikki sovellukset välttämättä toimi. Jos haluat palauttaa laitteen tuotantotilaan, sinun on vaihdettava takaisin 4 kt:n tilaan ja tehtävä käynnistysohjelman tai OEM:n lukitus. Tämä palauttaa laitteen tehdasasetukset. Avaa käynnistysohjelman lukitus ja yritä uudelleen. Voit katsoa ohjeet tämän tekemiseen osoitteesta <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Käytetään 4 kt:n sivusta riippumatonta tilaa"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Olet sivusta riippumattoman tilan 4 kt:n tilassa. Ohjelmiston eheyttä ei voida taata tässä tilassa. Kaikki tälle puhelimelle tallennettu data voi olla vaarassa, kun käynnistysohjelman lukitus on auki. Jotkin ominaisuudet on poistettu käytöstä näissä tiloissa, eivätkä kaikki sovellukset välttämättä toimi. Jos haluat siirtyä tuotantotilaan uudelleen, sinun on lukittava käynnistysohjelma. Lue lisää napauttamalla."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Olet sivusta riippumattoman tilan 4 kt:n tilassa. Ohjelmiston eheyttä ei voida taata tässä tilassa. Kaikki tälle puhelimelle tallennettu data voi olla vaarassa, kun käynnistysohjelman lukitus on auki. Jotkin ominaisuudet on poistettu käytöstä näissä tiloissa, eivätkä kaikki sovellukset välttämättä toimi. Jos haluat siirtyä tuotantotilaan uudelleen, sinun on lukittava käynnistysohjelma. Tämä palauttaa laitteen tehdasasetukset uudelleen ja palauttaa sen tuotantoasetuksiin. Kun laite käynnistyy Androidissa, poista OEM-avaus käytöstä kehittäjäasetuksista. Jos laitteen käynnistäminen Androidiin epäonnistuu tai se on epävakaa, suorita Flash uudelleen viimeisimmillä tehdasasetusten näköistiedostoilla osoitteesta <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> tai käytä <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ja valitse \"Pyyhi laite\", \"Lukitse käynnistysohjelma\" tai \"Pakota Flash kaikille osioille\"."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Käytetään 16 kt:n sivusta riippumatonta tilaa"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Olet sivusta riippumattoman tilan 16 kt:n tilassa. Ohjelmiston eheyttä ei voida taata tässä tilassa. Kaikki tälle puhelimelle tallennettu data voi olla vaarassa, kun käynnistysohjelman lukitus on auki. Jotkin ominaisuudet on poistettu käytöstä näissä tiloissa, eivätkä kaikki sovellukset välttämättä toimi. Jos haluat siirtyä tuotantotilaan uudelleen, sinun on vaihdettava takaisin 4 kt:n tilaan ja lukittava käynnistysohjelma. Lue lisää napauttamalla."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Olet sivusta riippumattoman tilan 16 kt:n tilassa. Ohjelmiston eheyttä ei voida taata tässä tilassa. Kaikki tälle puhelimelle tallennettu data voi olla vaarassa, kun käynnistysohjelman lukitus on auki. Jotkin ominaisuudet on poistettu käytöstä näissä tiloissa, eivätkä kaikki sovellukset välttämättä toimi. Jos haluat siirtyä tuotantotilaan uudelleen, sinun on vaihdettava takaisin 4 kt:n tilaan ja lukittava käynnistysohjelma. Tämä palauttaa laitteen tehdasasetukset uudelleen ja palauttaa sen tuotantoasetuksiin. Kun laite käynnistyy Androidissa, poista OEM-avaus käytöstä kehittäjäasetuksista. Jos laitteen käynnistäminen Androidiin epäonnistuu tai se on epävakaa, asenna Flash uudelleen viimeisimmillä tehdasasetusten näköistiedostoilla osoitteesta <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> tai käytä <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ja valitse \"Pyyhi laite\", \"Lukitse käynnistysohjelma\" ja \"Pakota Flash kaikille osioille\"."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Olet sivusta riippumattoman tilan 16 kt:n tilassa. Ohjelmiston eheyttä ei voida taata tässä tilassa. Kaikki tälle puhelimelle tallennettu data voi olla vaarassa, kun käynnistysohjelmaa ei ole lukittu. Jotkin ominaisuudet on poistettu käytöstä näissä tiloissa, eivätkä kaikki sovellukset välttämättä toimi. Jos haluat siirtyä tuotantotilaan uudelleen, sinun on vaihdettava takaisin 4 kt:n tilaan ja lukittava käynnistysohjelma. Lue lisää napauttamalla."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Olet sivusta riippumattoman tilan 16 kt:n tilassa. Ohjelmiston eheyttä ei voida taata tässä tilassa. Kaikki tälle puhelimelle tallennettu data voi olla vaarassa, kun käynnistysohjelmaa ei ole lukittu. Jotkin ominaisuudet on poistettu käytöstä näissä tiloissa, eivätkä kaikki sovellukset välttämättä toimi. Jos haluat siirtyä tuotantotilaan uudelleen, sinun on vaihdettava takaisin 4 kt:n tilaan ja lukittava käynnistysohjelma. Tämä palauttaa laitteen tehdasasetukset uudelleen ja palauttaa sen tuotantoasetuksiin. Kun laite käynnistyy Androidissa, poista OEM-avaus käytöstä kehittäjäasetuksista. Jos laitteen käynnistäminen Androidiin epäonnistuu tai se on epävakaa, suorita Flash uudelleen viimeisimmillä tehdasasetusten näköistiedostoilla osoitteesta <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> tai käytä <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ja valitse \"Pyyhi laite\", \"Lukitse käynnistysohjelma\" tai \"Pakota Flash kaikille osioille\"."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16 kt:n sivusta riippumaton tila"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Lue lisää"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Virheraportin käsittelijä"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Käytä sovelluksen kiinnitystä"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Käytä kehittäjäasetuksia"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Käytä tulostuspalvelua"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Salli useat käyttäjät"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"salli, useita, käyttäjä, lupa, monta"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"monta, käyttäjää, profiilia, henkilöä, tiliä, vaihda, useita"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Käytä langatonta virheenkorjausta"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Valitse, mitä näytölläsi näkyy, kun tabletti on telineessä. Laitteesi saattaa käyttää enemmän virtaa, kun näytönsäästäjä on käytössä."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Yksilöi"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Muokkaa <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Vapaamuotoisen tilan käyttöönotto edellyttää uudelleenkäynnistystä."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Työpöytätilan pakottaminen toissijaisille näytöille edellyttää uudelleenkäynnistystä."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Vanhan vapaamuotoisen ikkunoinnin tuen käyttöönotto edellyttää, että käynnistät laitteen uudelleen."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Vapaamuotoisen ikkunoinnin tuen muutos edellyttää, että käynnistät laitteen uudelleen."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Vapaamuotoisen ikkunoinnin pakottaminen toissijaisilla näytöillä edellyttää, että käynnistät laitteen uudelleen."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Käynnistä uudelleen nyt"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Käynnistä uudelleen myöhemmin"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Tila-audio"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Kuuntele striimiä"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Skannaa QR-koodi, niin <xliff:g id="DEVICE_NAME">%1$s</xliff:g> voi toistaa audiostriimiä"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Salasanaa ei voi muokata jakamisen aikana. Jos haluat vaihtaa salasanaa, laita ensin audionjako pois päältä."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-fr-feminine/strings.xml b/res/values-fr-feminine/strings.xml
index 9d7b864..d472234 100644
--- a/res/values-fr-feminine/strings.xml
+++ b/res/values-fr-feminine/strings.xml
@@ -26,6 +26,7 @@
<string name="vpn_replace_vpn_message" msgid="1094297700371463386">"Vous êtes déjà connectée à un VPN. Si vous vous connectez à un autre VPN, le VPN actuel sera remplacé."</string>
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Sélectionnez un profil VPN auquel rester connectée en permanence. Le trafic réseau ne sera autorisé que lorsque vous serez connectée à ce VPN."</string>
<string name="guest_category_title" msgid="5562663588315329152">"Invitée (Vous)"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Restez concentrée"</string>
<string name="users_summary" msgid="8473589474976307510">"Connectée en tant que \"<xliff:g id="USER_NAME">%1$s</xliff:g>\""</string>
<string name="zen_suggestion_summary" msgid="1984990920503217">"Suspendre les notifications pour rester concentrée"</string>
<string name="bluetooth_phonebook_access_dialog_content" msgid="959658135522249170">"Un appareil Bluetooth, <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>, souhaite accéder à vos contacts et à votre journal d\'appels. Ceci inclut des données concernant les appels entrants et sortants.\n\nVous ne vous êtes jamais connectée à <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> auparavant."</string>
diff --git a/res/values-fr-masculine/strings.xml b/res/values-fr-masculine/strings.xml
index 57e733e..2b1f4b7 100644
--- a/res/values-fr-masculine/strings.xml
+++ b/res/values-fr-masculine/strings.xml
@@ -26,6 +26,7 @@
<string name="vpn_replace_vpn_message" msgid="1094297700371463386">"Vous êtes déjà connecté à un VPN. Si vous vous connectez à un autre VPN, le VPN actuel sera remplacé."</string>
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Sélectionnez un profil VPN auquel rester connecté en permanence. Le trafic réseau ne sera autorisé que lorsque vous serez connecté à ce VPN."</string>
<string name="guest_category_title" msgid="5562663588315329152">"Invité (Vous)"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Restez concentré"</string>
<string name="users_summary" msgid="8473589474976307510">"Connecté en tant que \"<xliff:g id="USER_NAME">%1$s</xliff:g>\""</string>
<string name="zen_suggestion_summary" msgid="1984990920503217">"Suspendre les notifications pour rester concentré"</string>
<string name="bluetooth_phonebook_access_dialog_content" msgid="959658135522249170">"Un appareil Bluetooth, <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>, souhaite accéder à vos contacts et à votre journal d\'appels. Ceci inclut des données concernant les appels entrants et sortants.\n\nVous ne vous êtes jamais connecté à <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> auparavant."</string>
diff --git a/res/values-fr-neuter/strings.xml b/res/values-fr-neuter/strings.xml
index ca3db60..8933f75 100644
--- a/res/values-fr-neuter/strings.xml
+++ b/res/values-fr-neuter/strings.xml
@@ -26,6 +26,7 @@
<string name="vpn_replace_vpn_message" msgid="1094297700371463386">"Vous êtes déjà connecté·e à un VPN. Si vous vous connectez à un autre VPN, le VPN actuel sera remplacé."</string>
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Sélectionnez un profil VPN auquel rester connecté·e en permanence. Le trafic réseau ne sera autorisé que lorsque vous serez connecté·e à ce VPN."</string>
<string name="guest_category_title" msgid="5562663588315329152">"Invité·e (Vous)"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Restez concentré·e"</string>
<string name="users_summary" msgid="8473589474976307510">"Connecté·e en tant que \"<xliff:g id="USER_NAME">%1$s</xliff:g>\""</string>
<string name="zen_suggestion_summary" msgid="1984990920503217">"Suspendre les notifications pour garder votre concentration"</string>
<string name="bluetooth_phonebook_access_dialog_content" msgid="959658135522249170">"Un appareil Bluetooth, <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>, souhaite accéder à vos contacts et à votre journal d\'appels. Ceci inclut des données concernant les appels entrants et sortants.\n\nVous ne vous êtes jamais connecté·e à <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> auparavant."</string>
diff --git a/res/values-fr-rCA/arrays.xml b/res/values-fr-rCA/arrays.xml
index 2b431d8..450e4de 100644
--- a/res/values-fr-rCA/arrays.xml
+++ b/res/values-fr-rCA/arrays.xml
@@ -98,7 +98,7 @@
<item msgid="6702740528496186521">"5"</item>
</string-array>
<string-array name="bluetooth_audio_routing_titles">
- <item msgid="3488687531285795335">"Utiliser la valeur par défaut de l\'application"</item>
+ <item msgid="3488687531285795335">"Utiliser la valeur par défaut de l\'appli"</item>
<item msgid="5112879855377353813">"Faire jouer sur l\'appareil auditif"</item>
<item msgid="4853360663119482646">"Faire jouer sur le haut-parleur du téléphone"</item>
</string-array>
@@ -348,7 +348,7 @@
<item msgid="3237802033158517495">"100 %"</item>
</string-array>
<string-array name="captioning_preset_selector_titles">
- <item msgid="3880932435325583041">"Défini par l\'application"</item>
+ <item msgid="3880932435325583041">"Défini par l\'appli"</item>
<item msgid="8719204526359229387">"Texte blanc sur fond noir"</item>
<item msgid="5410164687403735103">"Texte noir sur fond blanc"</item>
<item msgid="1119043472912497241">"Texte jaune sur fond noir"</item>
@@ -484,7 +484,7 @@
<!-- no translation found for rtt_setting_mode:3 (7725394146877517088) -->
<string-array name="nfc_payment_favor">
<item msgid="9104058551372383947">"Toujours"</item>
- <item msgid="5283665583617307336">"Sauf si une autre application de paiement est ouverte"</item>
+ <item msgid="5283665583617307336">"Sauf si une autre appli de paiement est ouverte"</item>
</string-array>
<string-array name="nfc_payment_favor_values">
<item msgid="2373999996715432397">"0"</item>
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Heure du coucher"</item>
+ <item msgid="4152450357280759894">"En conduite"</item>
+ <item msgid="7096549258219399423">"Immersif"</item>
+ <item msgid="2760716776980432977">"Gérée"</item>
+ <item msgid="601734478369121764">"Étoile"</item>
+ <item msgid="6243809315432780521">"Agenda"</item>
+ <item msgid="4913577903148415331">"Heure"</item>
+ <item msgid="3653377604690057780">"Théâtre"</item>
+ <item msgid="3843711267408385410">"Fleur"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 761bf7a..5e364e7 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -46,7 +46,7 @@
<string name="stay_awake_on_fold_title" msgid="6590454679898134221">"Toujours"</string>
<string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"L\'écran frontal s\'allume lorsque vous pliez votre appareil"</string>
<string name="selective_stay_awake_title" msgid="7887645333447645168">"Seulement pour les jeux, les vidéos et plus"</string>
- <string name="selective_stay_awake_summary" msgid="9055967322921984543">"L\'écran frontal s\'allume pour les applications qui empêchent la mise en veille de votre écran"</string>
+ <string name="selective_stay_awake_summary" msgid="9055967322921984543">"L\'écran frontal s\'allume pour les applis qui empêchent la mise en veille de votre écran"</string>
<string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Balayer vers le haut pour continuer"</string>
<string name="stay_awake_on_lockscreen_summary" msgid="8825321939913726566">"Pliez votre téléphone et balayez l\'écran frontal vers le haut pour continuer à utiliser l\'appli, ou attendez quelques secondes pour que l\'écran se verrouille. Les applis de jeux et de vidéos resteront ouvertes automatiquement."</string>
<string name="sleep_on_fold_title" msgid="7626123024330501411">"Jamais"</string>
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Paramètres de l\'appareil auditif"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Raccourci, compatibilité avec les prothèses auditives"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Préréglage"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Aucun préréglage n\'a été programmé par votre audiologiste"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Impossible de mettre à jour le préréglage"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Sortie audio"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"À propos de la sortie audio"</string>
@@ -86,7 +87,7 @@
<string name="bluetooth_call_title" msgid="6851464952021874072">"Sortie audio des appels"</string>
<string name="bluetooth_media_title" msgid="2878373577382067290">"Sons des médias et du système"</string>
<string name="bluetooth_notification_title" msgid="8708962394926222039">"Notifications"</string>
- <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Par défaut, la sortie audio est définie par les différentes applications"</string>
+ <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Par défaut, la sortie audio est définie par les différentes applis"</string>
<string name="bluetooth_audio_codec_default_selection" msgid="4753278792700664175">"Utiliser la sélection du système (par défaut)"</string>
<string name="bluetooth_device" msgid="2217973503732544291">"Appareil Bluetooth sans nom"</string>
<string name="progress_scanning" msgid="2564746192843011826">"Recherche en cours…"</string>
@@ -99,8 +100,8 @@
<string name="device_picker" msgid="2427027896389445414">"Sélectionner un appareil Bluetooth"</string>
<string name="bluetooth_ask_enablement" msgid="1529030199895339199">"<xliff:g id="APP_NAME">%1$s</xliff:g> souhaite activer le Bluetooth"</string>
<string name="bluetooth_ask_disablement" msgid="1879788777942714761">"<xliff:g id="APP_NAME">%1$s</xliff:g> souhaite désactiver le Bluetooth"</string>
- <string name="bluetooth_ask_enablement_no_name" msgid="5091401961637405417">"Une application souhaite activer le Bluetooth."</string>
- <string name="bluetooth_ask_disablement_no_name" msgid="382299750909188822">"Une application souhaite désactiver le Bluetooth"</string>
+ <string name="bluetooth_ask_enablement_no_name" msgid="5091401961637405417">"Une appli souhaite activer le Bluetooth."</string>
+ <string name="bluetooth_ask_disablement_no_name" msgid="382299750909188822">"Une appli souhaite désactiver le Bluetooth"</string>
<string name="bluetooth_turning_on" msgid="3842613808709024730">"Activation du Bluetooth..."</string>
<string name="bluetooth_turning_off" msgid="7406309124247701148">"Désactivation du Bluetooth..."</string>
<string name="bluetooth_connection_permission_request" msgid="8793131019383198861">"Demande de connexion Bluetooth"</string>
@@ -155,7 +156,7 @@
<string name="proxy_error_empty_port" msgid="4250295137005082992">"Le champ « Port » est obligatoire."</string>
<string name="proxy_error_empty_host_set_port" msgid="8886572276450900049">"Le champ Port doit rester vide si le champ Hôte n\'est pas renseigné."</string>
<string name="proxy_error_invalid_port" msgid="2830054691770209166">"Le port indiqué n\'est pas valide."</string>
- <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Le serveur mandataire HTTP est utilisé par le navigateur, mais ne peut pas l\'être par les autres applications."</string>
+ <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Le serveur mandataire HTTP est utilisé par le navigateur, mais ne peut pas l\'être par les autres applis."</string>
<string name="proxy_url_title" msgid="3502625766036404073">"URL config. auto mand. : "</string>
<string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Faire un ping de l\'IPv4 du nom d\'hôte (www.google.com) :"</string>
<string name="radio_info_http_client_test" msgid="5673975677271544085">"Test du client HTTP :"</string>
@@ -169,30 +170,30 @@
<string name="add_a_language" msgid="2126220398077503271">"Ajouter une langue"</string>
<string name="app_locale_preference_title" msgid="5513627099300360232">"Langue"</string>
<string name="locale_picker_category_title" msgid="6212064706962721255">"Langue favorite"</string>
- <string name="app_locales_picker_menu_title" msgid="7617427959223831373">"Langues des applications"</string>
- <string name="app_locale_picker_summary" msgid="6742557329924446252">"Configurez la langue pour chaque application"</string>
- <string name="app_locale_picker_title" msgid="2431448962911301366">"Langue de l\'application"</string>
+ <string name="app_locales_picker_menu_title" msgid="7617427959223831373">"Langues des applis"</string>
+ <string name="app_locale_picker_summary" msgid="6742557329924446252">"Configurez la langue pour chaque appli"</string>
+ <string name="app_locale_picker_title" msgid="2431448962911301366">"Langue de l\'appli"</string>
<string name="suggested_app_locales_title" msgid="8898358282377369405">"Langues suggérées"</string>
<string name="all_supported_app_locales_title" msgid="5479289964316009026">"Toutes les langues"</string>
<string name="preference_of_system_locale_title" msgid="8067226276038751504">"Langue du système"</string>
<string name="preference_of_system_locale_summary" msgid="5612241394431188535">"Paramètre système par défaut"</string>
- <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"La sélection de la langue pour cette application n\'est pas accessible à partir des paramètres."</string>
- <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"La langue peut différer des langues offertes dans l\'application. Certaines applications peuvent ne pas prendre en charge ce paramètre."</string>
- <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Configurez la langue pour chaque application."</string>
- <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Le système, les applications et les sites Web utilisent la première langue prise en charge parmi vos langues préférées."</string>
- <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Pour sélectionner une langue pour chaque application, consultez les paramètres de langue des applications."</string>
- <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"En savoir plus sur les langues des applications"</string>
+ <string name="desc_no_available_supported_locale" msgid="7883271726226947273">"La sélection de la langue pour cette appli n\'est pas accessible à partir des paramètres."</string>
+ <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"La langue peut différer des langues offertes dans l\'appli. Certaines applis peuvent ne pas prendre en charge ce paramètre."</string>
+ <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Configurez la langue pour chaque appli."</string>
+ <string name="desc_introduction_of_language_picker" msgid="1038423471887102449">"Le système, les applis et les sites Web utilisent la première langue prise en charge parmi vos langues préférées."</string>
+ <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Pour sélectionner une langue pour chaque appli, consultez les paramètres de langue des applis."</string>
+ <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"En savoir plus sur les langues des applis"</string>
<string name="title_change_system_locale" msgid="8589844586256566951">"Sélectionner %s comme langue du système?"</string>
<string name="title_system_locale_addition" msgid="8218683660751479466">"Ajouter %s aux langues préférées?"</string>
<string name="desc_system_locale_addition" msgid="3409917362651596070">"Cela permet aux applis et aux sites Web de savoir que vous préférez aussi cette langue."</string>
<string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Vos préférences régionales et les paramètres de votre appareil seront modifiés."</string>
<string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Modifier"</string>
<string name="title_unavailable_locale" msgid="2628898110416542386">"%s non accessible"</string>
- <string name="desc_unavailable_locale" msgid="2201756477400935896">"Cette langue ne peut pas être utilisée comme langue du système, mais vous avez indiqué aux applications et aux sites Web qu\'il s\'agissait de votre préférence."</string>
+ <string name="desc_unavailable_locale" msgid="2201756477400935896">"Cette langue ne peut pas être utilisée comme langue du système, mais vous avez indiqué aux applis et aux sites Web qu\'il s\'agissait de votre préférence."</string>
<string name="regional_preferences_title" msgid="4304567374498629528">"Préférences régionales"</string>
<string name="regional_preferences_summary" msgid="1189876997389469650">"Définissez les préférences relatives aux unités et aux chiffres"</string>
- <string name="regional_preferences_main_page_sub_title" msgid="4237109940015254725">"Indiquez aux applications vos préférences régionales afin qu\'elles puissent personnaliser votre expérience."</string>
- <string name="regional_preferences_option_page_sub_title" msgid="8303661099255197036">"Les applications utiliseront vos préférences régionales quand c\'est possible."</string>
+ <string name="regional_preferences_main_page_sub_title" msgid="4237109940015254725">"Indiquez aux applis vos préférences régionales afin qu\'elles puissent personnaliser votre expérience."</string>
+ <string name="regional_preferences_option_page_sub_title" msgid="8303661099255197036">"Les applis utiliseront vos préférences régionales quand c\'est possible."</string>
<string name="temperature_preferences_title" msgid="5009881556503629058">"Température"</string>
<string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Premier jour de la semaine"</string>
<string name="numbers_preferences_title" msgid="8197418984391195446">"Préférences relatives aux chiffres"</string>
@@ -206,12 +207,12 @@
<string name="thursday_first_day_of_week" msgid="3035885630945594833">"Jeudi"</string>
<string name="friday_first_day_of_week" msgid="7074795061812083541">"Vendredi"</string>
<string name="saturday_first_day_of_week" msgid="3702282590450322727">"Samedi"</string>
- <string name="title_regional_pref_footer" msgid="7450438024324794380">"Si une application ne prend pas en charge les préférences régionales, elle utilisera ses paramètres régionaux par défaut."</string>
+ <string name="title_regional_pref_footer" msgid="7450438024324794380">"Si une appli ne prend pas en charge les préférences régionales, elle utilisera ses paramètres régionaux par défaut."</string>
<string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Apprenez-en plus sur les préférences linguistiques."</string>
<string name="category_title_terms_of_address" msgid="4309422700380895278">"Autres préférences"</string>
<string name="terms_of_address_title" msgid="7338630812197476808">"Choisissez la façon dont on s\'adresse à vous"</string>
<string name="terms_of_address_summary" msgid="7802443422612600620">"Votre appareil peut personnaliser la façon dont on s\'adresse à vous"</string>
- <string name="terms_of_address_intro_title" msgid="1533951542181569335">"Ce paramètre permet à la plupart des applications système de personnaliser la façon dont on s\'adresse à vous. Il n\'est pas utilisé par les applications que vous installez."</string>
+ <string name="terms_of_address_intro_title" msgid="1533951542181569335">"Ce paramètre permet à la plupart des applis système de personnaliser la façon dont on s\'adresse à vous. Il n\'est pas utilisé par les applis que vous installez."</string>
<string name="terms_of_address_not_specified" msgid="4439257779351251973">"Non précisé"</string>
<string name="terms_of_address_feminine" msgid="1743479869695539283">"Féminin"</string>
<string name="terms_of_address_masculine" msgid="983106046135098856">"Masculin"</string>
@@ -281,10 +282,10 @@
<string name="location_settings_title" msgid="8375074508036087178">"Position"</string>
<string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Utiliser ma position"</string>
<string name="location_settings_summary_location_off" msgid="4797932754681162262">"Désactivé"</string>
- <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Activée / # application a accès à la position}one{Activée / # application a accès à la position}other{Activée / # applications ont accès à la position}}"</string>
+ <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Activée / # appli a accès à la position}one{Activée / # appli a accès à la position}other{Activée / # applis ont accès à la position}}"</string>
<string name="location_settings_loading_app_permission_stats" msgid="6054103701535557342">"Chargement en cours…"</string>
- <string name="location_settings_footer_general" msgid="1040507068701188821">"Les applications qui disposent de l\'autorisation de détection des appareils à proximité peuvent déterminer la position relative des appareils connectés."</string>
- <string name="location_settings_footer_location_off" msgid="8568995909147566720">"L\'accès à la position est désactivé pour les applications et les services. La position de votre appareil pourrait quand même être envoyée aux intervenants d\'urgence lorsque vous appelez ou textez un numéro d\'urgence."</string>
+ <string name="location_settings_footer_general" msgid="1040507068701188821">"Les applis qui disposent de l\'autorisation de détection des appareils à proximité peuvent déterminer la position relative des appareils connectés."</string>
+ <string name="location_settings_footer_location_off" msgid="8568995909147566720">"L\'accès à la position est désactivé pour les applis et les services. La position de votre appareil pourrait quand même être envoyée aux intervenants d\'urgence lorsque vous appelez ou textez un numéro d\'urgence."</string>
<string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"En savoir plus sur les paramètres de localisation"</string>
<string name="location_settings_tooltip_text_for_chrome" msgid="5781821709250544575">"Pour modifier cela, accédez à Paramètres ChromeOS > Confidentialité et sécurité > Paramètres de confidentialité > Accès à la localisation"</string>
<string name="account_settings_title" msgid="9138880127246241885">"Comptes"</string>
@@ -294,7 +295,7 @@
<string name="lockscreen_settings_what_to_show_category" msgid="9205490627927741254">"Éléments affichés"</string>
<string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Non accessible"</string>
<string name="security_status_title" msgid="6958004275337618656">"État de la sécurité"</string>
- <string name="security_dashboard_summary" msgid="7571035662779425918">"Verrouillage d\'écran, Localiser mon appareil, sécurité des applications"</string>
+ <string name="security_dashboard_summary" msgid="7571035662779425918">"Verrouillage d\'écran, Localiser mon appareil, sécurité des applis"</string>
<string name="safety_center_title" msgid="7732397372178774777">"Sécurité et confidentialité"</string>
<string name="safety_center_summary" msgid="3554867379951053869">"Sécurité applis, verrouillage appareil, autorisations"</string>
<string name="security_settings_face_preference_summary" msgid="6675126437396914838">"Visage ajouté"</string>
@@ -320,7 +321,7 @@
<string name="security_settings_face_enroll_consent_introduction_title" msgid="3942331854413767814">"Autoriser le déverr. par reconn. faciale"</string>
<string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="5903924766168353113">"Utiliser son visage pour s\'authentifier"</string>
<string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="5841976283789481311">"Utilisez votre visage pour déverrouiller votre téléphone ou autoriser des achats.\n\nRemarque : Vous ne pouvez pas utiliser votre visage pour déverrouiller cet appareil. Pour obtenir plus d\'information, communiquez avec l\'administrateur de votre organisation."</string>
- <string name="security_settings_face_enroll_introduction_message_setup" msgid="765965418187421753">"Utilisez votre visage pour déverrouiller votre téléphone, autoriser vos achats et vous connecter à des applications"</string>
+ <string name="security_settings_face_enroll_introduction_message_setup" msgid="765965418187421753">"Utilisez votre visage pour déverrouiller votre téléphone, autoriser vos achats et vous connecter à des applis"</string>
<string name="security_settings_face_enroll_introduction_info_title" msgid="7120796118179406944"></string>
<string name="security_settings_face_enroll_introduction_info_glasses" msgid="2733870453868907471"></string>
<string name="security_settings_face_enroll_introduction_info_consent_glasses" msgid="6303917184145586880"></string>
@@ -353,9 +354,9 @@
<string name="security_settings_face_settings_remove_face_model" msgid="812920481303980846">"Supprimer le modèle facial"</string>
<string name="security_settings_face_settings_enroll" msgid="3726313826693825029">"Config. le Déverr. par reconn. faciale"</string>
<string name="security_settings_face_settings_remove_dialog_title" msgid="2899669764446232715">"Supprimer le modèle facial?"</string>
- <string name="security_settings_face_settings_remove_dialog_details" msgid="916131485988121592">"Votre modèle facial sera supprimé définitivement de façon sécurisée.\n\nVous devrez ensuite utiliser votre NIP, votre schéma ou votre mot de passe pour déverrouiller votre téléphone ou pour vous authentifier dans les applications."</string>
+ <string name="security_settings_face_settings_remove_dialog_details" msgid="916131485988121592">"Votre modèle facial sera supprimé définitivement de façon sécurisée.\n\nVous devrez ensuite utiliser votre NIP, votre schéma ou votre mot de passe pour déverrouiller votre téléphone ou pour vous authentifier dans les applis."</string>
<string name="security_settings_face_settings_remove_dialog_details_convenience" msgid="475568135197468990">"Votre modèle facial sera supprimé de façon permanente et sécurisée.\n\nPour déverrouiller votre téléphone, vous aurez ensuite besoin de ce qui suit : NIP, schéma ou mot de passe."</string>
- <string name="security_settings_face_remove_dialog_details_fingerprint" msgid="7609582230650860974">"Votre modèle facial sera supprimé définitivement de façon sécurisée.\n\nVous devrez ensuite utiliser votre empreinte digitale, votre NIP, votre schéma ou votre mot de passe pour déverrouiller votre téléphone ou pour vous authentifier dans les applications."</string>
+ <string name="security_settings_face_remove_dialog_details_fingerprint" msgid="7609582230650860974">"Votre modèle facial sera supprimé définitivement de façon sécurisée.\n\nVous devrez ensuite utiliser votre empreinte digitale, votre NIP, votre schéma ou votre mot de passe pour déverrouiller votre téléphone ou pour vous authentifier dans les applis."</string>
<string name="security_settings_face_remove_dialog_details_fingerprint_conv" msgid="2627374706274503259">"Votre modèle facial sera supprimé de façon permanente et sécurisée.\n\nVous devrez ensuite utiliser votre empreinte digitale, votre NIP, votre schéma ou votre mot de passe pour déverrouiller votre téléphone."</string>
<string name="security_settings_face_settings_context_subtitle" msgid="8284262560781442403">"Utilisez le déverrouillage par reconnaissance faciale pour déverrouiller votre téléphone"</string>
<string name="security_settings_fingerprint" msgid="6387775386189204201">"Empreinte digitale"</string>
@@ -378,7 +379,7 @@
<string name="security_settings_fingerprint_enroll_introduction_agree" msgid="4068276083536421828">"J\'accepte"</string>
<string name="setup_fingerprint_enroll_skip_title" msgid="2473807887676247264">"Ignorer la configuration?"</string>
<string name="setup_fingerprint_enroll_skip_after_adding_lock_text" msgid="2412645723804450304">"La configuration de l\'empreinte digitale ne prend qu\'une minute ou deux. Si vous ignorez cette étape, vous pourrez ajouter votre empreinte digitale plus tard dans les paramètres."</string>
- <string name="security_settings_fingerprint_v2_enroll_introduction_message_setup" msgid="6255210343107484206">"Si vous voyez cette icône, utilisez votre empreinte pour vous authentifier (comme pour vous connecter à des applications ou approuver un achat)"</string>
+ <string name="security_settings_fingerprint_v2_enroll_introduction_message_setup" msgid="6255210343107484206">"Si vous voyez cette icône, utilisez votre empreinte pour vous authentifier (comme pour vous connecter à des applis ou approuver un achat)"</string>
<string name="security_settings_fingerprint_v2_enroll_introduction_footer_title_1" msgid="4360262371633254407">"Gardez à l\'esprit"</string>
<string name="security_settings_fingerprint_v2_enroll_introduction_footer_title_2" msgid="2580899232734177771">"Fonctionnement"</string>
<string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_2" msgid="5909924864816776516">"Le Déverrouillage par empreinte digitale crée un modèle unique de votre empreinte digitale pour vérifier qu\'il s\'agit bien de vous. Pour créer ce modèle durant la configuration, l\'appareil vous demandera de capturer des images de votre empreinte digitale dans différentes positions."</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"<xliff:g id="WATCH">%s</xliff:g> et visage ajoutés"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Empreinte digitale, <xliff:g id="WATCH">%s</xliff:g> et visage ajoutés"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Empreintes digitales, <xliff:g id="WATCH">%s</xliff:g> et visage ajoutés"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Ces données sont nécessaires comme la vérification de l\'identité est activée"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Déverrouiller Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Montre ajoutée"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Configurer votre montre"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"En savoir plus sur le Déverrouillage à l\'aide d\'une montre"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Ajouter une montre"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Retirer une montre"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Déverrouillage empreinte digitale et reconnaissance faciale"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Déverr. par reconn. faciale et empreinte digitale"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Déverr. par reconn. faciale et empreinte digitale pour le travail"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Configuration requise"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Empreintes digitales et visage ajoutés"</string>
@@ -446,7 +448,7 @@
<string name="biometric_settings_category_ways_to_unlock" msgid="3384767901580915266">"Méthodes de déverrouillage"</string>
<string name="biometric_settings_category_use_face_fingerprint" msgid="4377659744376863913">"Utiliser le visage ou l\'empreinte digitale pour"</string>
<string name="biometric_settings_use_biometric_unlock_phone" msgid="8180914579885804358">"Déverrouiller votre téléphone"</string>
- <string name="biometric_settings_use_biometric_for_apps" msgid="6201168728906364189">"Vérifier votre identité dans les applications"</string>
+ <string name="biometric_settings_use_biometric_for_apps" msgid="6201168728906364189">"Vérifier votre identité dans les applis"</string>
<string name="biometric_settings_use_face_preference_summary" msgid="1821648836899408477">"Utilisation du visage"</string>
<string name="biometric_settings_use_fingerprint_preference_summary" msgid="6077762097826050165">"Utilisation de l\'empreinte digitale"</string>
<string name="biometric_settings_use_face_or_fingerprint_preference_summary" msgid="3029102492674234728">"Utilisation du visage ou de l\'empreinte digitale"</string>
@@ -532,7 +534,7 @@
<string name="fingerprint_enroll_button_add" msgid="6652490687672815760">"Ajouter une empreinte"</string>
<string name="fingerprint_enroll_button_next" msgid="1034110123277869532">"Suivant"</string>
<string name="security_fingerprint_disclaimer_lockscreen_disabled_1" msgid="294529888220959309">"L\'option de verrouillage de l\'écran est désactivée. Pour en savoir plus, communiquez avec l\'administrateur de votre organisation."</string>
- <string name="security_fingerprint_disclaimer_lockscreen_disabled_2" msgid="8070829069640846543">"Vous pouvez toujours utiliser votre empreinte digitale pour autoriser des achats et accéder à des applications."</string>
+ <string name="security_fingerprint_disclaimer_lockscreen_disabled_2" msgid="8070829069640846543">"Vous pouvez toujours utiliser votre empreinte digitale pour autoriser des achats et accéder à des applis."</string>
<string name="security_settings_fingerprint_enroll_lift_touch_again" msgid="2590665137265458789">"Relevez le doigt, puis touchez le capteur à nouveau"</string>
<string name="security_settings_fingerprint_bad_calibration_title" msgid="3073145395701953620">"Impossible d\'utiliser le capteur d\'empreintes digitales"</string>
<string name="security_settings_fingerprint_bad_calibration" msgid="304585658839584958">"Consultez un fournisseur de services de réparation."</string>
@@ -546,7 +548,7 @@
<string name="privacy_header" msgid="5526002421324257007">"Confidentialité"</string>
<string name="work_profile_category_header" msgid="85707750968948517">"Profil professionnel"</string>
<string name="private_space_title" msgid="1752064212078238723">"Espace privé"</string>
- <string name="private_space_summary" msgid="2274405892301976238">"Verrouiller et cacher les applications privées"</string>
+ <string name="private_space_summary" msgid="2274405892301976238">"Verrouiller et cacher les applis privées"</string>
<string name="private_space_description" msgid="4059594203775816136">"Conservez les applis privées dans un espace séparé que vous pouvez masquer ou verrouiller"</string>
<string name="private_space_lock_title" msgid="7230836881433350526">"Verrouillage de l\'espace privé"</string>
<string name="private_space_one_lock_summary" msgid="2106513606571219068">"Vous pouvez déverrouiller votre Espace privé de la même manière que votre appareil ou choisir un autre type de verrouillage"</string>
@@ -573,14 +575,14 @@
<string name="private_space_screen_lock_summary" msgid="394837965365561070">"Identique au verrouillage de l\'écran de l\'appareil"</string>
<string name="private_space_new_lock_title" msgid="9056139964133004094">"Choisir un nouveau verrou pour l\'Espace privé?"</string>
<string name="private_space_new_lock_message" msgid="3117703578905489206">"Vous devrez saisir le NIP, le schéma ou le mot de passe de votre appareil sur l\'écran suivant"</string>
- <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Verrouiller automatiquement l\'Espace privé"</string>
+ <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Verrouiller automatiquement l\'espace privé"</string>
<string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Vous pouvez verrouiller automatiquement votre Espace privé si vous n\'avez pas utilisé votre appareil pendant un certain temps"</string>
<string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Chaque fois que l\'appareil se verrouille"</string>
<string name="private_space_auto_lock_after_inactivity" msgid="7107814517866649733">"5 min. après la mise veille de l\'écran"</string>
<string name="private_space_auto_lock_after_device_restart" msgid="288755768725895029">"Seul. après le redémarrage de l\'appareil"</string>
<string name="private_space_hide_page_title" msgid="3364639176511877414">"Masquer l\'espace privé"</string>
<string name="private_space_hide_when_locked" msgid="6219472348124151797">"Masquer l\'espace privé lorsqu\'il est verrouillé"</string>
- <string name="private_space_hide_page_summary" msgid="6247773353685839242">"Pour empêcher les autres personnes de savoir que vous avez un Espace privé sur votre appareil, vous pouvez le masquer à partir de votre liste d\'applications"</string>
+ <string name="private_space_hide_page_summary" msgid="6247773353685839242">"Pour empêcher les autres personnes de savoir que vous avez un Espace privé sur votre appareil, vous pouvez le masquer à partir de votre liste d\'applis"</string>
<string name="private_space_access_header" msgid="1077082416567150819">"Accéder à l\'Espace privé lorsqu\'il est masqué"</string>
<string name="private_space_search_description" msgid="1538155187658429618">"Dans la barre de recherche, saisissez « Espace privé »"</string>
<string name="private_space_tap_tile_description" msgid="6173556870938267361">"Touchez "<b>"Espace privé"</b></string>
@@ -607,18 +609,16 @@
<string name="private_space_cancel_label" msgid="379259667396956886">"Annuler"</string>
<string name="private_space_setup_button_label" msgid="2094882154623560585">"Configuration"</string>
<string name="private_space_setup_title" msgid="2272968244329821450">"Espace privé"</string>
- <string name="private_space_hide_apps_summary" msgid="4418722947376042418">"Masquez ou verrouillez les applications privées dans un espace à part. Utilisez un compte Google dédié pour plus de sécurité."</string>
+ <string name="private_space_hide_apps_summary" msgid="4418722947376042418">"Masquez ou verrouillez les applis privées dans un espace à part. Utilisez un compte Google dédié pour plus de sécurité."</string>
<string name="private_space_setup_sub_header" msgid="550476876393954356">"Fonctionnement"</string>
<string name="private_space_separate_account_text" msgid="790319706810190320"><b>"Créer un compte Google pour votre espace"</b>\n"Si vous utilisez un compte dédié, cela permet d\'éviter que des fichiers, des photos et des courriels synchronisés se retrouvent en dehors de votre espace"</string>
- <string name="private_space_protected_lock_text" msgid="9123250938334372735"><b>"Configurez un verrouillage"</b>\n"Verrouillez votre espace pour empêcher d\'autres personnes d\'y accéder"</string>
+ <string name="private_space_protected_lock_text" msgid="9123250938334372735"><b>"Configurer un verrouillage"</b>\n"Verrouillez votre espace pour empêcher d\'autres personnes d\'y accéder"</string>
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Installer les applis"</b>\n"Installez les applis que vous voulez garder privées dans votre espace"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Garder à l\'esprit"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Les applis s\'arrêtent lorsque vous verrouillez votre espace"</b>\n"Lorsque vous verrouillez votre espace, les applis qui s\'y trouvent sont arrêtées, et vous ne recevez aucune notification de leur part"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
- <string name="private_space_learn_more_text" msgid="5314198983263277586">"En savoir plus sur l\'Espace privé"</string>
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Les espaces privés ne conviennent pas aux applis qui doivent être exécutées en arrière-plan ou qui doivent envoyer des notifications critiques, comme les applis médicales. En effet, les notifications et les activités en arrière-plan sont interrompues lorsque votre espace est verrouillé.\n\nLes applis contenues dans votre espace privé n\'apparaîtront pas dans le gestionnaire des autorisations, sur le tableau de bord de confidentialité ni dans les autres paramètres quand l\'espace privé est verrouillé.\n\nVotre espace privé ne peut être déplacé vers un autre appareil. Vous devrez créer un autre espace privé si vous souhaitez l\'utiliser sur un autre appareil.\n\nToute personne qui connecte votre appareil à un ordinateur ou installe des applis nuisibles sur votre appareil peut être en mesure d\'accéder à votre espace privé."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Les espaces privés ne conviennent pas aux applis qui doivent être exécutées en arrière-plan ou qui doivent envoyer des notifications critiques, comme les applis médicales. En effet, les notifications et les activités en arrière-plan sont interrompues lorsque votre espace est verrouillé.\n\nLes applis contenues dans votre espace privé n\'apparaîtront pas dans le gestionnaire des autorisations, sur le tableau de bord de confidentialité ni dans les autres paramètres quand l\'espace privé est verrouillé.\n\nVotre espace privé ne peut être restauré sur un autre appareil. Vous devrez créer un autre espace si vous souhaitez l\'utiliser sur un autre appareil.\n\nToute personne qui connecte votre appareil à un ordinateur ou installe des applis malveillantes sur votre appareil peut être en mesure d\'accéder à votre espace privé."</string>
+ <string name="private_space_learn_more_text" msgid="5314198983263277586">"En savoir plus sur l\'espace privé"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"L\'opération prendra quelques instants"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Configuration de l\'Espace privé en cours…"</string>
<string name="private_space_error_screen_title" msgid="739381738044418346">"Impossible de configurer un Espace privé"</string>
@@ -629,7 +629,7 @@
<string name="private_space_set_lock_label" msgid="1790408277477408475">"Sélectionner un nouveau verrouillage"</string>
<string name="private_space_wait_screen_title" msgid="1535431437075585381">"Un instant…"</string>
<string name="private_space_success_title" msgid="4351904015352046118">"Tout est prêt!"</string>
- <string name="private_space_access_text" msgid="4433988836344567888">"Pour accéder à votre Espace privé, accédez à votre liste d\'applications, puis faites défiler vers le bas"</string>
+ <string name="private_space_access_text" msgid="4433988836344567888">"Pour accéder à votre Espace privé, accédez à votre liste d\'applis, puis faites défiler vers le bas"</string>
<string name="private_space_done_label" msgid="1020482651595246071">"Terminé"</string>
<string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Faites défiler l\'écran vers le bas pour trouver l\'Espace privé"</string>
<string name="private_space_retry_signin_title" msgid="8090276618867918844">"Se connecter"</string>
@@ -647,7 +647,7 @@
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Vous avez ajouté le nombre maximal d\'empreintes digitales"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Impossible d\'ajouter des empreintes digitales"</string>
<string name="fingerprint_delete_title" msgid="5412123164503407098">"Supprimer « <xliff:g id="FINGERPRINT_ID">%1$s</xliff:g> »"</string>
- <string name="fingerprint_last_delete_message_profile_challenge" msgid="4104208067277655068">"Vous ne pourrez pas utiliser votre empreinte digitale pour déverrouiller votre profil professionnel, autoriser vos achats ni vous connecter à des applications professionnelles."</string>
+ <string name="fingerprint_last_delete_message_profile_challenge" msgid="4104208067277655068">"Vous ne pourrez pas utiliser votre empreinte digitale pour déverrouiller votre profil professionnel, autoriser vos achats ni vous connecter à des applis professionnelles."</string>
<string name="encryption_settings_title" msgid="2848716008695618360">"Chiffrement"</string>
<string name="encrypted_summary" msgid="545623487587251207">"Chiffrement activé"</string>
<string name="no_screen_lock_issue_title" msgid="1814109590692792891">"Configurer le verrouillage de l\'écran"</string>
@@ -703,68 +703,68 @@
<string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Un schéma protège votre téléphone en cas de perte ou de vol"</string>
<string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Un schéma protège votre téléphone en cas de perte ou de vol.<xliff:g id="EMPTY_LINE">
-</xliff:g>Cette fonctionnalité supprime également le modèle d\'empreinte digitale stocké sur votre appareil. Vous ne pourrez pas utiliser votre empreinte digitale pour vous authentifier dans les applications."</string>
+</xliff:g>Cette fonctionnalité supprime également le modèle d\'empreinte digitale stocké sur votre appareil. Vous ne pourrez pas utiliser votre empreinte digitale pour vous authentifier dans les applis."</string>
<string name="unlock_disable_frp_warning_content_pattern_face" msgid="4699508435412336378">"Un schéma protège votre téléphone en cas de perte ou de vol.<xliff:g id="EMPTY_LINE">
-</xliff:g>Votre modèle facial sera également supprimé définitivement de façon sécurisée. Vous ne pourrez pas utiliser votre visage pour vous authentifier dans les applications."</string>
+</xliff:g>Votre modèle facial sera également supprimé définitivement de façon sécurisée. Vous ne pourrez pas utiliser votre visage pour vous authentifier dans les applis."</string>
<string name="unlock_disable_frp_warning_content_pattern_face_fingerprint" msgid="7049706229344804972">"Un schéma protège votre téléphone en cas de perte ou de vol.<xliff:g id="EMPTY_LINE">
-</xliff:g>Cette fonctionnalité supprime le modèle d\'empreinte digitale stocké sur votre appareil. Votre modèle facial sera également supprimé définitivement de façon sécurisée. Vous ne pourrez pas utiliser votre visage ni votre empreinte digitale pour vous authentifier dans les applications."</string>
+</xliff:g>Cette fonctionnalité supprime le modèle d\'empreinte digitale stocké sur votre appareil. Votre modèle facial sera également supprimé définitivement de façon sécurisée. Vous ne pourrez pas utiliser votre visage ni votre empreinte digitale pour vous authentifier dans les applis."</string>
<string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"Un NIP protège votre téléphone en cas de perte ou de vol"</string>
<string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"Un NIP protège votre téléphone en cas de perte ou de vol.<xliff:g id="EMPTY_LINE">
-</xliff:g>Cette fonctionnalité supprime également le modèle d\'empreinte digitale stocké sur votre appareil. Vous ne pourrez pas utiliser votre empreinte digitale pour vous authentifier dans les applications."</string>
+</xliff:g>Cette fonctionnalité supprime également le modèle d\'empreinte digitale stocké sur votre appareil. Vous ne pourrez pas utiliser votre empreinte digitale pour vous authentifier dans les applis."</string>
<string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"Un NIP protège votre téléphone en cas de perte ou de vol.<xliff:g id="EMPTY_LINE">
-</xliff:g>Votre modèle facial sera également supprimé définitivement de façon sécurisée. Vous ne pourrez pas utiliser votre visage pour vous authentifier dans les applications."</string>
+</xliff:g>Votre modèle facial sera également supprimé définitivement de façon sécurisée. Vous ne pourrez pas utiliser votre visage pour vous authentifier dans les applis."</string>
<string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"Un NIP protège votre téléphone en cas de perte ou de vol.<xliff:g id="EMPTY_LINE">
-</xliff:g>Cette fonctionnalité supprime le modèle d\'empreinte digitale stocké sur votre appareil. Votre modèle facial sera également supprimé définitivement de façon sécurisée. Vous ne pourrez pas utiliser votre visage ni votre empreinte digitale pour vous authentifier dans les applications."</string>
+</xliff:g>Cette fonctionnalité supprime le modèle d\'empreinte digitale stocké sur votre appareil. Votre modèle facial sera également supprimé définitivement de façon sécurisée. Vous ne pourrez pas utiliser votre visage ni votre empreinte digitale pour vous authentifier dans les applis."</string>
<string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Un mot de passe protège votre téléphone en cas de perte ou de vol"</string>
<string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Un mot de passe protège votre téléphone en cas de perte ou de vol.<xliff:g id="EMPTY_LINE">
-</xliff:g>Cette fonctionnalité supprime également le modèle d\'empreinte digitale stocké sur votre appareil. Vous ne pourrez pas utiliser votre empreinte digitale pour vous authentifier dans les applications."</string>
+</xliff:g>Cette fonctionnalité supprime également le modèle d\'empreinte digitale stocké sur votre appareil. Vous ne pourrez pas utiliser votre empreinte digitale pour vous authentifier dans les applis."</string>
<string name="unlock_disable_frp_warning_content_password_face" msgid="1811067332335964495">"Un mot de passe protège votre téléphone en cas de perte ou de vol.<xliff:g id="EMPTY_LINE">
-</xliff:g>Votre modèle facial sera également supprimé définitivement de façon sécurisée. Vous ne pourrez pas utiliser votre visage pour vous authentifier dans les applications."</string>
+</xliff:g>Votre modèle facial sera également supprimé définitivement de façon sécurisée. Vous ne pourrez pas utiliser votre visage pour vous authentifier dans les applis."</string>
<string name="unlock_disable_frp_warning_content_password_face_fingerprint" msgid="7063649456205159491">"Un mot de passe protège votre téléphone en cas de perte ou de vol.<xliff:g id="EMPTY_LINE">
-</xliff:g>Cette fonctionnalité supprime le modèle d\'empreinte digitale stocké sur votre appareil. Votre modèle facial sera également supprimé définitivement de façon sécurisée. Vous ne pourrez pas utiliser votre visage ni votre empreinte digitale pour vous authentifier dans les applications."</string>
+</xliff:g>Cette fonctionnalité supprime le modèle d\'empreinte digitale stocké sur votre appareil. Votre modèle facial sera également supprimé définitivement de façon sécurisée. Vous ne pourrez pas utiliser votre visage ni votre empreinte digitale pour vous authentifier dans les applis."</string>
<string name="unlock_disable_frp_warning_content_unknown" msgid="8903568674104115231">"Les fonctionnalités de protection de l\'appareil ne fonctionneront pas sans votre verrouillage d\'écran."</string>
<string name="unlock_disable_frp_warning_content_unknown_fingerprint" msgid="6542744110902941189">"Les fonctionnalités de protection de l\'appareil ne fonctionneront pas sans votre verrouillage d\'écran.<xliff:g id="EMPTY_LINE">
-</xliff:g>Cette fonctionnalité supprime également le modèle d\'empreinte digitale stocké sur votre appareil. Vous ne pourrez pas utiliser votre empreinte digitale pour vous authentifier dans les applications."</string>
+</xliff:g>Cette fonctionnalité supprime également le modèle d\'empreinte digitale stocké sur votre appareil. Vous ne pourrez pas utiliser votre empreinte digitale pour vous authentifier dans les applis."</string>
<string name="unlock_disable_frp_warning_content_unknown_face" msgid="4559917661432267841">"Les fonctionnalités de protection de l\'appareil ne fonctionneront pas sans votre verrouillage d\'écran.<xliff:g id="EMPTY_LINE">
-</xliff:g>Votre modèle facial sera également supprimé définitivement de façon sécurisée. Vous ne pourrez pas utiliser votre visage pour vous authentifier dans les applications."</string>
+</xliff:g>Votre modèle facial sera également supprimé définitivement de façon sécurisée. Vous ne pourrez pas utiliser votre visage pour vous authentifier dans les applis."</string>
<string name="unlock_disable_frp_warning_content_unknown_face_fingerprint" msgid="3779582301453677644">"Les fonctionnalités de protection de l\'appareil ne fonctionneront pas sans votre verrouillage d\'écran.<xliff:g id="EMPTY_LINE">
-</xliff:g>Cette fonctionnalité supprime le modèle d\'empreinte digitale stocké sur votre appareil. Votre modèle facial sera également supprimé définitivement de façon sécurisée. Vous ne pourrez pas utiliser votre visage ni votre empreinte digitale pour vous authentifier dans les applications."</string>
+</xliff:g>Cette fonctionnalité supprime le modèle d\'empreinte digitale stocké sur votre appareil. Votre modèle facial sera également supprimé définitivement de façon sécurisée. Vous ne pourrez pas utiliser votre visage ni votre empreinte digitale pour vous authentifier dans les applis."</string>
<string name="unlock_disable_frp_warning_content_authbound_keys" msgid="6397327696248819663">"Le verrouillage de l\'écran sera retiré.<xliff:g id="EMPTY_LINE_0">
</xliff:g>Le Paiement sans contact ne sera pas accessible.<xliff:g id="EMPTY_LINE_1">
-</xliff:g>Le Portefeuille, le paiement et d\'autres applications nécessitant une authentification pourraient ne pas fonctionner correctement."</string>
+</xliff:g>Le Portefeuille, le paiement et d\'autres applis nécessitant une authentification pourraient ne pas fonctionner correctement."</string>
<string name="unlock_disable_frp_warning_content_fingerprint_authbound_keys" msgid="7158076544627335461">"Le verrouillage de l\'écran et le Déverrouillage par empreinte digitale seront retirés.<xliff:g id="EMPTY_LINE_0">
</xliff:g>Le Paiement sans contact ne sera pas accessible.<xliff:g id="EMPTY_LINE_1">
-</xliff:g>Le Portefeuille, le paiement et d\'autres applications nécessitant une authentification pourraient ne pas fonctionner correctement."</string>
+</xliff:g>Le Portefeuille, le paiement et d\'autres applis nécessitant une authentification pourraient ne pas fonctionner correctement."</string>
<string name="unlock_disable_frp_warning_content_face_authbound_keys" msgid="8120786951217029818">"Le verrouillage de l\'écran et le Déverrouillage par reconnaissance faciale seront retirés.<xliff:g id="EMPTY_LINE_0">
</xliff:g>Le Paiement sans contact ne sera pas accessible.<xliff:g id="EMPTY_LINE_1">
-</xliff:g>Le Portefeuille, le paiement et d\'autres applications nécessitant une authentification pourraient ne pas fonctionner correctement."</string>
+</xliff:g>Le Portefeuille, le paiement et d\'autres applis nécessitant une authentification pourraient ne pas fonctionner correctement."</string>
<string name="unlock_disable_frp_warning_content_face_fingerprint_authbound_keys" msgid="1574263040292024543">"Le verrouillage de l\'écran et le Déverrouillage par reconnaissance faciale et par empreinte digitale seront retirés.<xliff:g id="EMPTY_LINE_0">
</xliff:g>Le Paiement sans contact ne sera pas accessible.<xliff:g id="EMPTY_LINE_1">
-</xliff:g>Le Portefeuille, le paiement et d\'autres applications nécessitant une authentification pourraient ne pas fonctionner correctement."</string>
+</xliff:g>Le Portefeuille, le paiement et d\'autres applis nécessitant une authentification pourraient ne pas fonctionner correctement."</string>
<string name="unlock_disable_frp_warning_ok" msgid="6173427638951230842">"Supprimer"</string>
<string name="unlock_footer_high_complexity_requested" msgid="4471274783909915352">"<xliff:g id="APP_NAME">%1$s</xliff:g> recommande d\'utiliser un NIP ou un mot de passe robuste et risque de ne pas fonctionner comme prévu si vous n\'en définissez pas un"</string>
<string name="unlock_footer_medium_complexity_requested" msgid="5515870066751600640">"<xliff:g id="APP_NAME">%1$s</xliff:g> recommande d\'utiliser un nouveau NIP ou mot de passe et risque de ne pas fonctionner comme prévu si vous n\'en définissez pas un"</string>
<string name="unlock_footer_low_complexity_requested" msgid="2517656037576567971">"<xliff:g id="APP_NAME">%1$s</xliff:g> recommande d\'utiliser un nouveau schéma, NIP ou mot de passe et risque de ne pas fonctionner comme prévu si vous n\'en définissez pas un"</string>
- <string name="unlock_footer_none_complexity_requested" msgid="8534900170428140529">"L\'application <xliff:g id="APP_NAME">%1$s</xliff:g> vous recommande d\'utiliser un nouveau mode de verrouillage de l\'écran"</string>
+ <string name="unlock_footer_none_complexity_requested" msgid="8534900170428140529">"L\'appli <xliff:g id="APP_NAME">%1$s</xliff:g> vous recommande d\'utiliser un nouveau mode de verrouillage de l\'écran"</string>
<string name="lock_failed_attempts_before_wipe" msgid="6874652886647631418">"Réessayez. Tentative <xliff:g id="CURRENT_ATTEMPTS">%1$d</xliff:g> sur <xliff:g id="TOTAL_ATTEMPTS">%2$d</xliff:g>."</string>
<string name="lock_last_attempt_before_wipe_warning_title" msgid="7450322567217745999">"Vos données seront supprimées"</string>
<string name="lock_last_pattern_attempt_before_wipe_device" msgid="5816668400104558952">"Si vous entrez un schéma incorrect à la prochaine tentative, les données de cet appareil seront supprimées."</string>
@@ -798,9 +798,9 @@
<string name="lockpassword_credential_changed" msgid="5934778179732392028">"Le verrouillage d\'écran a déjà été modifié. Réessayez avec le nouveau verrouillage d\'écran."</string>
<string name="lockpattern_tutorial_cancel_label" msgid="775215267818384016">"Annuler"</string>
<string name="lockpattern_tutorial_continue_label" msgid="1329049481210689408">"Suivant"</string>
- <string name="manage_device_admin" msgid="1044620606203916275">"Applications d\'administration d\'appareils"</string>
- <string name="number_of_device_admins_none" msgid="152926922020437312">"Aucune application active"</string>
- <string name="number_of_device_admins" msgid="3402909995362162876">"{count,plural, =1{# application active}one{# application active}other{# applications actives}}"</string>
+ <string name="manage_device_admin" msgid="1044620606203916275">"Applis d\'administration d\'appareils"</string>
+ <string name="number_of_device_admins_none" msgid="152926922020437312">"Aucune appli active"</string>
+ <string name="number_of_device_admins" msgid="3402909995362162876">"{count,plural, =1{# appli active}one{# appli active}other{# applis actives}}"</string>
<string name="manage_trust_agents" msgid="6410149930029992356">"Agents de confiance"</string>
<string name="disabled_because_no_backup_security" msgid="4998095356607488854">"Pour l\'utiliser, définissez d\'abord un écran de verrouillage"</string>
<string name="manage_trust_agents_summary" msgid="6423843123607674286">"Aucun"</string>
@@ -828,8 +828,8 @@
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Associer et connecter"</string>
<string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Si la fonctionnalité Bluetooth est activée, votre appareil peut communiquer avec d\'autres appareils Bluetooth à proximité"</string>
<string name="bluetooth_empty_list_bluetooth_off_auto_on_available" msgid="3430864468105204282">"Si le Bluetooth est activé, votre appareil peut communiquer avec d\'autres appareils Bluetooth à proximité. Les fonctionnalités comme Partage rapide et Localiser mon appareil utilisent le Bluetooth."</string>
- <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Lorsque le Bluetooth est activé, votre appareil peut communiquer avec d\'autres appareils Bluetooth à proximité.\n\nPour améliorer l\'expérience d\'utilisation de l\'appareil, les applications et les services peuvent continuer de rechercher les appareils à proximité en tout temps, même si le Bluetooth est désactivé. Cette autorisation peut permettre, par exemple, d\'améliorer les fonctionnalités et les services reposant sur la localisation. Vous pouvez modifier cette option dans les paramètres de recherche Bluetooth."</string>
- <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Si le Bluetooth est activé, votre appareil peut communiquer avec d\'autres appareils Bluetooth à proximité. Les fonctionnalités comme Partage rapide et Localiser mon appareil utilisent le Bluetooth.\n\nLes applications et les services peuvent continuer de rechercher les appareils à proximité en tout temps, même si le Bluetooth est désactivé. Cela peut permettre, par exemple, d\'améliorer les fonctionnalités et les services reposant sur la localisation. Vous pouvez modifier cette option dans les paramètres de recherche d\'appareils Bluetooth."</string>
+ <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Lorsque le Bluetooth est activé, votre appareil peut communiquer avec d\'autres appareils Bluetooth à proximité.\n\nPour améliorer l\'expérience d\'utilisation de l\'appareil, les applis et les services peuvent continuer de rechercher les appareils à proximité en tout temps, même si le Bluetooth est désactivé. Cette autorisation peut permettre, par exemple, d\'améliorer les fonctionnalités et les services reposant sur la localisation. Vous pouvez modifier cette option dans les paramètres de recherche Bluetooth."</string>
+ <string name="bluetooth_scanning_on_info_message_auto_on_available" msgid="7792443293031247638">"Si le Bluetooth est activé, votre appareil peut communiquer avec d\'autres appareils Bluetooth à proximité. Les fonctionnalités comme Partage rapide et Localiser mon appareil utilisent le Bluetooth.\n\nLes applis et les services peuvent continuer de rechercher les appareils à proximité en tout temps, même si le Bluetooth est désactivé. Cela peut permettre, par exemple, d\'améliorer les fonctionnalités et les services reposant sur la localisation. Vous pouvez modifier cette option dans les paramètres de recherche d\'appareils Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Modifier"</string>
<string name="device_details_title" msgid="1155622417516195481">"Détails de l\'appareil"</string>
<string name="bluetooth_device_keyboard_settings_preference_title" msgid="3411693160917620519">"Paramètres du clavier"</string>
@@ -837,11 +837,11 @@
<string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Adresse Bluetooth de l\'appareil :\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
<string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Oublier l\'appareil?"</string>
<string name="remove_association_button" msgid="5004208145998061135">"Retirer l\'association"</string>
- <string name="bluetooth_companion_app_remove_association_dialog_title" msgid="1344518601377991897">"Déconnecter l\'application?"</string>
- <string name="bluetooth_companion_app_body" msgid="8442643629075687761">"L\'application <xliff:g id="APP_NAME">%1$s</xliff:g> ne se connectera plus à votre <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string>
+ <string name="bluetooth_companion_app_remove_association_dialog_title" msgid="1344518601377991897">"Déconnecter l\'appli?"</string>
+ <string name="bluetooth_companion_app_body" msgid="8442643629075687761">"L\'appli <xliff:g id="APP_NAME">%1$s</xliff:g> ne se connectera plus à votre <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string>
<string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Expérimental. Améliore l\'audio."</string>
<string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Oublier l\'appareil"</string>
- <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Déconnecter l\'application"</string>
+ <string name="bluetooth_companion_app_remove_association_confirm_button" msgid="76323555527926915">"Déconnecter l\'appli"</string>
<string name="bluetooth_max_connected_audio_devices_string" msgid="3114156958598821615">"Maximum d\'appareils audio Bluetooth connectés"</string>
<string name="bluetooth_max_connected_audio_devices_dialog_title" msgid="4056811727247312473">"Sélectionnez le nombre maximal d\'appareils Bluetooth connectés"</string>
<string name="nfc_verbose_vendor_log_title" msgid="5554505631122964628">"Journal de débogage détaillé des fournisseurs CCP"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Redémarrer l\'appareil?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Les détails de la journalisation CCP sont enregistrés à des fins de développement uniquement. Des données CCP supplémentaires sont comprises dans les rapports de bogue, qui peuvent contenir des renseignements confidentiels. Redémarrez votre appareil pour modifier ce paramètre."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Redémarrer"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Diffusion"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"miroir"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Activer l\'affichage sans fil"</string>
@@ -876,7 +906,7 @@
<string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> souhaite activer le Wi-Fi"</string>
<string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> souhaite désactiver le Wi-Fi"</string>
<string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Vérif. code à octets des applis déboguables"</string>
- <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Autoriser ART à vérifier le code à octets pour les applications débogables"</string>
+ <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Autoriser ART à vérifier le code à octets pour les applis débogables"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Afficher le taux d\'actualisation"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Affichez le taux d\'actualisation actuel"</string>
<string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Afficher le rapport HDR/SDR"</string>
@@ -884,10 +914,10 @@
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"CCP"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Déverrouillage de l\'appareil requis pour utiliser la technologie CCP"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
- <string name="android_beam_on_summary" msgid="6067720758437490896">"Prêt à partager le contenu de l\'application par CCP"</string>
+ <string name="android_beam_on_summary" msgid="6067720758437490896">"Prêt à partager le contenu de l\'appli par CCP"</string>
<string name="android_beam_off_summary" msgid="5693961375631325042">"Désactivé"</string>
<string name="nfc_disabled_summary" msgid="8737797364522502351">"Non accessible, car la CCP est désactivée"</string>
- <string name="android_beam_explained" msgid="5684416131846701256">"Lorsque cette fonctionnalité est activée, vous pouvez partager le contenu d\'une application avec un appareil compatible CCP en rapprochant les appareils. Vous pouvez, par exemple, partager des pages Web, des vidéos YouTube, des contacts et plus encore.\n\nIl vous suffit de rapprocher les appareils (en les plaçant généralement dos à dos), puis de toucher votre écran. L\'application détermine le contenu à transférer."</string>
+ <string name="android_beam_explained" msgid="5684416131846701256">"Lorsque cette fonctionnalité est activée, vous pouvez partager le contenu d\'une appli avec un appareil compatible CCP en rapprochant les appareils. Vous pouvez, par exemple, partager des pages Web, des vidéos YouTube, des contacts et plus encore.\n\nIl vous suffit de rapprocher les appareils (en les plaçant généralement dos à dos), puis de toucher votre écran. L\'appli détermine le contenu à transférer."</string>
<string name="wifi_settings" msgid="8313301946393559700">"Wi-Fi"</string>
<string name="wifi_settings_primary_switch_title" msgid="628360786662947258">"Utiliser le Wi-Fi"</string>
<string name="wifi_settings_category" msgid="3523464780563778321">"Paramètres Wi-Fi"</string>
@@ -906,7 +936,7 @@
<string name="wifi_wakeup_summary" msgid="5778059083790221465">"Le Wi‑Fi se réactivera automatiquement à proximité des réseaux de haute qualité qui sont enregistrés, comme celui de votre domicile"</string>
<string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Cette fonction n\'est pas accessible, car le service de localisation est désactivé. Activez la "<annotation id="link">"localisation"</annotation>"."</string>
<string name="wifi_install_credentials" msgid="5192903644606839972">"Installer des certificats"</string>
- <string name="wifi_scan_notify_text" msgid="7163137260385995873">"Pour améliorer la précision de la localisation, les applications et les services peuvent quand même rechercher des réseaux Wi‑Fi en tout temps, même lorsque le Wi‑Fi est désactivé. Cela pourrait être utilisé, par exemple, pour améliorer les fonctionnalités et les services qui utilisent la localisation. Vous pouvez modifier vos préférences dans les <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>paramètres de recherche de réseaux Wi-Fi<xliff:g id="LINK_END_1">LINK_END</xliff:g>."</string>
+ <string name="wifi_scan_notify_text" msgid="7163137260385995873">"Pour améliorer la précision de la localisation, les applis et les services peuvent quand même rechercher des réseaux Wi‑Fi en tout temps, même lorsque le Wi‑Fi est désactivé. Cela pourrait être utilisé, par exemple, pour améliorer les fonctionnalités et les services qui utilisent la localisation. Vous pouvez modifier vos préférences dans les <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>paramètres de recherche de réseaux Wi-Fi<xliff:g id="LINK_END_1">LINK_END</xliff:g>."</string>
<string name="wifi_scan_notify_text_scanning_off" msgid="7439201783168213149">"Pour améliorer la précision de la localisation, activez la recherche de réseaux Wi-Fi dans les <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>paramètres de recherche de réseaux Wi-Fi<xliff:g id="LINK_END_1">LINK_END</xliff:g>."</string>
<string name="wifi_cellular_data_fallback_title" msgid="2844653839490977040">"Passer automatiquement au réseau cellulaire"</string>
<string name="wifi_cellular_data_fallback_summary" msgid="7039944853033554386">"Utiliser le réseau de données cellulaires lorsque le réseau Wi-Fi n\'a pas accès à Internet. Des frais d\'utilisation de données peuvent s\'appliquer."</string>
@@ -920,11 +950,11 @@
<string name="wifi_empty_list_user_restricted" msgid="454861411536708709">"Vous n\'avez pas l\'autorisation de modifier le réseau Wi‑Fi."</string>
<string name="wifi_settings_scanning_required_title" msgid="1088663325396007484">"Activer la Recherche de réseaux Wi-Fi?"</string>
<string name="wifi_settings_scanning_required_summary" msgid="4770243653675416569">"Pour activer automatiquement le Wi-Fi, vous devez d\'abord activer la Recherche de réseaux Wi-Fi."</string>
- <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"La Recherche de réseaux Wi-Fi permet aux applications et aux services de rechercher les réseaux Wi-Fi en tout temps, même lorsque le Wi-Fi est désactivé. Cette autorisation peut permettre, par exemple, d\'améliorer les fonctionnalités et les services basés sur la localisation."</string>
+ <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"La Recherche de réseaux Wi-Fi permet aux applis et aux services de rechercher les réseaux Wi-Fi en tout temps, même lorsque le Wi-Fi est désactivé. Cette autorisation peut permettre, par exemple, d\'améliorer les fonctionnalités et les services basés sur la localisation."</string>
<string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Activer"</string>
<string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"La recherche de réseaux Wi-Fi est activée"</string>
<string name="wifi_settings_warning_wep_network" msgid="7032462362300663466">"Ce réseau utilise un protocole de sécurité plus ancien appelé WEP, qui est moins sécuritaire"</string>
- <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"L\'application <xliff:g id="NAME">%1$s</xliff:g> est bloquée"</string>
+ <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"L\'appli <xliff:g id="NAME">%1$s</xliff:g> est bloquée"</string>
<string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Ce réseau utilise un protocole de sécurité plus ancien et moins sécuritaire appelé WEP. Pour vous connecter quand même, vous pouvez autoriser les réseaux WEP."</string>
<string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="5891581925109256871">"Votre opérateur ne vous permet pas de vous connecter à ce réseau, car il utilise un protocole de sécurité plus ancien appelé WEP, qui est moins sécuritaire"</string>
<string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Autoriser WEP"</string>
@@ -1017,7 +1047,7 @@
<string name="wifi_ssid_too_long" msgid="5961719058705013875">"Le nom du réseau est trop long."</string>
<string name="wifi_no_domain_warning" msgid="1452133316532366772">"Vous devez spécifier un domaine."</string>
<string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Certificat obligatoire."</string>
- <string name="wifi_scan_always_turnon_message" msgid="2165909441512029921">"Pour améliorer la précision de la position et à d\'autres fins, <xliff:g id="APP_NAME">%1$s</xliff:g> souhaite activer la recherche de réseaux, même lorsque le Wi-Fi est désactivé.\n\nDonner cette autorisation à toutes les applications souhaitant activer la recherche de réseaux?"</string>
+ <string name="wifi_scan_always_turnon_message" msgid="2165909441512029921">"Pour améliorer la précision de la position et à d\'autres fins, <xliff:g id="APP_NAME">%1$s</xliff:g> souhaite activer la recherche de réseaux, même lorsque le Wi-Fi est désactivé.\n\nDonner cette autorisation à toutes les applis souhaitant activer la recherche de réseaux?"</string>
<string name="wifi_scan_always_turn_on_message_unknown" msgid="4903345360745717385">"Pour améliorer la précision de la position, une appli inconnue souhaite activer la recherche de réseaux, même lorsque le Wi-Fi est désactivé.\n\nAutoriser toutes les applis qui le demandent?"</string>
<string name="wifi_scan_always_confirm_allow" msgid="4154200627800959777">"Autoriser"</string>
<string name="wifi_scan_always_confirm_deny" msgid="6997087934558839256">"Refuser"</string>
@@ -1183,7 +1213,7 @@
<string name="screen_resolution_title" msgid="2690518693139811486">"Résolution de l\'écran"</string>
<string name="screen_resolution_option_high" msgid="2617496842852992853">"Haute résolution"</string>
<string name="screen_resolution_option_full" msgid="2694003735219114186">"Résolution intégrale"</string>
- <string name="screen_resolution_footer" msgid="6772341522952795647">"La résolution intégrale sollicite davantage votre pile. Le changement de résolution peut entraîner le redémarrage de certaines applications."</string>
+ <string name="screen_resolution_footer" msgid="6772341522952795647">"La résolution intégrale sollicite davantage votre pile. Le changement de résolution peut entraîner le redémarrage de certaines applis."</string>
<string name="screen_resolution_selected_a11y" msgid="6158451180032224977">"Sélectionnée"</string>
<string name="color_mode_title" msgid="8666690832113906028">"Couleurs"</string>
<string name="color_mode_option_natural" msgid="6192875655101283303">"Naturelles"</string>
@@ -1192,12 +1222,13 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptatives"</string>
<string name="brightness" msgid="6216871641021779698">"Niveau de luminosité"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Luminosité adaptative"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"À propos de la luminosité adaptative"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"La luminosité de votre écran s\'adapte automatiquement à votre environnement et à vos activités. Vous pouvez déplacer le curseur manuellement pour aider la luminosité adaptative à apprendre vos préférences."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Activé"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Désactivée"</string>
<string name="display_white_balance_title" msgid="2624544323029364713">"Afficher la balance des blancs"</string>
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
- <string name="fold_lock_behavior_title" msgid="786228803694268449">"Continuer à utiliser les applications lorsque l\'appareil est plié"</string>
+ <string name="fold_lock_behavior_title" msgid="786228803694268449">"Continuer à utiliser les applis lorsque l\'appareil est plié"</string>
<string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Désactiver la fréquence d\'images par défaut des jeux"</string>
<string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Désactivez la limitation de la fréquence d\'images maximale pour les jeux à <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
<string name="peak_refresh_rate_title" msgid="2056355754210341011">"Affichage fluide"</string>
@@ -1397,11 +1428,11 @@
<string name="storage_unmount_failure" msgid="3796912279003790607">"Impossible d\'éjecter <xliff:g id="NAME">%1$s</xliff:g> en toute sécurité"</string>
<string name="storage_rename_title" msgid="5911285992205282312">"Renommer le stockage"</string>
<string name="storage_dialog_unmountable" msgid="1761107904296941687">"La mémoire de stockage « <xliff:g id="NAME_0">^1</xliff:g> » est corrompue. \n\nPour utiliser la mémoire « <xliff:g id="NAME_1">^1</xliff:g> », vous devez d\'abord la configurer."</string>
- <string name="storage_internal_format_details" msgid="2399034372813686846">"Vous pouvez formater cette carte SD pour y stocker des photos, des vidéos, de la musique et plus encore. Vous pouvez aussi y accéder à partir d\'autres appareils. \n\n"<b>"Toutes les données de cette carte SD seront supprimées."</b>" \n\n"<b>"Avant le formatage"</b>" \n\n"<b>"Sauvegardez les photos et les autres contenus multimédias"</b>" \nDéplacez vos fichiers multimédias vers un autre support de stockage sur cet appareil, ou transférez-les sur un ordinateur au moyen d\'un câble USB. \n\n"<b>"Sauvegardez vos applications"</b>" \nToutes les applications stockées sur cette <xliff:g id="NAME">^1</xliff:g> seront désinstallées, et leurs données seront supprimées. Pour conserver ces applications, déplacez-les vers un autre support de stockage sur cet appareil."</string>
- <string name="storage_internal_unmount_details" msgid="487689543322907311"><b>"Lorsque vous éjectez la mémoire de stockage « <xliff:g id="NAME_0">^1</xliff:g> », les applications qui y sont enregistrées cessent de fonctionner, et les fichiers qu\'elle contient ne sont plus accessibles jusqu\'à ce que vous la réinsériez de nouveau."</b>\n\n"La mémoire de stockage « <xliff:g id="NAME_1">^1</xliff:g> » a été configurée pour ne fonctionner que sur cet appareil. Vous ne pouvez pas l\'utiliser sur d\'autres appareils."</string>
- <string name="storage_internal_forget_details" msgid="5606507270046186691">"Pour utiliser les applications, les photos ou les données que la mémoire de stockage « <xliff:g id="NAME">^1</xliff:g> » contient, insérez de nouveau celle-ci. \n\nVous pouvez également la supprimer de la liste des mémoires de stockage si elle n\'est pas disponible. \n\nSi vous la supprimez, toutes les données qu\'elle contient seront définitivement effacées. \n\nVous pouvez réinstaller les applications plus tard, mais les données correspondantes enregistrées sur cette mémoire seront perdues."</string>
+ <string name="storage_internal_format_details" msgid="2399034372813686846">"Vous pouvez formater cette carte SD pour y stocker des photos, des vidéos, de la musique et plus encore. Vous pouvez aussi y accéder à partir d\'autres appareils. \n\n"<b>"Toutes les données de cette carte SD seront supprimées."</b>" \n\n"<b>"Avant le formatage"</b>" \n\n"<b>"Sauvegardez les photos et les autres contenus multimédias"</b>" \nDéplacez vos fichiers multimédias vers un autre support de stockage sur cet appareil, ou transférez-les sur un ordinateur au moyen d\'un câble USB. \n\n"<b>"Sauvegardez vos applis"</b>" \nToutes les applis stockées sur cette <xliff:g id="NAME">^1</xliff:g> seront désinstallées, et leurs données seront supprimées. Pour conserver ces applis, déplacez-les vers un autre support de stockage sur cet appareil."</string>
+ <string name="storage_internal_unmount_details" msgid="487689543322907311"><b>"Lorsque vous éjectez la mémoire de stockage « <xliff:g id="NAME_0">^1</xliff:g> », les applis qui y sont enregistrées cessent de fonctionner, et les fichiers qu\'elle contient ne sont plus accessibles jusqu\'à ce que vous la réinsériez de nouveau."</b>\n\n"La mémoire de stockage « <xliff:g id="NAME_1">^1</xliff:g> » a été configurée pour ne fonctionner que sur cet appareil. Vous ne pouvez pas l\'utiliser sur d\'autres appareils."</string>
+ <string name="storage_internal_forget_details" msgid="5606507270046186691">"Pour utiliser les applis, les photos ou les données que la mémoire de stockage « <xliff:g id="NAME">^1</xliff:g> » contient, insérez de nouveau celle-ci. \n\nVous pouvez également la supprimer de la liste des mémoires de stockage si elle n\'est pas disponible. \n\nSi vous la supprimez, toutes les données qu\'elle contient seront définitivement effacées. \n\nVous pouvez réinstaller les applis plus tard, mais les données correspondantes enregistrées sur cette mémoire seront perdues."</string>
<string name="storage_internal_forget_confirm_title" msgid="379238668153099015">"Oublier « <xliff:g id="NAME">^1</xliff:g> »?"</string>
- <string name="storage_internal_forget_confirm" msgid="5752634604952674123">"Toutes les applications, photos et données enregistrées sur la mémoire de stockage « <xliff:g id="NAME">^1</xliff:g> » seront perdues définitivement."</string>
+ <string name="storage_internal_forget_confirm" msgid="5752634604952674123">"Toutes les applis, photos et données enregistrées sur la mémoire de stockage « <xliff:g id="NAME">^1</xliff:g> » seront perdues définitivement."</string>
<string name="storage_detail_dialog_system" msgid="7461009051858709479">"Le répertoire Système comprend des fichiers utilisés pour faire fonctionner Android version <xliff:g id="VERSION">%s</xliff:g>"</string>
<string name="storage_os_detail_dialog_system" msgid="1423073052313067844">"Cela comprend votre système d\'exploitation et les fichiers nécessaires au bon fonctionnement de votre téléphone. Pour protéger leur intégrité, ces fichiers ne sont pas accessibles."</string>
<string name="storage_other_files_detail_dialog_system" msgid="8241153880150866635">"Cela comprend la mémoire cache et d\'autres fichiers temporaires nécessaires à votre système d\'exploitation. Vous pouvez constater des changements dans la quantité d\'espace de stockage utilisée au fil du temps."</string>
@@ -1411,10 +1442,10 @@
<string name="storage_wizard_format_progress_body" msgid="1044024044955390417">"Ne retirez pas <xliff:g id="NAME">^1</xliff:g> durant le formatage."</string>
<string name="storage_wizard_ready_title" msgid="3631022511474086605">"<xliff:g id="NAME">^1</xliff:g> formatée"</string>
<string name="storage_wizard_move_confirm_title" msgid="6812469630804101590">"Déplacer <xliff:g id="APP">^1</xliff:g>"</string>
- <string name="storage_wizard_move_confirm_body" msgid="1713022828842263574">"Le déplacement de l\'application « <xliff:g id="APP">^1</xliff:g> » et des données correspondantes vers « <xliff:g id="NAME_0">^2</xliff:g> » ne prend que quelques minutes. Vous ne pourrez pas utiliser l\'application tant que l\'opération n\'est pas terminée. \n\nNe retirez pas la mémoire de stockage « <xliff:g id="NAME_1">^2</xliff:g> » pendant le déplacement."</string>
+ <string name="storage_wizard_move_confirm_body" msgid="1713022828842263574">"Le déplacement de l\'appli « <xliff:g id="APP">^1</xliff:g> » et des données correspondantes vers « <xliff:g id="NAME_0">^2</xliff:g> » ne prend que quelques minutes. Vous ne pourrez pas utiliser l\'appli tant que l\'opération n\'est pas terminée. \n\nNe retirez pas la mémoire de stockage « <xliff:g id="NAME_1">^2</xliff:g> » pendant le déplacement."</string>
<string name="storage_wizard_move_unlock" msgid="14651384927767749">"Pour déplacer des données, vous devez déverrouiller l\'utilisateur <xliff:g id="APP">^1</xliff:g>."</string>
<string name="storage_wizard_move_progress_title" msgid="3912406225614672391">"Déplacement de <xliff:g id="APP">^1</xliff:g> en cours..."</string>
- <string name="storage_wizard_move_progress_body" msgid="2396714553394935094">"Ne retirez pas la mémoire de stockage « <xliff:g id="NAME">^1</xliff:g> » pendant le déplacement. \n\nL\'application « <xliff:g id="APP">^2</xliff:g> » ne sera pas disponible tant que l\'opération n\'est pas terminée."</string>
+ <string name="storage_wizard_move_progress_body" msgid="2396714553394935094">"Ne retirez pas la mémoire de stockage « <xliff:g id="NAME">^1</xliff:g> » pendant le déplacement. \n\nL\'appli « <xliff:g id="APP">^2</xliff:g> » ne sera pas disponible tant que l\'opération n\'est pas terminée."</string>
<string name="storage_wizard_init_v2_title" msgid="2538630338392381113">"Comment utiliserez-vous ce périphérique <xliff:g id="NAME">^1</xliff:g>?"</string>
<string name="storage_wizard_init_v2_or" msgid="5558706089661158026">"ou"</string>
<string name="storage_wizard_init_v2_external_title" msgid="2786416384217054112">"Formater la carte SD en tant que mémoire externe"</string>
@@ -1422,18 +1453,18 @@
<string name="storage_wizard_init_v2_external_action" msgid="6140058734875839081">"Formater"</string>
<string name="storage_wizard_init_v2_later" msgid="5366815913892609285">"Configurer plus tard"</string>
<string name="storage_wizard_format_confirm_v2_title" msgid="6294104100437326067">"Formater cette <xliff:g id="NAME">^1</xliff:g>?"</string>
- <string name="storage_wizard_format_confirm_v2_body" msgid="635958708974709506">"Cette <xliff:g id="NAME_0">^1</xliff:g> doit être formatée pour stocker des applications et des fichiers. \n\nLe formatage effacera le contenu existant de la <xliff:g id="NAME_1">^2</xliff:g>. Pour éviter de perdre votre contenu, sauvegardez-le sur une autre <xliff:g id="NAME_2">^3</xliff:g> ou un autre appareil."</string>
+ <string name="storage_wizard_format_confirm_v2_body" msgid="635958708974709506">"Cette <xliff:g id="NAME_0">^1</xliff:g> doit être formatée pour stocker des applis et des fichiers. \n\nLe formatage effacera le contenu existant de la <xliff:g id="NAME_1">^2</xliff:g>. Pour éviter de perdre votre contenu, sauvegardez-le sur une autre <xliff:g id="NAME_2">^3</xliff:g> ou un autre appareil."</string>
<string name="storage_wizard_format_confirm_v2_body_external" msgid="5810296966099830035">"Vous devez formater cette <xliff:g id="NAME_0">^1</xliff:g> pour pouvoir y stocker des photos, des vidéos, de la musique, et plus encore. \n\nLe formatage supprimera le contenu existant de la <xliff:g id="NAME_1">^2</xliff:g>. Pour éviter de perdre votre contenu, sauvegardez-le sur une autre <xliff:g id="NAME_2">^3</xliff:g> ou un autre appareil."</string>
<string name="storage_wizard_format_confirm_v2_action" msgid="5718254101386377126">"Formater <xliff:g id="NAME">^1</xliff:g>"</string>
<string name="storage_wizard_migrate_v2_title" msgid="3471564531564756698">"Déplacer le contenu vers <xliff:g id="NAME">^1</xliff:g>?"</string>
<string name="storage_wizard_migrate_v2_checklist" msgid="2618258869444553060">"Pendant le déplacement :"</string>
<string name="storage_wizard_migrate_v2_checklist_media" msgid="5867134681730723744">"Ne retirez pas le périphérique <xliff:g id="NAME">^1</xliff:g>"</string>
- <string name="storage_wizard_migrate_v2_checklist_apps" msgid="1882077445750580783">"Certaines applications ne fonctionneront pas"</string>
+ <string name="storage_wizard_migrate_v2_checklist_apps" msgid="1882077445750580783">"Certaines applis ne fonctionneront pas"</string>
<string name="storage_wizard_migrate_v2_now" msgid="3341460117088026966">"Déplacer le contenu"</string>
<string name="storage_wizard_migrate_v2_later" msgid="6067756122853315642">"Déplacer le contenu plus tard"</string>
<string name="storage_wizard_migrate_progress_v2_title" msgid="8791318509516968103">"Déplacement du contenu en cours…"</string>
<string name="storage_wizard_slow_v2_title" msgid="3760766921170980221">"Périphérique <xliff:g id="NAME">^1</xliff:g> lent"</string>
- <string name="storage_wizard_slow_v2_body" msgid="7604252106419016929">"Vous pouvez toujours utiliser le périphérique <xliff:g id="NAME_0">^1</xliff:g>, mais il peut être lent. \n\nLes applications stockées sur le périphérique <xliff:g id="NAME_1">^2</xliff:g> peuvent ne pas fonctionner correctement et les transferts de contenu peuvent prendre beaucoup de temps. \n\nEssayez d\'utiliser un autre périphérique <xliff:g id="NAME_2">^3</xliff:g>, ou utilisez plutôt le périphérique <xliff:g id="NAME_3">^4</xliff:g> comme mémoire de stockage externe."</string>
+ <string name="storage_wizard_slow_v2_body" msgid="7604252106419016929">"Vous pouvez toujours utiliser le périphérique <xliff:g id="NAME_0">^1</xliff:g>, mais il peut être lent. \n\nLes applis stockées sur le périphérique <xliff:g id="NAME_1">^2</xliff:g> peuvent ne pas fonctionner correctement et les transferts de contenu peuvent prendre beaucoup de temps. \n\nEssayez d\'utiliser un autre périphérique <xliff:g id="NAME_2">^3</xliff:g>, ou utilisez plutôt le périphérique <xliff:g id="NAME_3">^4</xliff:g> comme mémoire de stockage externe."</string>
<string name="storage_wizard_slow_v2_start_over" msgid="1806852287668077536">"Recommencer"</string>
<string name="storage_wizard_slow_v2_continue" msgid="7469713755893007901">"Continuer"</string>
<string name="storage_wizard_ready_v2_external_body" msgid="7688457485389886923">"Vous pouvez commencer à utiliser votre <xliff:g id="NAME">^1</xliff:g>"</string>
@@ -1515,8 +1546,8 @@
<string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Musique"</li>\n<li>"Photos"</li>\n<li>"Autres données de l\'utilisateur"</li></string>
<string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"Modules eSIM"</li></string>
<string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Cela n\'annulera pas votre forfait de services cellulaires."</string>
- <string name="main_clear_final_desc" msgid="5800877928569039580">"Tous vos renseignements personnels et les applications téléchargées seront supprimés. Vous ne pouvez pas annuler cette action."</string>
- <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Tous vos renseignements personnels, y compris les applications et les cartes eSIM téléchargées, seront supprimés. Vous ne pouvez pas annuler cette action."</string>
+ <string name="main_clear_final_desc" msgid="5800877928569039580">"Tous vos renseignements personnels et les applis téléchargées seront supprimés. Vous ne pouvez pas annuler cette action."</string>
+ <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Tous vos renseignements personnels, y compris les applis et les cartes eSIM téléchargées, seront supprimés. Vous ne pouvez pas annuler cette action."</string>
<string name="main_clear_confirm_title" msgid="6577071819657853713">"Effacer toutes les données?"</string>
<string name="main_clear_not_available" msgid="3433795327146684827">"La réinitialisation aux paramètres par défaut n\'est pas possible pour cet utilisateur"</string>
<string name="main_clear_progress_title" msgid="7239741132015617719">"Suppression en cours…"</string>
@@ -1552,14 +1583,14 @@
<string name="usb_tethering_button_text" msgid="7364633823180913777">"Partage de connexion par USB"</string>
<string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Partage de connexion par Bluetooth"</string>
<string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Partage de connexion par Ethernet"</string>
- <string name="tethering_footer_info" msgid="6782375845587483281">"Utilisez un point d\'accès sans fil et le partage de connexion pour fournir un accès Internet à d\'autres appareils par l\'intermédiaire de votre connexion cellulaire. Des applications peuvent aussi créer un point d\'accès sans fil pour partager du contenu avec d\'autres appareils à proximité."</string>
- <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Utilisez un point d\'accès sans fil et le partage de connexion pour fournir un accès Internet à d\'autres appareils par l\'intermédiaire de votre connexion Wi-Fi ou de données cellulaires. Des applications peuvent aussi créer un point d\'accès sans fil pour partager du contenu avec d\'autres appareils à proximité."</string>
+ <string name="tethering_footer_info" msgid="6782375845587483281">"Utilisez un point d\'accès sans fil et le partage de connexion pour fournir un accès Internet à d\'autres appareils par l\'intermédiaire de votre connexion cellulaire. Des applis peuvent aussi créer un point d\'accès sans fil pour partager du contenu avec d\'autres appareils à proximité."</string>
+ <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Utilisez un point d\'accès sans fil et le partage de connexion pour fournir un accès Internet à d\'autres appareils par l\'intermédiaire de votre connexion Wi-Fi ou de données cellulaires. Des applis peuvent aussi créer un point d\'accès sans fil pour partager du contenu avec d\'autres appareils à proximité."</string>
<string name="tethering_help_button_text" msgid="2823655011510912001">"Aide"</string>
<string name="network_settings_title" msgid="4663717899931613176">"Réseau cellulaire"</string>
- <string name="sms_application_title" msgid="4791107002724108809">"Application de messagerie texte"</string>
- <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Modifier l\'application de messagerie texte?"</string>
- <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Utiliser <xliff:g id="NEW_APP">%1$s</xliff:g> au lieu de <xliff:g id="CURRENT_APP">%2$s</xliff:g> comme application de messagerie texte?"</string>
- <string name="sms_change_default_no_previous_dialog_text" msgid="6215622785087181275">"Utiliser <xliff:g id="NEW_APP">%s</xliff:g> comme application de messagerie texte?"</string>
+ <string name="sms_application_title" msgid="4791107002724108809">"Appli de messagerie texte"</string>
+ <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Modifier l\'appli de messagerie texte?"</string>
+ <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Utiliser <xliff:g id="NEW_APP">%1$s</xliff:g> au lieu de <xliff:g id="CURRENT_APP">%2$s</xliff:g> comme appli de messagerie texte?"</string>
+ <string name="sms_change_default_no_previous_dialog_text" msgid="6215622785087181275">"Utiliser <xliff:g id="NEW_APP">%s</xliff:g> comme appli de messagerie texte?"</string>
<string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Changer d\'assistant Wi‑Fi?"</string>
<string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Utilisez <xliff:g id="NEW_APP">%1$s</xliff:g> au lieu de <xliff:g id="CURRENT_APP">%2$s</xliff:g> pour gérer vos connexions réseau?"</string>
<string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Utiliser <xliff:g id="NEW_APP">%s</xliff:g> pour gérer vos connexions réseau?"</string>
@@ -1568,18 +1599,18 @@
<string name="private_profile_location_switch_title" msgid="4127119143109855789">"Emplacement de l\'Espace privé"</string>
<string name="location_app_level_permissions" msgid="907206607664629759">"Autor. localisation des applis"</string>
<string name="location_app_permission_summary_location_off" msgid="2711822936853500335">"Le signalement de position est désactivé"</string>
- <string name="location_app_permission_summary_location_on" msgid="7552095451731948984">"{count,plural, =1{# application sur {total} a accès à la position}one{# application sur {total} a accès à la position}other{# applications sur {total} ont accès à la position}}"</string>
+ <string name="location_app_permission_summary_location_on" msgid="7552095451731948984">"{count,plural, =1{# appli sur {total} a accès à la position}one{# appli sur {total} a accès à la position}other{# applis sur {total} ont accès à la position}}"</string>
<string name="location_category_recent_location_access" msgid="2558063524482178146">"Accès récents"</string>
<string name="location_recent_location_access_see_all" msgid="4203102419355323325">"Tout afficher"</string>
<string name="location_recent_location_access_view_details" msgid="5803264082558504544">"Afficher les détails"</string>
- <string name="location_no_recent_apps" msgid="6814206631456177033">"Aucune application n\'a récemment demandé l\'accès à votre position"</string>
- <string name="location_no_recent_accesses" msgid="6031735777805464247">"Aucune application n\'a récemment accédé à la position"</string>
+ <string name="location_no_recent_apps" msgid="6814206631456177033">"Aucune appli n\'a récemment demandé l\'accès à votre position"</string>
+ <string name="location_no_recent_accesses" msgid="6031735777805464247">"Aucune appli n\'a récemment accédé à la position"</string>
<string name="location_high_battery_use" msgid="4277318891200626524">"Forte utilisation de la pile"</string>
<string name="location_low_battery_use" msgid="5218950289737996431">"Faible utilisation de la pile"</string>
<string name="location_scanning_wifi_always_scanning_title" msgid="5004781272733434794">"Recherche de réseaux Wi-Fi"</string>
- <string name="location_scanning_wifi_always_scanning_description" msgid="6236055656376931306">"Autoriser les applications et les services à rechercher les réseaux Wi-Fi en tout temps, même lorsque le Wi-Fi est désactivé. Cette autorisation peut permettre, par exemple, d\'améliorer les fonctionnalités et les services basés sur la localisation."</string>
+ <string name="location_scanning_wifi_always_scanning_description" msgid="6236055656376931306">"Autoriser les applis et les services à rechercher les réseaux Wi-Fi en tout temps, même lorsque le Wi-Fi est désactivé. Cette autorisation peut permettre, par exemple, d\'améliorer les fonctionnalités et les services basés sur la localisation."</string>
<string name="location_scanning_bluetooth_always_scanning_title" msgid="1809309545730215891">"Recherche d\'appareils Bluetooth"</string>
- <string name="location_scanning_bluetooth_always_scanning_description" msgid="5362988856388462841">"Autoriser les applications et les services à rechercher les appareils à proximité en tout temps, même lorsque le Bluetooth est désactivé. Cette autorisation peut permettre, par exemple, d\'améliorer les fonctionnalités et les services basés sur la localisation."</string>
+ <string name="location_scanning_bluetooth_always_scanning_description" msgid="5362988856388462841">"Autoriser les applis et les services à rechercher les appareils à proximité en tout temps, même lorsque le Bluetooth est désactivé. Cette autorisation peut permettre, par exemple, d\'améliorer les fonctionnalités et les services basés sur la localisation."</string>
<string name="location_services_preference_title" msgid="604317859531782159">"Services de localisation"</string>
<string name="location_services_screen_title" msgid="5640002489976602476">"Services de localisation"</string>
<string name="location_time_zone_detection_toggle_title" msgid="6478751613645015287">"Utiliser ma position"</string>
@@ -1711,7 +1742,7 @@
<string name="lockpattern_settings_change_lock_pattern" msgid="7614155083815661347">"Modifier le schéma"</string>
<string name="lockpattern_settings_help_how_to_record" msgid="2093801939046625774">"Comment dessiner un schéma de déverrouillage :"</string>
<string name="lockpattern_too_many_failed_confirmation_attempts" msgid="7891484005551794824">"Trop de tentatives incorrectes. Réessayez dans <xliff:g id="NUMBER">%d</xliff:g> secondes."</string>
- <string name="activity_not_found" msgid="5464331414465894254">"L\'application n\'est pas installée sur votre téléphone."</string>
+ <string name="activity_not_found" msgid="5464331414465894254">"L\'appli n\'est pas installée sur votre téléphone."</string>
<string name="lock_settings_profile_title" msgid="103605580492566086">"Sécurité du profil professionnel"</string>
<string name="lock_settings_profile_screen_lock_title" msgid="3776275029218681815">"Verrouillage de l\'écran du profil professionnel"</string>
<string name="lock_settings_profile_unification_title" msgid="5777961097706546513">"Utiliser un seul mode de verrouillage"</string>
@@ -1722,18 +1753,18 @@
<string name="lock_settings_profile_unification_dialog_confirm" msgid="6276915393736137843">"Utiliser un seul mode de verrouillage"</string>
<string name="lock_settings_profile_unification_dialog_uncompliant_confirm" msgid="8509287115116369677">"Utiliser un seul mode de verrouillage"</string>
<string name="lock_settings_profile_unified_summary" msgid="777095092175037385">"Identique au verrouillage de l\'écran de l\'appareil"</string>
- <string name="manageapplications_settings_title" msgid="9198876415524237657">"Gérer les applications"</string>
- <string name="applications_settings" msgid="1941993743933425622">"Détails de l\'application"</string>
- <string name="applications_settings_header" msgid="3154670675856048015">"Paramètres de l\'application"</string>
+ <string name="manageapplications_settings_title" msgid="9198876415524237657">"Gérer les applis"</string>
+ <string name="applications_settings" msgid="1941993743933425622">"Détails de l\'appli"</string>
+ <string name="applications_settings_header" msgid="3154670675856048015">"Paramètres de l\'appli"</string>
<string name="install_applications" msgid="3921609656584369901">"Sources inconnues"</string>
<string name="install_applications_title" msgid="7890233747559108106">"Autoriser toutes sources appli"</string>
- <string name="recent_app_category_title" msgid="189758417804427533">"Applications récemment ouvertes"</string>
- <string name="see_all_apps_title" msgid="1650653853942381797">"{count,plural, =1{Afficher l\'unique application}one{Afficher l\'unique (#) application}other{Afficher les # applications}}"</string>
+ <string name="recent_app_category_title" msgid="189758417804427533">"Applis récemment ouvertes"</string>
+ <string name="see_all_apps_title" msgid="1650653853942381797">"{count,plural, =1{Afficher l\'unique appli}one{Afficher l\'unique (#) appli}other{Afficher les # applis}}"</string>
<string name="forgot_password_title" msgid="3967873480875239885">"Contacter l\'administrateur informatique"</string>
<string name="forgot_password_text" msgid="2583194470767613163">"Il peut vous aider à réinitialiser votre NIP, votre schéma ou votre mot de passe"</string>
<string name="advanced_settings" msgid="2368905204839169094">"Paramètres avancés"</string>
<string name="advanced_settings_summary" msgid="1823765348195530035">"Activer d\'autres paramètres"</string>
- <string name="application_info_label" msgid="1015706497694165866">"Détails de l\'application"</string>
+ <string name="application_info_label" msgid="1015706497694165866">"Détails de l\'appli"</string>
<string name="storage_label" msgid="2522307545547515733">"Stockage"</string>
<string name="auto_launch_label" msgid="4069860409309364872">"Ouvrir par défaut"</string>
<string name="auto_launch_label_generic" msgid="5033137408273064599">"Valeurs par défaut"</string>
@@ -1753,8 +1784,8 @@
<string name="restoring_step_three" msgid="3712883580876329811">"Restauration en cours.."</string>
<string name="restoring_step_four" msgid="8966846882470446209">"Restauration en cours..."</string>
<string name="total_size_label" msgid="2052185048749658866">"Total"</string>
- <string name="application_size_label" msgid="6407051020651716729">"Taille de l\'application"</string>
- <string name="external_code_size_label" msgid="7375146402660973743">"Application sur USB"</string>
+ <string name="application_size_label" msgid="6407051020651716729">"Taille de l\'appli"</string>
+ <string name="external_code_size_label" msgid="7375146402660973743">"Appli sur USB"</string>
<string name="data_size_label" msgid="7814478940141255234">"Données de l\'utilisateur"</string>
<string name="uninstall_text" msgid="315764653029060126">"Désinstaller"</string>
<string name="uninstall_all_users_text" msgid="5924715251087176474">"Uninstall for all users"</string>
@@ -1764,13 +1795,13 @@
<string name="clear_user_data_text" msgid="6773186434260397947">"Effacer l\'espace de stockage"</string>
<string name="app_factory_reset" msgid="8974044931667015201">"Désinstaller mises à jour"</string>
<string name="app_restricted_settings_lockscreen_title" msgid="5993061278264872648">"Autoriser les paramètres restreints"</string>
- <string name="auto_launch_enable_text" msgid="8912714475823807798">"Certaines activités que vous avez sélectionnées s\'ouvrent dans cette application par défaut."</string>
- <string name="always_allow_bind_appwidgets_text" msgid="2069415023986858324">"Vous avez choisi de permettre à cette application de créer des widgets et d\'accéder à leurs données."</string>
+ <string name="auto_launch_enable_text" msgid="8912714475823807798">"Certaines activités que vous avez sélectionnées s\'ouvrent dans cette appli par défaut."</string>
+ <string name="always_allow_bind_appwidgets_text" msgid="2069415023986858324">"Vous avez choisi de permettre à cette appli de créer des widgets et d\'accéder à leurs données."</string>
<string name="auto_launch_disable_text" msgid="502648841250936209">"Aucun paramètre par défaut défini"</string>
<string name="clear_activities" msgid="488089228657585700">"Effacer les préférences par défaut"</string>
- <string name="screen_compatibility_text" msgid="5915767835411020274">"Cette application n\'est peut-être pas adaptée à votre écran. Vous pouvez modifier les paramètres d\'ajustement ici."</string>
+ <string name="screen_compatibility_text" msgid="5915767835411020274">"Cette appli n\'est peut-être pas adaptée à votre écran. Vous pouvez modifier les paramètres d\'ajustement ici."</string>
<string name="ask_compatibility" msgid="8388397595148476565">"Demander au moment du lancement"</string>
- <string name="enable_compatibility" msgid="1163387233622859712">"Mettre l\'application à l\'échelle"</string>
+ <string name="enable_compatibility" msgid="1163387233622859712">"Mettre l\'appli à l\'échelle"</string>
<string name="unknown" msgid="8192160131923461175">"Inconnu"</string>
<string name="sort_order_alpha" msgid="3400680865280266582">"Trier par nom"</string>
<string name="sort_order_size" msgid="7731928486199737223">"Trier par taille"</string>
@@ -1778,29 +1809,29 @@
<string name="sort_order_frequent_notification" msgid="4063700985742284794">"Les plus fréquentes"</string>
<string name="show_running_services" msgid="8666008279959853318">"Afficher les services en cours"</string>
<string name="show_background_processes" msgid="5682856012453562151">"Afficher processus en cache"</string>
- <string name="default_emergency_app" msgid="1929974800666613803">"Application d\'urgence"</string>
+ <string name="default_emergency_app" msgid="1929974800666613803">"Appli d\'urgence"</string>
<string name="reset_app_preferences" msgid="8861758340732716573">"Réinitialiser préférences applis"</string>
<string name="reset_app_preferences_title" msgid="8935136792316050759">"Réinitialiser les préférences relatives aux applis?"</string>
- <string name="reset_app_preferences_desc" msgid="8550782670650158299">"Les préférences relatives aux éléments suivants seront réinitialisées :\n\n"<li>"Applications désactivées"</li>\n<li>"Notifications des applications désactivées"</li>\n<li>"Applications par défaut pour les actions"</li>\n<li>"Restrictions de données en arrière-plan pour les applications"</li>\n<li>"Toutes les restrictions d\'autorisations"</li>\n<li>"Paramètres d\'utilisation de la pile"</li>\n\n"Vous ne perdrez aucune donnée liée aux applications."</string>
+ <string name="reset_app_preferences_desc" msgid="8550782670650158299">"Les préférences relatives aux éléments suivants seront réinitialisées :\n\n"<li>"Applis désactivées"</li>\n<li>"Notifications des applis désactivées"</li>\n<li>"Applis par défaut pour les actions"</li>\n<li>"Restrictions de données en arrière-plan pour les applis"</li>\n<li>"Toutes les restrictions d\'autorisations"</li>\n<li>"Paramètres d\'utilisation de la pile"</li>\n\n"Vous ne perdrez aucune donnée liée aux applis."</string>
<string name="reset_app_preferences_button" msgid="2591318711372850058">"Réinitialiser applis"</string>
<string name="filter" msgid="9039576690686251462">"Filtre"</string>
<string name="filter_dlg_title" msgid="3086282431958601338">"Sélectionner les options du filtre"</string>
- <string name="filter_apps_all" msgid="5705421199299914620">"Toutes les applications"</string>
- <string name="filter_apps_disabled" msgid="5068011814871004105">"Applications désactivées"</string>
+ <string name="filter_apps_all" msgid="5705421199299914620">"Toutes les applis"</string>
+ <string name="filter_apps_disabled" msgid="5068011814871004105">"Applis désactivées"</string>
<string name="filter_apps_third_party" msgid="9049447784849114843">"Téléchargée"</string>
<string name="filter_apps_running" msgid="535465683273284141">"Diffusion en cours"</string>
<string name="not_installed" msgid="5074606858798519449">"Non installé pour cet utilisateur"</string>
<string name="installed" msgid="2837449358488825884">"Installée"</string>
- <string name="no_applications" msgid="985069304755391640">"Aucune application"</string>
+ <string name="no_applications" msgid="985069304755391640">"Aucune appli"</string>
<string name="internal_storage" msgid="999496851424448809">"Mémoire de stockage interne"</string>
<string name="recompute_size" msgid="1098091228370999128">"Calcul de la taille..."</string>
- <string name="clear_data_dlg_title" msgid="180446967743732410">"Supprimer les données de l\'application?"</string>
- <string name="clear_data_dlg_text" msgid="3440011276559762619">"Les données de cette application, y compris les fichiers et les paramètres, seront supprimées de cet appareil"</string>
+ <string name="clear_data_dlg_title" msgid="180446967743732410">"Supprimer les données de l\'appli?"</string>
+ <string name="clear_data_dlg_text" msgid="3440011276559762619">"Les données de cette appli, y compris les fichiers et les paramètres, seront supprimées de cet appareil"</string>
<string name="dlg_ok" msgid="1421350367857960997">"OK"</string>
<string name="dlg_cancel" msgid="5164705061530774899">"Annuler"</string>
<string name="dlg_delete" msgid="1790919205039397659">"Supprimer"</string>
- <string name="app_not_found_dlg_text" msgid="8634675268730513704">"L\'application ne figure pas dans la liste des applications installées."</string>
- <string name="clear_failed_dlg_text" msgid="6866741916836125732">"Impossible de supprimer l\'espace de stockage pour l\'application."</string>
+ <string name="app_not_found_dlg_text" msgid="8634675268730513704">"L\'appli ne figure pas dans la liste des applis installées."</string>
+ <string name="clear_failed_dlg_text" msgid="6866741916836125732">"Impossible de supprimer l\'espace de stockage pour l\'appli."</string>
<string name="computing_size" msgid="4915310659841174866">"Traitement..."</string>
<string name="invalid_size_value" msgid="7017371543563259201">"Impossible de calculer la taille du package."</string>
<string name="version_text" msgid="7628938665256107608">"version <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
@@ -1811,17 +1842,17 @@
<string name="restoring_in_progress" msgid="7787443682651146115">"Restauration de <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> en cours…"</string>
<string name="another_migration_already_in_progress" msgid="6550546307856052261">"Un autre transfert est déjà en cours."</string>
<string name="insufficient_storage" msgid="8115088042669030558">"Espace de stockage insuffisant."</string>
- <string name="does_not_exist" msgid="6499163879348776120">"L\'application n\'existe pas."</string>
+ <string name="does_not_exist" msgid="6499163879348776120">"L\'appli n\'existe pas."</string>
<string name="invalid_location" msgid="8013853455355520557">"L\'emplacement d\'installation n\'est pas valide."</string>
<string name="system_package" msgid="7559476279008519360">"Les mises à jour du système ne peuvent pas être installées sur des supports externes."</string>
- <string name="move_error_device_admin" msgid="1561502976834303626">"Les applications d\'administration d\'appareils ne peuvent pas être installées sur un support externe"</string>
+ <string name="move_error_device_admin" msgid="1561502976834303626">"Les applis d\'administration d\'appareils ne peuvent pas être installées sur un support externe"</string>
<string name="force_stop_dlg_title" msgid="86745852555490146">"Forcer l\'arrêt?"</string>
- <string name="force_stop_dlg_text" msgid="1527286468544457368">"Si vous forcez l\'arrêt d\'une application, son fonctionnement peut en être affecté."</string>
- <string name="app_disable_dlg_positive" msgid="1414218905322009505">"Désactiver l\'application"</string>
- <string name="app_disable_dlg_text" msgid="2449382902751908916">"Si vous désactivez cette application, Android et d\'autres applications risquent de ne plus fonctionner correctement. Gardez à l\'esprit que vous ne pouvez pas supprimer cette application, étant donné qu\'elle était préinstallée sur votre appareil. En la désactivant, elle ne sera plus active et elle sera masquée sur votre appareil."</string>
- <string name="app_install_details_group_title" msgid="1172114479073704677">"Boutique d\'applications"</string>
- <string name="app_install_details_title" msgid="7783556181897142187">"Détails de l\'application"</string>
- <string name="app_install_details_summary" msgid="2013043219249992373">"Source de l\'application : <xliff:g id="APP_STORE">%1$s</xliff:g>"</string>
+ <string name="force_stop_dlg_text" msgid="1527286468544457368">"Si vous forcez l\'arrêt d\'une appli, son fonctionnement peut en être affecté."</string>
+ <string name="app_disable_dlg_positive" msgid="1414218905322009505">"Désactiver l\'appli"</string>
+ <string name="app_disable_dlg_text" msgid="2449382902751908916">"Si vous désactivez cette appli, Android et d\'autres applis risquent de ne plus fonctionner correctement. Gardez à l\'esprit que vous ne pouvez pas supprimer cette appli, étant donné qu\'elle était préinstallée sur votre appareil. En la désactivant, elle ne sera plus active et elle sera masquée sur votre appareil."</string>
+ <string name="app_install_details_group_title" msgid="1172114479073704677">"Boutique d\'applis"</string>
+ <string name="app_install_details_title" msgid="7783556181897142187">"Détails de l\'appli"</string>
+ <string name="app_install_details_summary" msgid="2013043219249992373">"Source de l\'appli : <xliff:g id="APP_STORE">%1$s</xliff:g>"</string>
<string name="app_install_details_different_initiating_package_summary" msgid="6093306593167176688">"Appli installée à partir de <xliff:g id="APP_STORE1">%1$s</xliff:g> (par le biais de <xliff:g id="APP_STORE2">%2$s</xliff:g>)"</string>
<string name="instant_app_details_summary" msgid="417197491598208216">"Plus d\'information sur <xliff:g id="APP_STORE">%1$s</xliff:g>"</string>
<string name="app_ops_running" msgid="6127474473137428721">"En cours d\'exécution"</string>
@@ -1830,7 +1861,7 @@
<string name="service_restarting" msgid="5104563288155809226">"Redémarrage"</string>
<string name="cached" msgid="5379485147573438201">"Processus d\'arrière-plan en cache"</string>
<string name="no_running_services" msgid="9079738069349859373">"Aucun service en cours"</string>
- <string name="service_started_by_app" msgid="6845028506417670179">"Démarré par l\'application"</string>
+ <string name="service_started_by_app" msgid="6845028506417670179">"Démarré par l\'appli"</string>
<!-- no translation found for service_client_name (2210898622981598861) -->
<skip />
<string name="service_background_processes" msgid="2800539421534521948">"Libre: <xliff:g id="MEMORY">%1$s</xliff:g>"</string>
@@ -1845,22 +1876,22 @@
<string name="running_processes_item_description_p_s" msgid="8957061449107822282">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processus et <xliff:g id="NUMSERVICES">%2$d</xliff:g> service"</string>
<string name="running_processes_item_description_p_p" msgid="3292999232897469679">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processus et <xliff:g id="NUMSERVICES">%2$d</xliff:g> services"</string>
<string name="running_processes_header_title" msgid="558961782589967366">"Mémoire de l\'appareil"</string>
- <string name="running_processes_header_footer" msgid="2726092156680487584">"Utilisation de la mémoire vive par l\'application"</string>
+ <string name="running_processes_header_footer" msgid="2726092156680487584">"Utilisation de la mémoire vive par l\'appli"</string>
<string name="running_processes_header_system_prefix" msgid="8819527769608555124">"Système"</string>
- <string name="running_processes_header_apps_prefix" msgid="4151874328324238133">"Applications"</string>
+ <string name="running_processes_header_apps_prefix" msgid="4151874328324238133">"Applis"</string>
<string name="running_processes_header_free_prefix" msgid="4271100378295864738">"Disponible"</string>
<string name="running_processes_header_used_prefix" msgid="5205762402234243007">"Utilisée"</string>
<string name="running_processes_header_cached_prefix" msgid="839132595831993521">"En cache"</string>
<string name="running_processes_header_ram" msgid="3014991380467004685">"<xliff:g id="RAM_0">%1$s</xliff:g> de mémoire vive"</string>
- <string name="runningservicedetails_settings_title" msgid="1057845389092757121">"Application en cours d\'exécution"</string>
+ <string name="runningservicedetails_settings_title" msgid="1057845389092757121">"Appli en cours d\'exécution"</string>
<string name="no_services" msgid="3898812785511572899">"Inactif"</string>
<string name="runningservicedetails_services_title" msgid="11853795112787355">"Services"</string>
<string name="runningservicedetails_processes_title" msgid="5292271587797234038">"Processus"</string>
<string name="service_stop" msgid="5712522600201308795">"Arrêter"</string>
<string name="service_manage" msgid="3896322986828332075">"Paramètres"</string>
- <string name="service_stop_description" msgid="6327742632400026677">"Ce service a été démarré par son application. L\'application peut échouer si vous l\'arrêtez."</string>
- <string name="heavy_weight_stop_description" msgid="3086419998820881290">"Impossible d\'arrêter cette application en toute sécurité. Si vous l\'arrêtez, vous risquez de perdre une partie du travail en cours."</string>
- <string name="background_process_stop_description" msgid="4792038933517438037">"Ceci est un ancien processus d\'application qui peut toujours être exécuté en cas de besoin. Il n\'existe généralement aucune raison de l\'arrêter."</string>
+ <string name="service_stop_description" msgid="6327742632400026677">"Ce service a été démarré par son appli. L\'appli peut échouer si vous l\'arrêtez."</string>
+ <string name="heavy_weight_stop_description" msgid="3086419998820881290">"Impossible d\'arrêter cette appli en toute sécurité. Si vous l\'arrêtez, vous risquez de perdre une partie du travail en cours."</string>
+ <string name="background_process_stop_description" msgid="4792038933517438037">"Ceci est un ancien processus d\'appli qui peut toujours être exécuté en cas de besoin. Il n\'existe généralement aucune raison de l\'arrêter."</string>
<string name="service_manage_description" msgid="6615788996428486121">"En cours d\'utilisation : <xliff:g id="CLIENT_NAME">%1$s</xliff:g>. Touchez Paramètres pour contrôler ce client."</string>
<string name="main_running_process_description" msgid="6685973937935027773">"Processus principal en cours d\'utilisation."</string>
<string name="process_service_in_use_description" msgid="4210957264507014878">"Le service <xliff:g id="COMP_NAME">%1$s</xliff:g> est actuellement utilisé."</string>
@@ -1886,7 +1917,7 @@
<string name="auto_punctuate_summary" msgid="3549190848611386748">"Appuyez deux fois sur la touche Espace pour insérer « . »"</string>
<string name="show_password" msgid="7101900779571040117">"Afficher les mots de passe"</string>
<string name="show_password_summary" msgid="9025960283785111619">"Les caractères s\'affichent brièvement pendant la saisie"</string>
- <string name="spellchecker_security_warning" msgid="2016059050608271820">"Ce correcteur orthographique peut recueillir l\'ensemble du texte saisi, y compris des données personnelles comme des mots de passe et des numéros de carte de paiement. Il provient de l\'application <xliff:g id="SPELLCHECKER_APPLICATION_NAME">%1$s</xliff:g>. Utiliser ce correcteur orthographique?"</string>
+ <string name="spellchecker_security_warning" msgid="2016059050608271820">"Ce correcteur orthographique peut recueillir l\'ensemble du texte saisi, y compris des données personnelles comme des mots de passe et des numéros de carte de paiement. Il provient de l\'appli <xliff:g id="SPELLCHECKER_APPLICATION_NAME">%1$s</xliff:g>. Utiliser ce correcteur orthographique?"</string>
<string name="spellchecker_quick_settings" msgid="6449414356743946577">"Paramètres"</string>
<string name="spellchecker_language" msgid="8905487366580285282">"Langue"</string>
<string name="keyboard_and_input_methods_category" msgid="5296847777802891649">"Claviers"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Options"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibilité"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Clavier physique"</string>
- <string name="show_ime" msgid="4334255501724746849">"Utiliser le clavier à l\'écran"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Afficher lorsque le clavier physique est activé"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Touches non répétées"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Le clavier ignore les appuis répétés rapidement sur les touches de la même clé dans un délai de <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Touches lentes"</string>
@@ -1936,11 +1965,11 @@
<string name="gesture_summary_go_home" msgid="6409031586904205741">"Balayez votre pavé tactile vers le haut avec trois doigts"</string>
<string name="gesture_title_go_back" msgid="6619462058488419802">"Retour"</string>
<string name="gesture_summary_go_back" msgid="4981604277892236888">"Balayez l\'écran à gauche ou à droite avec trois doigts"</string>
- <string name="gesture_title_recent_apps" msgid="6082688963233208761">"Afficher les applications récentes"</string>
+ <string name="gesture_title_recent_apps" msgid="6082688963233208761">"Afficher les applis récentes"</string>
<string name="gesture_summary_recent_apps" msgid="6643179135202417509">"Balayez vers le haut avec trois doigts, maintenez et relâchez"</string>
<string name="gesture_title_notifications" msgid="791717222472350194">"Afficher notif. et param. rapides"</string>
<string name="gesture_summary_notifications" msgid="8419514601638387255">"Balayez votre écran d\'accueil vers le bas avec trois doigts"</string>
- <string name="gesture_title_switch_apps" msgid="5840994412037872157">"Changer d\'application"</string>
+ <string name="gesture_title_switch_apps" msgid="5840994412037872157">"Changer d\'appli"</string>
<string name="gesture_summary_switch_apps" msgid="6842648062151413042">"Balayez vers la gauche ou vers la droite avec quatre doigts"</string>
<string name="gesture_button_skip" msgid="5174842083451193213">"Ignorer"</string>
<string name="gesture_button_next" msgid="695288092704187356">"Suivant"</string>
@@ -1950,11 +1979,11 @@
<string name="trackpad_go_back_summary" msgid="4201901101085902768">"Balayez vers la gauche ou vers la droite avec trois doigts"</string>
<string name="trackpad_go_home_title" msgid="2146525662148291552">"Retour à la page d\'accueil"</string>
<string name="trackpad_go_home_summary" msgid="2222744701528360887">"Balayez l\'écran vers le haut avec trois doigts"</string>
- <string name="trackpad_recent_apps_title" msgid="8195970908411585445">"Applications récentes"</string>
+ <string name="trackpad_recent_apps_title" msgid="8195970908411585445">"Applis récentes"</string>
<string name="trackpad_recent_apps_summary" msgid="2685092851677573794">"Balayez vers le haut avec trois doigts, puis maintenez-les"</string>
<string name="trackpad_notifications_title" msgid="3521663305043747880">"Notifications"</string>
<string name="trackpad_notifications_summary" msgid="7663647367648690040">"Balayez l\'écran vers le bas avec trois doigts"</string>
- <string name="trackpad_switch_apps_title" msgid="7342032935377284039">"Changer d\'application"</string>
+ <string name="trackpad_switch_apps_title" msgid="7342032935377284039">"Changer d\'appli"</string>
<string name="trackpad_switch_apps_summary" msgid="9193942041912927440">"Balayez vers la gauche ou vers la droite avec quatre doigts"</string>
<string name="modifier_keys_settings" msgid="2537108435032034683">"Touches de modification"</string>
<string name="modifier_keys_settings_summary" msgid="6933143361657444436">"Modifier le comportement des touches"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Utilisateur sélectionné : <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Parole"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Vitesse du pointeur"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Manette de jeu"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Rediriger les vibrations"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Rediriger les vibrations vers la manette de jeu lorsqu\'elle est connectée"</string>
@@ -1983,7 +2018,7 @@
<string name="keyboard_layout_picker_category_title" msgid="2369473692906329772">"Dispositions du clavier physique"</string>
<string name="user_dict_settings_title" msgid="680410651924276991">"Dictionnaire personnel"</string>
<string name="user_dict_settings_for_work_title" msgid="1245315720684961770">"Dictionnaire personnel pour le travail"</string>
- <string name="user_dict_settings_summary" msgid="4939694372338975081">"Ajoutez des mots à utiliser dans des applications comme un correcteur orthographique"</string>
+ <string name="user_dict_settings_summary" msgid="4939694372338975081">"Ajoutez des mots à utiliser dans des applis comme un correcteur orthographique"</string>
<string name="user_dict_settings_add_menu_title" msgid="8046882347281382968">"Add"</string>
<string name="user_dict_settings_add_dialog_title" msgid="3485845465134083084">"Ajouter au dictionnaire"</string>
<string name="user_dict_settings_add_screen_title" msgid="1866408024073475379">"Expression"</string>
@@ -2009,12 +2044,12 @@
<string name="gadget_picker_title" msgid="7615902510050731400">"Choisir un gadget"</string>
<string name="widget_picker_title" msgid="7641298325488989676">"Choisir un widget"</string>
<string name="allow_bind_app_widget_activity_allow_bind_title" msgid="3537968409832846255">"Créer un widget et autoriser l\'accès?"</string>
- <string name="allow_bind_app_widget_activity_allow_bind" msgid="5825298768068148804">"Une fois le widget créé, l\'application peut accéder à tout ce qui est affiché.\n\nApplication : <xliff:g id="WIDGET_HOST_NAME">%1$s</xliff:g>\nWidget : <xliff:g id="WIDGET_LABEL">%2$s</xliff:g>\n"</string>
+ <string name="allow_bind_app_widget_activity_allow_bind" msgid="5825298768068148804">"Une fois le widget créé, l\'appli peut accéder à tout ce qui est affiché.\n\nAppli : <xliff:g id="WIDGET_HOST_NAME">%1$s</xliff:g>\nWidget : <xliff:g id="WIDGET_LABEL">%2$s</xliff:g>\n"</string>
<string name="allow_bind_app_widget_activity_always_allow_bind" msgid="7268758525344468364">"Toujours autoriser <xliff:g id="WIDGET_HOST_NAME">%1$s</xliff:g> à créer des widgets et accéder à leurs données"</string>
<string name="testing_usage_stats" msgid="4660643799010906365">"Données statistiques"</string>
<string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Trier par temps d\'utilisation"</string>
<string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Trier par dernière utilisation"</string>
- <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Trier par nom d\'application"</string>
+ <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Trier par nom d\'appli"</string>
<string name="last_time_used_label" msgid="7589377271406011659">"Dernière utilisation"</string>
<string name="last_time_used_never" msgid="2936073559267990034">"jamais"</string>
<string name="usage_time_label" msgid="9105343335151559883">"Temps d\'utilisation"</string>
@@ -2046,7 +2081,7 @@
<string name="interaction_control_category_title" msgid="2696474616743882372">"Commandes d\'interaction"</string>
<string name="accessibility_tap_assistance_title" msgid="1058913033421048284">"Commandes du minutage"</string>
<string name="accessibility_system_controls_title" msgid="6403287349518987624">"Commandes du système"</string>
- <string name="user_installed_services_category_title" msgid="2639470729311439731">"Applications téléchargées"</string>
+ <string name="user_installed_services_category_title" msgid="2639470729311439731">"Applis téléchargées"</string>
<string name="experimental_category_title" msgid="898904396646344152">"Fonctions expérimentales"</string>
<string name="feature_flags_dashboard_title" msgid="348990373716658289">"Indicateurs de fonctionnalité"</string>
<string name="bt_stack_log_level" msgid="6527899271926969296">"Activer le journal de la pile du Bluetooth"</string>
@@ -2086,7 +2121,7 @@
<string name="accessibility_magnification_mode_dialog_option_switch" msgid="561043521011229424">"Passer du mode plein écran au mode écran partiel"</string>
<string name="accessibility_magnification_area_settings_mode_switch_summary" msgid="2885238806099080966">"Touchez le bouton du commutateur pour passer d\'une option à l\'autre"</string>
<string name="accessibility_magnification_switch_shortcut_title" msgid="3671432048806533079">"Passer au bouton d\'accessibilité?"</string>
- <string name="accessibility_magnification_switch_shortcut_message" msgid="7718653917415163833">"L\'utilisation du triple toucher pour agrandir une partie de l\'écran a pour effet de retarder l\'entrée et les autres actions.\n\nLe bouton d\'accessibilité flotte sur votre écran par-dessus les autres applications. Touchez-le pour l\'agrandir."</string>
+ <string name="accessibility_magnification_switch_shortcut_message" msgid="7718653917415163833">"L\'utilisation du triple toucher pour agrandir une partie de l\'écran a pour effet de retarder l\'entrée et les autres actions.\n\nLe bouton d\'accessibilité flotte sur votre écran par-dessus les autres applis. Touchez-le pour l\'agrandir."</string>
<string name="accessibility_magnification_switch_shortcut_positive_button" msgid="2446942190957296957">"Passer au bouton d\'accessibilité"</string>
<string name="accessibility_magnification_switch_shortcut_negative_button" msgid="7115794462123071594">"Utiliser le triple toucher"</string>
<string name="accessibility_magnification_triple_tap_warning_title" msgid="8484669851397296597">"Cela peut ralentir votre clavier"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continuer quand même"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Annuler"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Paramètres d\'agrandissement"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Effectuez un panoramique avec un doigt"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Bouger la Loupe avec un doigt"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Glissez un doigt pour vous déplacer sur l\'écran"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Déplacez la zone d\'agrand. en faisant glisser un doigt."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Déplacez la zone d\'agrand. en faisant glisser deux doigts."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Non disponible lorsque vous agrandissez seulement une partie de l\'écran"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Touchez un bouton pour zoomer"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Zoomez rapidement pour agrandir le contenu"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Pour zoomer :</b><br/> {0,number,integer}. Utilisez le raccourci pour commencer l\'agrandissement<br/> {1,number,integer}. Touchez l\'écran<br/> {2,number,integer}. Faites glisser deux doigts pour naviguer dans l\'écran<br/> {3,number,integer}. Pincez l\'écran avec deux doigts pour ajuster le zoom<br/> {4,number,integer}. Utilisez le raccourci pour arrêter l\'agrandissement<br/><br/><b>Pour zoomer temporairement :</b><br/> {0,number,integer}. Assurez-vous que le type d\'agrandissement est défini à plein écran<br/> {1,number,integer}. Utilisez le raccourci pour commencer l\'agrandissement<br/> {2,number,integer}. Maintenez le doigt sur une zone de l\'écran<br/> {3,number,integer}. Faites glisser un doigt pour naviguer dans l\'écran<br/> {4,number,integer}. Levez le doigt pour arrêter l\'agrandissement"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Pour zoomer, procédez comme suit :</b><br/> {0,number,integer} Utilisez le raccourci pour commencer l\'agrandissement<br/> {1,number,integer}. Touchez l\'écran<br/> {2,number,integer}. Faites glisser deux doigts pour naviguer dans l\'écran<br/> {3,number,integer}. Pincez l\'écran avec deux doigts pour ajuster le zoom<br/> {4,number,integer}. Utilisez le raccourci pour arrêter l\'aggrandissement<br/><br/> Vous pouvez aussi zoomer temporairement et plus."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Pour zoomer, procédez comme suit :</b><br/> {0,number,integer} Utilisez le raccourci pour commencer l\'agrandissement<br/> {1,number,integer}. Touchez l\'écran<br/> {2,number,integer}. Faites glisser un ou deux doigts pour naviguer dans l\'écran<br/> {3,number,integer}. Pincez l\'écran avec deux doigts pour ajuster le zoom<br/> {4,number,integer}. Utilisez le raccourci pour arrêter l\'aggrandissement<br/><br/> Vous pouvez aussi zoomer temporairement et plus."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"When magnification is turned on, you can zoom in on your screen.\n\n"<b>"Pour effectuer un zoom,"</b>", activez cette fonction, puis touchez une zone de l\'écran.\n"<ul><li>"Glissez deux doigts ou plus sur l\'écran pour le faire défiler"</li>\n<li>"Pincez deux doigts ou plus pour ajuster le zoom"</li></ul>\n\n<b>"Pour zoomer temporairement l\'écran"</b>", touchez le bouton d\'accessibilité, puis maintenez le doigt sur ailleurs sur l\'écran.\n"<ul><li>"Glissez votre doigt sur l\'écran à l\'endroit désiré"</li>\n<li>"Relevez le doigt pour zoomer vers l\'arrière"</li></ul>\n\n"On ne peut pas zoomer sur le clavier ou la barre de navigation."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Page <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> sur <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Raccourci du bouton d\'accessibilité"</string>
@@ -2189,13 +2227,13 @@
<string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"En savoir plus sur le bouton d\'accessibilité et les gestes"</string>
<string name="accessibility_button_intro" msgid="2601976470525277903">"Utilisez le bouton d\'accessibilité. Le geste n\'est pas proposé avec la navigation à trois boutons."</string>
<string name="accessibility_button_summary" msgid="8510939012631455831">"Accès rapide aux fonctionnalités d\'accessibilité"</string>
- <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"<b>Pour commencer</b><br/> {0,number,integer}. Accédez aux paramètres d\'accessibilité<br/> {1,number,integer}. Sélectionnez une fonctionnalité et touchez le raccourci<br/> {2,number,integer}. Choisissez si vous voulez utiliser un bouton ou un geste pour accéder à la fonctionnalité<br/>"</string>
+ <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"<b>Pour commencer</b><br/> {0,number,integer}. Accédez aux paramètres d\'accessibilité.<br/> {1,number,integer}. Sélectionnez une fonctionnalité et touchez le raccourci.<br/> {2,number,integer}. Choisissez si vous voulez utiliser un bouton ou un geste pour accéder à la fonctionnalité.<br/>"</string>
<string name="accessibility_button_description" msgid="7669538706120092399">"<b>Pour commencer</b><br/> {0,number,integer}. Accédez aux paramètres d\'accessibilité<br/> {1,number,integer}. Sélectionnez une fonctionnalité et touchez le raccourci<br/> {2,number,integer}. Choisissez le bouton pour accéder à la fonctionnalité<br/>"</string>
<string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Utiliser le bouton ou le geste"</string>
<string name="accessibility_button_location_title" msgid="7182107846092304942">"Position"</string>
<string name="accessibility_button_size_title" msgid="5785110470538960881">"Taille"</string>
<string name="accessibility_button_fade_title" msgid="8081993897680588829">"Disparaît s\'il n\'est pas utilisé"</string>
- <string name="accessibility_button_fade_summary" msgid="7865950833524973709">"Disparaît après quelques secondes, l\'écran devient donc plus facile à voir"</string>
+ <string name="accessibility_button_fade_summary" msgid="7865950833524973709">"Disparaît après quelques secondes pour que vous puissiez mieux voir l\'écran"</string>
<string name="accessibility_button_opacity_title" msgid="4727355657530362289">"Transparent s\'il n\'est pas utilisé"</string>
<string name="accessibility_button_low_label" msgid="4193015407828927741">"Transparent"</string>
<string name="accessibility_button_high_label" msgid="9138077512008190896">"Opaque"</string>
@@ -2226,14 +2264,14 @@
<string name="accessibility_control_timeout_about_title" msgid="813588002683460837">"À propos du délai pour effectuer une action (accessibilité)"</string>
<string name="accessibility_control_timeout_footer_learn_more_content_description" msgid="8118584413220542193">"En savoir plus sur le délai pour effectuer une action (accessibilité)"</string>
<string name="accessibility_control_timeout_preference_title" msgid="1443940538597464758">"Temps pour réagir"</string>
- <string name="accessibility_control_timeout_preference_summary" msgid="4037051091059316310">"Cette préférence du temps d\'affichage n\'est pas prise en charge par toutes les applications"</string>
+ <string name="accessibility_control_timeout_preference_summary" msgid="4037051091059316310">"Cette préférence du temps d\'affichage n\'est pas prise en charge par toutes les applis"</string>
<string name="accessibility_control_timeout_preference_intro_text" msgid="1398116710556762245">"Choisissez la durée d\'affichage des messages temporaires qui vous demandent d\'effectuer une action"</string>
<string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Délai de pression"</string>
<string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Inversion des couleurs"</string>
<string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Utiliser l\'inversion des couleurs"</string>
<string name="accessibility_display_inversion_shortcut_title" msgid="6889624526691513462">"Raccourci de l\'inversion des couleurs"</string>
<string name="accessibility_display_inversion_preference_intro_text" msgid="1159663288481145318">"L\'inversion des couleurs assombrit les écrans lumineux. Elle illumine également les écrans sombres."</string>
- <string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>N\'oubliez pas</b><br/> <ol> <li> Les couleurs changeront dans les fichiers multimédias et les images.</li> <li> L\'inversion des couleurs fonctionne sur toutes les applications.</li> <li> Le thème sombre peut être utilisé pour afficher un arrière-plan sombre.</li> </ol>"</string>
+ <string name="accessibility_display_inversion_preference_subtitle" msgid="4494767676482389509">"<b>N\'oubliez pas</b><br/> <ol> <li> Les couleurs changeront dans les fichiers multimédias et les images.</li> <li> L\'inversion des couleurs fonctionne sur toutes les applis.</li> <li> Le thème sombre peut être utilisé pour afficher un arrière-plan sombre.</li> </ol>"</string>
<string name="accessibility_action_label_panel_slice" msgid="1313725957071602932">"accéder aux paramètres"</string>
<string name="accessibility_autoclick_preference_title" msgid="2703143361605555752">"Clic automatique (temps d\'arrêt)"</string>
<string name="accessibility_autoclick_about_title" msgid="152923024405552594">"Clic automatique (temps d\'arrêt)"</string>
@@ -2268,7 +2306,7 @@
<string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Retour tactile"</string>
<string name="accessibility_service_primary_switch_title" msgid="437610853412159406">"Utiliser <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
<string name="accessibility_service_primary_open_title" msgid="8655108684769091154">"Ouvrir <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
- <string name="accessibility_service_auto_added_qs_tooltip_content" msgid="2941824314912928072">"L\'application <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> a été ajoutée aux Paramètres rapides. Balayez vers le bas pour l\'activer ou la désactiver à tout moment."</string>
+ <string name="accessibility_service_auto_added_qs_tooltip_content" msgid="2941824314912928072">"L\'appli <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> a été ajoutée aux Paramètres rapides. Balayez vers le bas pour l\'activer ou la désactiver à tout moment."</string>
<string name="accessibility_service_qs_tooltip_content" msgid="6002493441414967868">"Vous pouvez également ajouter <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> aux Paramètres rapides à partir du haut de votre écran"</string>
<string name="accessibility_color_correction_auto_added_qs_tooltip_content" msgid="9092661358437404374">"La fonctionnalité de correction des couleurs a été ajoutée aux Paramètres rapides. Balayez vers le bas pour l\'activer ou la désactiver à tout moment."</string>
<string name="accessibility_color_correction_qs_tooltip_content" msgid="3258628434235475205">"Vous pouvez également ajouter la fonctionnalité de correction des couleurs aux Paramètres rapides à partir du haut de votre écran"</string>
@@ -2287,12 +2325,12 @@
<string name="accessibility_color_inversion_about_title" msgid="8275754480247040136">"À propos de l\'inversion des couleurs"</string>
<string name="accessibility_color_inversion_footer_learn_more_content_description" msgid="5382579548498952445">"En savoir plus sur l\'inversion des couleurs"</string>
<string name="accessibility_captioning_primary_switch_title" msgid="3663677340286206100">"Afficher les sous-titres"</string>
- <string name="accessibility_captioning_primary_switch_summary" msgid="2544094070306830218">"Pour l\'application prise en charge seulement"</string>
+ <string name="accessibility_captioning_primary_switch_summary" msgid="2544094070306830218">"Pour l\'appli prise en charge seulement"</string>
<string name="captioning_appearance_title" msgid="3128792092290011408">"Taille et style des sous-titres"</string>
<string name="captioning_appearance_summary" msgid="4620682807315588019">"Taille du texte : <xliff:g id="ACCESSIBILITY_FONT_SIZE">%1$s</xliff:g>"</string>
<string name="captioning_more_options_title" msgid="3484496882942539652">"Plus d\'options"</string>
<string name="accessibility_captioning_preference_intro" msgid="8995427146374031134">"Personnalisez la taille et le style des sous-titres pour les rendre plus faciles à lire"</string>
- <string name="accessibility_captioning_preference_summary" msgid="8335768472978374255">"Ces préférences de sous-titres ne sont pas prises en charge par toutes les applications multimédias"</string>
+ <string name="accessibility_captioning_preference_summary" msgid="8335768472978374255">"Ces préférences de sous-titres ne sont pas prises en charge par toutes les applis multimédias"</string>
<string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"bouton d\'accessibilité"</string>
<string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Balayer l\'écran du bas vers le haut avec deux doigts"</string>
<string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Maintenir enfoncées les touches de volume"</string>
@@ -2393,13 +2431,13 @@
<string name="color_magenta" msgid="8943538189219528423">"Magenta"</string>
<string name="enable_service_title" msgid="7231533866953706788">"Permettre au service <xliff:g id="SERVICE">%1$s</xliff:g> de contrôler complètement votre appareil?"</string>
<string name="capabilities_list_title" msgid="1225853611983394386">"<xliff:g id="SERVICE">%1$s</xliff:g> doit pouvoir :"</string>
- <string name="touch_filtered_warning" msgid="4225815157460318241">"Une application obscurcit une demande d\'autorisation, alors Paramètres ne peut pas vérifier votre réponse."</string>
- <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> demande l\'autorisation de contrôler cet appareil. Le service peut lire l\'écran et agir pour les utilisateurs qui font appels aux fonctions d\'accessibilité. Ce niveau de contrôle ne convient pas à la majorité des applications."</string>
- <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Le contrôle total convient aux applications qui répondent à vos besoins d\'accessibilité. Il ne convient pas à la plupart des applications."</string>
+ <string name="touch_filtered_warning" msgid="4225815157460318241">"Une appli obscurcit une demande d\'autorisation, alors Paramètres ne peut pas vérifier votre réponse."</string>
+ <string name="accessibility_service_warning" msgid="6779187188736432618">"<xliff:g id="SERVICE">%1$s</xliff:g> demande l\'autorisation de contrôler cet appareil. Le service peut lire l\'écran et agir pour les utilisateurs qui font appels aux fonctions d\'accessibilité. Ce niveau de contrôle ne convient pas à la majorité des applis."</string>
+ <string name="accessibility_service_warning_description" msgid="6573203795976134751">"Le contrôle total convient aux applis qui répondent à vos besoins d\'accessibilité. Il ne convient pas à la plupart des applis."</string>
<string name="accessibility_service_screen_control_title" msgid="324795030658109870">"Afficher et contrôler l\'écran"</string>
- <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Cette fonctionnalité peut lire tout le contenu à l\'écran et afficher du contenu par-dessus d\'autres applications."</string>
+ <string name="accessibility_service_screen_control_description" msgid="8431940515157990426">"Cette fonctionnalité peut lire tout le contenu à l\'écran et afficher du contenu par-dessus d\'autres applis."</string>
<string name="accessibility_service_action_perform_title" msgid="1449360056585337833">"Afficher et effectuer des actions"</string>
- <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Cette fonctionnalité peut faire le suivi de vos interactions avec une application ou un capteur matériel et interagir avec des applications en votre nom."</string>
+ <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Cette fonctionnalité peut faire le suivi de vos interactions avec une appli ou un capteur matériel et interagir avec des applis en votre nom."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Autoriser"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Refuser"</string>
<string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Désactiver"</string>
@@ -2468,9 +2506,9 @@
<string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Le temps d\'utilisation des écrans"</string>
<string name="power_usage_detail_background_time" msgid="3661437083554322691">"Le temps d\'utilisation en arrière-plan"</string>
<string name="low_battery_summary" msgid="4458925347316501953">"Pile faible"</string>
- <string name="background_activity_summary" msgid="3817376868497046016">"Autoriser l\'application à fonctionner en arrière-plan"</string>
+ <string name="background_activity_summary" msgid="3817376868497046016">"Autoriser l\'appli à fonctionner en arrière-plan"</string>
<string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Limiter l\'activité en arrière-plan?"</string>
- <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Si vous limitez l\'activité en arrière-plan d\'une application, cela peut provoquer un fonctionnement instable"</string>
+ <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Si vous limitez l\'activité en arrière-plan d\'une appli, cela peut provoquer un fonctionnement instable"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Comme cette appli n\'est pas config. pour optim. la pile, vous ne pouvez pas la restr.\n\nPour la restr., activez l\'optim. de pile."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Gérer l\'utilisation de la pile"</string>
<string name="manager_battery_usage_allow_background_usage_settings_title" msgid="8150026934645052635">"Autoriser l\'utilisation en arrière-plan"</string>
@@ -2480,10 +2518,10 @@
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimisée"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Limitée"</string>
<string name="manager_battery_usage_unrestricted_summary" msgid="6819279865465667692">"Autoriser l\'utilisation de la pile en arrière-plan sans restrictions. Cela pourrait solliciter davantage la pile."</string>
- <string name="manager_battery_usage_optimized_summary" msgid="1332545476428039900">"Optimiser en fonction de votre usage. Ce réglage est recommandé pour la plupart des applications."</string>
- <string name="manager_battery_usage_restricted_summary" msgid="8324695640704416905">"Restreindre l\'utilisation de la pile lors du fonctionnement en arrière-plan. L\'application pourrait ne pas fonctionner comme prévu. Les notifications pourraient être retardées."</string>
- <string name="manager_battery_usage_footer" msgid="2635906573922553766">"La modification de la manière dont une application utilise la pile peut avoir une incidence sur ses performances."</string>
- <string name="manager_battery_usage_footer_limited" msgid="5180776148877306780">"Cette application nécessite une utilisation <xliff:g id="STATE">%1$s</xliff:g> de la pile."</string>
+ <string name="manager_battery_usage_optimized_summary" msgid="1332545476428039900">"Optimiser en fonction de votre usage. Ce réglage est recommandé pour la plupart des applis."</string>
+ <string name="manager_battery_usage_restricted_summary" msgid="8324695640704416905">"Restreindre l\'utilisation de la pile lors du fonctionnement en arrière-plan. L\'appli pourrait ne pas fonctionner comme prévu. Les notifications pourraient être retardées."</string>
+ <string name="manager_battery_usage_footer" msgid="2635906573922553766">"La modification de la manière dont une appli utilise la pile peut avoir une incidence sur ses performances."</string>
+ <string name="manager_battery_usage_footer_limited" msgid="5180776148877306780">"Cette appli nécessite une utilisation <xliff:g id="STATE">%1$s</xliff:g> de la pile."</string>
<string name="manager_battery_usage_unrestricted_only" msgid="3646162131339418216">"sans restriction"</string>
<string name="manager_battery_usage_optimized_only" msgid="7121785281913056432">"optimisée"</string>
<string name="manager_battery_usage_link_a11y" msgid="374918091821438564">"En savoir plus à propos des options d\'utilisation de la pile"</string>
@@ -2493,11 +2531,11 @@
<string name="advanced_battery_preference_title" msgid="3790901207877260883">"Utilisation de la pile"</string>
<string name="advanced_battery_preference_summary_with_hours" msgid="954091349133320955">"Voir utilisation des dernières 24 heures"</string>
<string name="advanced_battery_preference_summary" msgid="2372763700477268393">"Utilisation depuis la charge complète"</string>
- <string name="battery_details_title" msgid="3289680399291090588">"Utilisation de la pile par les applications"</string>
+ <string name="battery_details_title" msgid="3289680399291090588">"Utilisation de la pile par les applis"</string>
<string name="details_subtitle" msgid="2550872569652785527">"Détails d\'utilisation"</string>
<string name="controls_subtitle" msgid="3759606830916441564">"Ajuster la consommation"</string>
<string name="packages_subtitle" msgid="8687690644931499428">"Modules inclus"</string>
- <string name="battery_tip_summary_title" msgid="321127485145626939">"Les applications fonctionnent normalement"</string>
+ <string name="battery_tip_summary_title" msgid="321127485145626939">"Les applis fonctionnent normalement"</string>
<string name="battery_tip_low_battery_title" msgid="4155239078744100997">"Pile faible"</string>
<string name="battery_tip_low_battery_summary" msgid="2629633757244297436">"Activez l\'économiseur de pile pour prolonger l\'autonomie de la pile"</string>
<string name="battery_tip_smart_battery_title" msgid="8925025450214912325">"Améliorer l\'autonomie de la pile"</string>
@@ -2508,40 +2546,40 @@
<string name="battery_saver_link_a11y" msgid="6613079613524512257">"En savoir plus à propos de l\'Économiseur de pile"</string>
<string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Certaines fonctionnalités pourraient être limitées"</string>
<string name="battery_tip_high_usage_title" msgid="9110720762506146697">"Utilisation plus élevée de la pile"</string>
- <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Affichez les applications qui utilisent le plus d\'énergie"</string>
+ <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Affichez les applis qui utilisent le plus d\'énergie"</string>
<string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"La recharge est optimisée afin de protéger votre pile"</string>
<string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"La recharge est optimisée afin de prolonger la durée de vie de votre pile"</string>
<string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"En savoir sur l\'interruption de la recharge"</string>
<string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Reprendre la charge"</string>
<string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Inclut les activités énergivores en arrière-plan"</string>
- <string name="battery_tip_restrict_title" msgid="4537101947310626753">"{count,plural, =1{Limiter # application}one{Limiter # application}other{Limiter # applications}}"</string>
- <string name="battery_tip_restrict_handled_title" msgid="7142074986508706853">"{count,plural, =1{{label} récemment limitée}one{# application récemment limitée}other{# applications récemment limitées}}"</string>
- <string name="battery_tip_restrict_summary" msgid="7539469590829235277">"{count,plural, =1{{label} consomme beaucoup d\'énergie en arrière-plan}one{# application consomme beaucoup d\'énergie en arrière-plan}other{# applications consomment beaucoup d\'énergie en arrière-plan}}"</string>
- <string name="battery_tip_restrict_handled_summary" msgid="3535697154547199190">"{count,plural, =1{Cette application ne peut pas fonctionner en arrière-plan}one{Cette application ne peut pas fonctionner en arrière-plan}other{Ces applications ne peuvent pas fonctionner en arrière-plan}}"</string>
- <string name="battery_tip_restrict_app_dialog_title" msgid="1649476357343160240">"{count,plural, =1{Limiter l\'application?}one{Limiter # application?}other{Limiter # applications?}}"</string>
- <string name="battery_tip_restrict_app_dialog_message" msgid="137856003724730751">"Pour économiser la pile, empêchez <xliff:g id="APP">%1$s</xliff:g> de l\'utiliser en arrière-plan. Il se peut que cette application ne fonctionne pas correctement et que les notifications soient retardées."</string>
- <string name="battery_tip_restrict_apps_less_than_5_dialog_message" msgid="5894648804112181324">"Pour économiser la pile, empêchez ces applications de l\'utiliser en arrière-plan. Il se peut que les applications restreintes ne fonctionnent pas correctement et que les notifications soient retardées.\n\nApplications :"</string>
- <string name="battery_tip_restrict_apps_more_than_5_dialog_message" msgid="4546838397423565138">"Pour économiser la pile, empêchez ces applications de l\'utiliser en arrière-plan. Il se peut que les applications restreintes ne fonctionnent pas correctement et que les notifications soient retardées.\n\nApplications :\n<xliff:g id="APP_LIST">%1$s</xliff:g>."</string>
+ <string name="battery_tip_restrict_title" msgid="4537101947310626753">"{count,plural, =1{Limiter # appli}one{Limiter # appli}other{Limiter # applis}}"</string>
+ <string name="battery_tip_restrict_handled_title" msgid="7142074986508706853">"{count,plural, =1{{label} récemment limitée}one{# appli récemment limitée}other{# applis récemment limitées}}"</string>
+ <string name="battery_tip_restrict_summary" msgid="7539469590829235277">"{count,plural, =1{{label} consomme beaucoup d\'énergie en arrière-plan}one{# appli consomme beaucoup d\'énergie en arrière-plan}other{# applis consomment beaucoup d\'énergie en arrière-plan}}"</string>
+ <string name="battery_tip_restrict_handled_summary" msgid="3535697154547199190">"{count,plural, =1{Cette appli ne peut pas fonctionner en arrière-plan}one{Cette appli ne peut pas fonctionner en arrière-plan}other{Ces applis ne peuvent pas fonctionner en arrière-plan}}"</string>
+ <string name="battery_tip_restrict_app_dialog_title" msgid="1649476357343160240">"{count,plural, =1{Limiter l\'appli?}one{Limiter # appli?}other{Limiter # applis?}}"</string>
+ <string name="battery_tip_restrict_app_dialog_message" msgid="137856003724730751">"Pour économiser la pile, empêchez <xliff:g id="APP">%1$s</xliff:g> de l\'utiliser en arrière-plan. Il se peut que cette appli ne fonctionne pas correctement et que les notifications soient retardées."</string>
+ <string name="battery_tip_restrict_apps_less_than_5_dialog_message" msgid="5894648804112181324">"Pour économiser la pile, empêchez ces applis de l\'utiliser en arrière-plan. Il se peut que les applis restreintes ne fonctionnent pas correctement et que les notifications soient retardées.\n\nApplis :"</string>
+ <string name="battery_tip_restrict_apps_more_than_5_dialog_message" msgid="4546838397423565138">"Pour économiser la pile, empêchez ces applis de l\'utiliser en arrière-plan. Il se peut que les applis restreintes ne fonctionnent pas correctement et que les notifications soient retardées.\n\nApplis :\n<xliff:g id="APP_LIST">%1$s</xliff:g>."</string>
<string name="battery_tip_restrict_app_dialog_ok" msgid="7025027696689301916">"Restreindre"</string>
<string name="battery_tip_unrestrict_app_dialog_title" msgid="5501997201160532301">"Supprimer la restriction?"</string>
- <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Cette application pourra utiliser la pile en arrière-plan. Cela pourrait épuiser la pile plus rapidement."</string>
+ <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Cette appli pourra utiliser la pile en arrière-plan. Cela pourrait épuiser la pile plus rapidement."</string>
<string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Supprimer"</string>
<string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Annuler"</string>
<string name="battery_tip_charge_to_full_button" msgid="9172893341338732733">"Ignorer"</string>
<string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Vérifier l\'accessoire de recharge"</string>
<string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"En savoir plus sur les chargeurs incompatibles"</string>
<string name="smart_battery_manager_title" msgid="3677620516657920364">"Gestionnaire de pile"</string>
- <string name="smart_battery_title" msgid="9095903608520254254">"Gérer les applications automatiquement"</string>
- <string name="smart_battery_footer" msgid="8407121907452993645">"Lorsque le gestionnaire de pile détecte que des applications drainent la pile, il vous offrira la possibilité de les restreindre. Il se peut que les applications restreintes ne fonctionnent pas correctement et que les notifications soient retardées."</string>
- <string name="restricted_app_title" msgid="6585080822121007436">"Applications restreintes"</string>
- <string name="restricted_app_summary" msgid="1022307922754893997">"{count,plural, =1{L\'utilisation de la pile est limitée pour # application}one{L\'utilisation de la pile est limitée pour # application}other{L\'utilisation de la pile est limitée pour # applications}}"</string>
- <string name="restricted_app_time_summary" msgid="3097721884155913252">"Application restreinte : <xliff:g id="TIME">%1$s</xliff:g>"</string>
- <string name="restricted_app_detail_footer" msgid="3495725286882138803">"Ces applications sont limitées à l\'utilisation de la pile en arrière-plan. Il se peut qu\'elles ne fonctionnent pas comme prévu et que les notifications soient retardées."</string>
+ <string name="smart_battery_title" msgid="9095903608520254254">"Gérer les applis automatiquement"</string>
+ <string name="smart_battery_footer" msgid="8407121907452993645">"Lorsque le gestionnaire de pile détecte que des applis drainent la pile, il vous offrira la possibilité de les restreindre. Il se peut que les applis restreintes ne fonctionnent pas correctement et que les notifications soient retardées."</string>
+ <string name="restricted_app_title" msgid="6585080822121007436">"Applis restreintes"</string>
+ <string name="restricted_app_summary" msgid="1022307922754893997">"{count,plural, =1{L\'utilisation de la pile est limitée pour # appli}one{L\'utilisation de la pile est limitée pour # appli}other{L\'utilisation de la pile est limitée pour # applis}}"</string>
+ <string name="restricted_app_time_summary" msgid="3097721884155913252">"Appli restreinte : <xliff:g id="TIME">%1$s</xliff:g>"</string>
+ <string name="restricted_app_detail_footer" msgid="3495725286882138803">"Ces applis sont limitées à l\'utilisation de la pile en arrière-plan. Il se peut qu\'elles ne fonctionnent pas comme prévu et que les notifications soient retardées."</string>
<string name="battery_auto_restriction_title" msgid="827206218118093357">"Utiliser le gestionnaire de pile"</string>
- <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Détecter quand les applications drainent la pile"</string>
- <string name="battery_manager_summary" msgid="255708681438809287">"Détecter quand les applications sollicitent beaucoup la pile"</string>
- <string name="battery_manager_summary_unsupported" msgid="7334173707292807964">"Détecter quand les applications sollicitent beaucoup la pile"</string>
- <string name="battery_manager_app_restricted" msgid="2583902700677009173">"{count,plural, =1{# application limitée}one{# application limitée}other{# applications limitées}}"</string>
+ <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Détecter quand les applis drainent la pile"</string>
+ <string name="battery_manager_summary" msgid="255708681438809287">"Détecter quand les applis sollicitent beaucoup la pile"</string>
+ <string name="battery_manager_summary_unsupported" msgid="7334173707292807964">"Détecter quand les applis sollicitent beaucoup la pile"</string>
+ <string name="battery_manager_app_restricted" msgid="2583902700677009173">"{count,plural, =1{# appli limitée}one{# appli limitée}other{# applis limitées}}"</string>
<string name="battery_missing_message" msgid="400958471814422770">"Un problème est survenu lors de la lecture du niveau de charge de la pile."</string>
<string name="battery_missing_link_message" msgid="6021565067124898074"></string>
<string name="battery_missing_link_a11y_message" msgid="3310971406602316323">"Touchez pour en savoir plus à propos de cette erreur"</string>
@@ -2566,16 +2604,16 @@
<string name="battery_not_usage_24hr" msgid="8397519536160741248">"Aucune utilisation au cours des dernières 24 heures"</string>
<string name="battery_usage_without_time" msgid="1346894834339420538"></string>
<string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"depuis la dernière recharge complète"</string>
- <string name="battery_usage_system_apps" msgid="8659537819731575299">"Applications système"</string>
- <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Applications désinstallées"</string>
+ <string name="battery_usage_system_apps" msgid="8659537819731575299">"Applis système"</string>
+ <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Applis désinstallées"</string>
<string name="battery_usage_others" msgid="311793281613609986">"Autres"</string>
<string name="estimated_time_left" msgid="948717045180211777">"Temps restant estimé"</string>
<string name="estimated_charging_time_left" msgid="2287135413363961246">"Jusqu\'à la charge complète"</string>
<string name="estimated_time_description" msgid="211058785418596009">"La durée estimée peut changer en fonction de l\'utilisation"</string>
<string name="process_mediaserver_label" msgid="6135260215912215092">"Serveur multimédia"</string>
- <string name="process_dex2oat_label" msgid="1190208677726583153">"Optimisation des applications"</string>
+ <string name="process_dex2oat_label" msgid="1190208677726583153">"Optimisation des applis"</string>
<string name="process_network_tethering" msgid="6822671758152900766">"Partage de connexion"</string>
- <string name="process_removed_apps" msgid="6544406592678476902">"Applications retirées"</string>
+ <string name="process_removed_apps" msgid="6544406592678476902">"Applis retirées"</string>
<string name="battery_saver" msgid="7737147344510595864">"Économiseur de pile"</string>
<string name="battery_saver_auto_title" msgid="6789753787070176144">"Activer automatiquement"</string>
<string name="battery_saver_auto_no_schedule" msgid="5123639867350138893">"Aucun horaire"</string>
@@ -2600,14 +2638,14 @@
<string name="battery_percentage_description" msgid="2321465139126125541">"Afficher le pourcentage de charge de la pile dans la barre d\'état"</string>
<string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Niveau de la pile depuis la dernière recharge complète"</string>
<string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Niveau de la pile, dernières 24 h"</string>
- <string name="battery_app_usage" msgid="8976453608783133770">"Utilisation des applications depuis la dernière charge complète"</string>
- <string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Utilisation par application, dernières 24 h"</string>
+ <string name="battery_app_usage" msgid="8976453608783133770">"Utilisation des applis depuis la dernière charge complète"</string>
+ <string name="battery_app_usage_for_past_24" msgid="1234770810563940656">"Utilisation par appli, dernières 24 h"</string>
<string name="battery_system_usage" msgid="1395943945140097585">"Utilisation du système depuis la dernière recharge complète"</string>
<string name="battery_system_usage_for_past_24" msgid="3341520273114616263">"Utilisation par le système, dernières 24 h"</string>
<string name="battery_system_usage_for" msgid="3248552137819897140">"Utilisation par le système : <xliff:g id="SLOT">%s</xliff:g>"</string>
- <string name="battery_app_usage_for" msgid="7309909074935858949">"Utilisation par l\'application : <xliff:g id="SLOT">%s</xliff:g>"</string>
+ <string name="battery_app_usage_for" msgid="7309909074935858949">"Utilisation par l\'appli : <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="battery_system_usage_since_last_full_charge_to" msgid="4196795733829841971">"Utilisation du système depuis la dernière recharge complète jusqu\'à <xliff:g id="SLOT_TIMESTAMP">%s</xliff:g>"</string>
- <string name="battery_app_usage_since_last_full_charge_to" msgid="4339201995118102114">"Utilisation des applications depuis la dernière recharge complète jusqu\'à <xliff:g id="SLOT_TIMESTAMP">%s</xliff:g>"</string>
+ <string name="battery_app_usage_since_last_full_charge_to" msgid="4339201995118102114">"Utilisation des applis depuis la dernière recharge complète jusqu\'à <xliff:g id="SLOT_TIMESTAMP">%s</xliff:g>"</string>
<string name="battery_usage_total_less_than_one_minute" msgid="951460680288855780">"Total : moins d\'une minute"</string>
<string name="battery_usage_background_less_than_one_minute" msgid="267133882897827276">"Arrière-plan : moins d\'une minute"</string>
<string name="battery_usage_screen_time_less_than_one_minute" msgid="578511021578427369">"Temps d\'utilisation des écrans : moins d\'une minute"</string>
@@ -2629,7 +2667,7 @@
<string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Utilisation de la pile : <xliff:g id="SLOT">%s</xliff:g>"</string>
<string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Temps d\'utilisation des écrans depuis la dernière recharge complète"</string>
<string name="screen_time_category_for_slot" msgid="8287722270554654959">"Temps d\'utilisation des écrans pour <xliff:g id="SLOT">%s</xliff:g>"</string>
- <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Afficher par application"</string>
+ <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Afficher par appli"</string>
<string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Afficher par système"</string>
<string name="battery_usage_less_than_percent" msgid="5873099028895001082">"< <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
<string name="battery_usage_less_than_percent_content_description" msgid="6265933174815461493">"moins de <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
@@ -2675,7 +2713,7 @@
<string name="voice_service_preference_section_title" msgid="4807795449147187497">"Services d\'entrée vocale"</string>
<string name="voice_interactor_preference_summary" msgid="3942881638813452880">"Détection de mot clé et interaction totales"</string>
<string name="voice_recognizer_preference_summary" msgid="9195427725367463336">"Synthèse vocale simple"</string>
- <string name="voice_interaction_security_warning" msgid="7962884055885987671">"Ce service d\'entrée vocale pourra contrôler en permanence les fonctionnalités vocales et utiliser en votre nom les applications commandées par la voix. Il provient de l\'application <xliff:g id="VOICE_INPUT_SERVICE_APP_NAME">%s</xliff:g>. Autoriser l\'utilisation de ce service?"</string>
+ <string name="voice_interaction_security_warning" msgid="7962884055885987671">"Ce service d\'entrée vocale pourra contrôler en permanence les fonctionnalités vocales et utiliser en votre nom les applis commandées par la voix. Il provient de l\'appli <xliff:g id="VOICE_INPUT_SERVICE_APP_NAME">%s</xliff:g>. Autoriser l\'utilisation de ce service?"</string>
<string name="on_device_recognition_settings" msgid="6503160369314598069">"Paramètres de reconnaissance sur l\'appareil"</string>
<string name="on_device_recognition_settings_title" msgid="7137599722039096545">"Reconnaissance sur l\'appareil"</string>
<string name="on_device_recognition_settings_summary" msgid="3292736423223499348">"Reconnaissance vocale sur l\'appareil"</string>
@@ -2686,8 +2724,8 @@
<string name="tts_install_voice_title" msgid="5133545696447933812">"Voix"</string>
<string name="tts_spoken_language" msgid="4652894245474520872">"Langue parlée"</string>
<string name="tts_install_voices_title" msgid="6505257816336165782">"installer des voix"</string>
- <string name="tts_install_voices_text" msgid="902408506519246362">"Continuer vers l\'application <xliff:g id="TTS_APP_NAME">%s</xliff:g> pour installer des voix"</string>
- <string name="tts_install_voices_open" msgid="919034855418197668">"Ouvrir l\'application"</string>
+ <string name="tts_install_voices_text" msgid="902408506519246362">"Continuer vers l\'appli <xliff:g id="TTS_APP_NAME">%s</xliff:g> pour installer des voix"</string>
+ <string name="tts_install_voices_open" msgid="919034855418197668">"Ouvrir l\'appli"</string>
<string name="tts_install_voices_cancel" msgid="5179154684379560628">"Annuler"</string>
<string name="tts_reset" msgid="9047681050813970031">"Réinitialiser"</string>
<string name="tts_play" msgid="2945513377250757221">"Lire"</string>
@@ -2720,7 +2758,7 @@
<string name="user_credentials_summary" msgid="686471637627271856">"Afficher et modifier les authentifiants stockés"</string>
<string name="advanced_security_title" msgid="7117581975877192652">"Paramètres avancés"</string>
<string name="credentials_settings_not_available" msgid="7433088409177429600">"Les authentifiants ne sont pas accessibles pour cet utilisateur"</string>
- <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Installé pour le RPV et les applications"</string>
+ <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Installé pour le RPV et les applis"</string>
<string name="credential_for_wifi" msgid="2286560570630763556">"Installé pour le Wi-Fi"</string>
<string name="credential_installed_for_wifi" msgid="2206050464844710099">"Installé pour <xliff:g id="SSID">%s</xliff:g>"</string>
<string name="credential_using_for_wifi" msgid="6134471366188592845">"Utiliser pour <xliff:g id="SSID">%s</xliff:g>"</string>
@@ -2733,22 +2771,22 @@
<string name="user_certificate" msgid="6897024598058566466">"Certif. RPV et d\'appli de l\'util."</string>
<string name="wifi_certificate" msgid="8461905432409380387">"Certificat Wi‑Fi"</string>
<string name="ca_certificate_warning_title" msgid="7951148441028692619">"Vos données ne seront pas privées"</string>
- <string name="ca_certificate_warning_description" msgid="8409850109551028774">"Les certificats CA sont employés par les sites Web, les applications et les RPV pour assurer le chiffrement. Installez uniquement les certificats CA provenant d\'organisations en qui vous avez confiance. \n\nSi vous installez un certificat CA, son propriétaire pourrait accéder à vos données, comme vos mots de passe ou vos renseignements de cartes de crédit, provenant de sites Web que vous visitez ou d\'applications que vous utilisez, même si ces données sont chiffrées."</string>
+ <string name="ca_certificate_warning_description" msgid="8409850109551028774">"Les certificats CA sont employés par les sites Web, les applis et les RPV pour assurer le chiffrement. Installez uniquement les certificats CA provenant d\'organisations en qui vous avez confiance. \n\nSi vous installez un certificat CA, son propriétaire pourrait accéder à vos données, comme vos mots de passe ou vos renseignements de cartes de crédit, provenant de sites Web que vous visitez ou d\'applis que vous utilisez, même si ces données sont chiffrées."</string>
<string name="certificate_warning_dont_install" msgid="3794366420884560605">"Ne pas installer"</string>
<string name="certificate_warning_install_anyway" msgid="4633118283407228740">"Installer quand même"</string>
<string name="cert_not_installed" msgid="6725137773549974522">"Certificat non installé"</string>
<string name="request_manage_credentials_title" msgid="596805634568013413">"Autoriser "<b>"<xliff:g id="APP_NAME">^1</xliff:g>"</b>" à installer des certificats sur cet appareil?"</string>
- <string name="request_manage_credentials_description" msgid="8044839857171509619">"Ces certificats vous vérifieront en partageant l\'identifiant unique de votre appareil avec les applications et les URL ci-dessous"</string>
+ <string name="request_manage_credentials_description" msgid="8044839857171509619">"Ces certificats vous vérifieront en partageant l\'identifiant unique de votre appareil avec les applis et les URL ci-dessous"</string>
<string name="request_manage_credentials_dont_allow" msgid="3630610197644877809">"Ne pas autoriser"</string>
<string name="request_manage_credentials_allow" msgid="4910940118408348245">"Autoriser"</string>
<string name="request_manage_credentials_more" msgid="6101210283534101582">"Afficher plus d\'options"</string>
<string name="certificate_management_app" msgid="8086699498358080826">"Appli de gest. de certificats"</string>
<string name="no_certificate_management_app" msgid="3025739370424406717">"Aucune"</string>
- <string name="certificate_management_app_description" msgid="8507306554200869005">"Des certificats vous vérifieront lorsque vous utiliserez les applications et les URL ci-dessous"</string>
+ <string name="certificate_management_app_description" msgid="8507306554200869005">"Des certificats vous vérifieront lorsque vous utiliserez les applis et les URL ci-dessous"</string>
<string name="uninstall_certs_credential_management_app" msgid="4945883254446077354">"Désinstaller les certificats"</string>
- <string name="remove_credential_management_app" msgid="6089291496976812786">"Retirer l\'application"</string>
- <string name="remove_credential_management_app_dialog_title" msgid="5713525435104706772">"Retirer cette application?"</string>
- <string name="remove_credential_management_app_dialog_message" msgid="7739474298063646935">"Cette application ne gérera pas les certificats, mais elle restera sur votre appareil. Tout certificat installé par l\'application sera désinstallé."</string>
+ <string name="remove_credential_management_app" msgid="6089291496976812786">"Retirer l\'appli"</string>
+ <string name="remove_credential_management_app_dialog_title" msgid="5713525435104706772">"Retirer cette appli?"</string>
+ <string name="remove_credential_management_app_dialog_message" msgid="7739474298063646935">"Cette appli ne gérera pas les certificats, mais elle restera sur votre appareil. Tout certificat installé par l\'appli sera désinstallé."</string>
<string name="number_of_urls" msgid="1128699121050872188">"{count,plural, =1{# URL}one{# URL}other{# URL}}"</string>
<string name="emergency_tone_title" msgid="6673118505206685168">"Signal de composition d\'urgence"</string>
<string name="emergency_tone_summary" msgid="2519776254708767388">"Définir le comportement en cas d\'appel d\'urgence"</string>
@@ -2756,35 +2794,35 @@
<string name="backup_section_title" msgid="6539706829848457794">"Sauvegarde et restauration"</string>
<string name="personal_data_section_title" msgid="6368610168625722682">"Données personnelles"</string>
<string name="backup_data_title" msgid="507663517227498525">"Sauvegarder mes données"</string>
- <string name="backup_data_summary" msgid="8054551085241427531">"Sauvegarder les données d\'applications, les mots de passe Wi-Fi et d\'autres paramètres sur les serveurs Google"</string>
+ <string name="backup_data_summary" msgid="8054551085241427531">"Sauvegarder les données d\'applis, les mots de passe Wi-Fi et d\'autres paramètres sur les serveurs Google"</string>
<string name="backup_configure_account_title" msgid="8574055186903658842">"Compte de sauvegarde"</string>
<string name="backup_data_management_title" msgid="6596830198441939702">"Gérer le compte de sauvegarde"</string>
- <string name="include_app_data_title" msgid="2969603876620594523">"Inclure données applications"</string>
+ <string name="include_app_data_title" msgid="2969603876620594523">"Inclure données applis"</string>
<string name="auto_restore_title" msgid="4124345897936637561">"Restauration automatique"</string>
- <string name="auto_restore_summary" msgid="6830198851045584001">"Lors de la réinstallation d\'une application, restaurer les paramètres et les données sauvegardées"</string>
+ <string name="auto_restore_summary" msgid="6830198851045584001">"Lors de la réinstallation d\'une appli, restaurer les paramètres et les données sauvegardées"</string>
<string name="backup_inactive_title" msgid="6753265378043349277">"Le service de sauvegarde n\'est pas actif"</string>
<string name="backup_configure_account_default_summary" msgid="5323225330966306690">"Actuellement, aucun compte n\'enregistre de données de sauvegarde"</string>
<string name="backup_erase_dialog_title" msgid="5892431263348766484"></string>
- <string name="backup_erase_dialog_message" msgid="2250872501409574331">"Voulez-vous vraiment arrêter de sauvegarder vos mots de passe Wi-Fi, vos favoris, ainsi que d\'autres paramètres et données d\'applications, et en effacer toutes les copies des serveurs Google?"</string>
- <string name="fullbackup_erase_dialog_message" msgid="2379053988557486162">"Voulez-vous vraiment arrêter de sauvegarder les données de l\'appareil (comme les mots de passe Wi-Fi et l\'historique des appels) et celles des applications (telles que les paramètres et les fichiers enregistrés par ces applications), et en effacer toutes les copies sur les serveurs distants?"</string>
- <string name="fullbackup_data_summary" msgid="971587401251601473">"Sauvegardez automatiquement les données de l\'appareil (comme les mots de passe Wi-Fi et l\'historique des appels) et celles des applications (telles que les paramètres et les fichiers enregistrés par ces applications) à distance.\n\nLorsque vous activez la sauvegarde automatique, les données de l\'appareil et des applications sont enregistrées régulièrement à distance. Les données d\'applications correspondent à toutes les données enregistrées par une application (en fonction des paramètres que le développeur définit), y compris les données potentiellement confidentielles comme les contacts, les messages et les photos."</string>
+ <string name="backup_erase_dialog_message" msgid="2250872501409574331">"Voulez-vous vraiment arrêter de sauvegarder vos mots de passe Wi-Fi, vos favoris, ainsi que d\'autres paramètres et données d\'applis, et en effacer toutes les copies des serveurs Google?"</string>
+ <string name="fullbackup_erase_dialog_message" msgid="2379053988557486162">"Voulez-vous vraiment arrêter de sauvegarder les données de l\'appareil (comme les mots de passe Wi-Fi et l\'historique des appels) et celles des applis (telles que les paramètres et les fichiers enregistrés par ces applis), et en effacer toutes les copies sur les serveurs distants?"</string>
+ <string name="fullbackup_data_summary" msgid="971587401251601473">"Sauvegardez automatiquement les données de l\'appareil (comme les mots de passe Wi-Fi et l\'historique des appels) et celles des applis (telles que les paramètres et les fichiers enregistrés par ces applis) à distance.\n\nLorsque vous activez la sauvegarde automatique, les données de l\'appareil et des applis sont enregistrées régulièrement à distance. Les données d\'applis correspondent à toutes les données enregistrées par une appli (en fonction des paramètres que le développeur définit), y compris les données potentiellement confidentielles comme les contacts, les messages et les photos."</string>
<string name="device_admin_settings_title" msgid="31392408594557070">"Paramètres d\'administration de l\'appareil"</string>
<string name="active_device_admin_msg" msgid="7744106305636543184">"Appli d\'administration de l\'appareil"</string>
- <string name="remove_device_admin" msgid="3143059558744287259">"Désactiver cette application d\'administration d\'appareil"</string>
- <string name="uninstall_device_admin" msgid="4481095209503956916">"Désinstaller l\'application"</string>
+ <string name="remove_device_admin" msgid="3143059558744287259">"Désactiver cette appli d\'administration d\'appareil"</string>
+ <string name="uninstall_device_admin" msgid="4481095209503956916">"Désinstaller l\'appli"</string>
<string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Désactiver et désinstaller"</string>
- <string name="select_device_admin_msg" msgid="5501360309040114486">"Applications d\'administration d\'appareils"</string>
- <string name="no_device_admins" msgid="8888779888103079854">"Il n\'y a aucune application d\'administration d\'appareil"</string>
+ <string name="select_device_admin_msg" msgid="5501360309040114486">"Applis d\'administration d\'appareils"</string>
+ <string name="no_device_admins" msgid="8888779888103079854">"Il n\'y a aucune appli d\'administration d\'appareil"</string>
<string name="no_trust_agents" msgid="8659098725864191600">"Aucun agent de confiance disponible"</string>
<string name="add_device_admin_msg" msgid="7730006568970042119">"Activer l\'appli d\'admin de l\'appareil?"</string>
- <string name="add_device_admin" msgid="6252128813507932519">"Activer l\'application d\'administration de l\'appareil"</string>
+ <string name="add_device_admin" msgid="6252128813507932519">"Activer l\'appli d\'administration de l\'appareil"</string>
<string name="device_admin_add_title" msgid="6087481040932322289">"Administrateur de l\'appareil"</string>
- <string name="device_admin_warning" msgid="1889160106787280321">"L\'activation de cette application d\'administration permettra à <xliff:g id="APP_NAME">%1$s</xliff:g> d\'effectuer les opérations suivantes :"</string>
+ <string name="device_admin_warning" msgid="1889160106787280321">"L\'activation de cette appli d\'administration permettra à <xliff:g id="APP_NAME">%1$s</xliff:g> d\'effectuer les opérations suivantes :"</string>
<string name="device_admin_warning_simplified" msgid="2715756519899116115">"Cet appareil sera géré et surveillé par <xliff:g id="APP_NAME">%1$s</xliff:g>."</string>
- <string name="device_admin_status" msgid="6332571781623084064">"Cette application d\'administration est active et permet à l\'application <xliff:g id="APP_NAME">%1$s</xliff:g> d\'effectuer les opérations suivantes :"</string>
+ <string name="device_admin_status" msgid="6332571781623084064">"Cette appli d\'administration est active et permet à l\'appli <xliff:g id="APP_NAME">%1$s</xliff:g> d\'effectuer les opérations suivantes :"</string>
<string name="profile_owner_add_title" msgid="2774489881662331549">"Activer le gestionnaire de profil?"</string>
<string name="profile_owner_add_title_simplified" msgid="2320828996993774182">"Autoriser la supervision?"</string>
- <string name="adding_profile_owner_warning" msgid="6868275476058020513">"En continuant, votre utilisateur sera géré par votre administrateur, qui pourra aussi stocker des données associées en plus de vos données personnelles.\n\nVotre administrateur peut surveiller et gérer les paramètres, l\'accès, les applications et les données associées à cet utilisateur, y compris l\'activité réseau et les données de localisation de votre appareil."</string>
+ <string name="adding_profile_owner_warning" msgid="6868275476058020513">"En continuant, votre utilisateur sera géré par votre administrateur, qui pourra aussi stocker des données associées en plus de vos données personnelles.\n\nVotre administrateur peut surveiller et gérer les paramètres, l\'accès, les applis et les données associées à cet utilisateur, y compris l\'activité réseau et les données de localisation de votre appareil."</string>
<string name="admin_disabled_other_options" msgid="8122039047419172139">"D\'autres options sont désactivées par votre administrateur"</string>
<string name="admin_more_details" msgid="4928985331640193758">"En savoir plus"</string>
<string name="notification_log_title" msgid="2812594935014664891">"Journal des notifications"</string>
@@ -2805,12 +2843,12 @@
<string name="sync_is_failing" msgid="6738004111400633331">"La synchronisation rencontre actuellement des problèmes. Elle sera rétablie sous peu."</string>
<string name="add_account_label" msgid="7134707140831385869">"Ajouter un compte"</string>
<string name="managed_profile_not_available_label" msgid="7500578232182547365">"Le profil professionnel n\'est pas encore disponible"</string>
- <string name="work_mode_label" msgid="4687734487641548872">"Applications professionnelles"</string>
+ <string name="work_mode_label" msgid="4687734487641548872">"Applis professionnelles"</string>
<string name="remove_managed_profile_label" msgid="1294933737673830431">"Retirer le profil professionnel"</string>
<string name="background_data" msgid="321903213000101158">"Données en arrière-plan"</string>
<string name="background_data_summary" msgid="6572245922513522466">"Synchronisation, envoi et réception de données à tout moment"</string>
<string name="background_data_dialog_title" msgid="1692005302993229867">"Dés. données arr.-plan?"</string>
- <string name="background_data_dialog_message" msgid="7760280837612824670">"La désactivation des données en arrière-plan économise la batterie et réduit l\'utilisation des données. Certaines applications peuvent continuer d\'utiliser la connexion Internet en arrière-plan."</string>
+ <string name="background_data_dialog_message" msgid="7760280837612824670">"La désactivation des données en arrière-plan économise la batterie et réduit l\'utilisation des données. Certaines applis peuvent continuer d\'utiliser la connexion Internet en arrière-plan."</string>
<string name="sync_enabled" msgid="5794103781356455043">"Synchronisation activée"</string>
<string name="sync_disabled" msgid="1636223106968593391">"Synchronisation désactivée"</string>
<string name="sync_error" msgid="846923369794727644">"Erreur de synchronisation"</string>
@@ -2825,7 +2863,7 @@
<string name="sync_gmail" msgid="228561698646018808">"Gmail"</string>
<string name="sync_calendar" msgid="4603704438090387251">"# CALENDAR:"</string>
<string name="sync_contacts" msgid="2376465611511325472">"Contacts"</string>
- <string name="header_application_sync_settings" msgid="7427706834875419243">"Paramètres de synchronisation de l\'application"</string>
+ <string name="header_application_sync_settings" msgid="7427706834875419243">"Paramètres de synchronisation de l\'appli"</string>
<string name="header_data_and_synchronization" msgid="453920312552838939">"Données et synchronisation"</string>
<string name="preference_change_password_title" msgid="5465821666939825972">"Modifier le mot de passe"</string>
<string name="header_account_settings" msgid="1189339410278750008">"Paramètres de compte"</string>
@@ -2844,7 +2882,7 @@
<string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Sync. auto des données privées"</string>
<string name="data_usage_change_cycle" msgid="4501026427365283899">"Changer le cycle..."</string>
<string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Jour du mois de réinitialisation du cycle utilisation données :"</string>
- <string name="data_usage_empty" msgid="5619908658853726866">"Aucune donnée utilisée par les applications pendant cette période."</string>
+ <string name="data_usage_empty" msgid="5619908658853726866">"Aucune donnée utilisée par les applis pendant cette période."</string>
<string name="data_usage_label_foreground" msgid="8782117644558473624">"Avant-plan"</string>
<string name="data_usage_label_background" msgid="8862781660427421859">"Arrière-plan"</string>
<string name="data_usage_app_restricted" msgid="312065316274378518">"limitée"</string>
@@ -2866,12 +2904,12 @@
<string name="data_roaming_enable_mobile" msgid="5745287603577995977">"Itinérance"</string>
<string name="data_usage_forground_label" msgid="5762048187044975428">"Premier plan :"</string>
<string name="data_usage_background_label" msgid="5363718469293175279">"Arrière-plan :"</string>
- <string name="data_usage_app_settings" msgid="5693524672522122485">"Paramètres de l\'application"</string>
+ <string name="data_usage_app_settings" msgid="5693524672522122485">"Paramètres de l\'appli"</string>
<string name="data_usage_app_restrict_background" msgid="5728840276368097276">"Données en arrière-plan"</string>
<string name="data_usage_app_restrict_background_summary" msgid="2997942775999602794">"Activer l\'utilisation de données cellulaires en arrière-plan"</string>
<string name="data_usage_app_restrict_background_summary_disabled" msgid="8213268097024597864">"Pour restreindre les données en arrière-plan, définissez un quota de données cellulaires."</string>
<string name="data_usage_app_restrict_dialog_title" msgid="5383874438677899255">"Limiter les données en arrière-plan?"</string>
- <string name="data_usage_app_restrict_dialog" msgid="5534272311979978297">"Cette fonctionnalité peut empêcher certaines applications de s\'exécuter lorsque celles-ci sont dépendantes des données en arrière-plan et que seuls des réseaux mobiles sont disponibles.\n\nVous trouverez des options plus adaptées en matière de contrôle de la consommation des données dans les paramètres de l\'application."</string>
+ <string name="data_usage_app_restrict_dialog" msgid="5534272311979978297">"Cette fonctionnalité peut empêcher certaines applis de s\'exécuter lorsque celles-ci sont dépendantes des données en arrière-plan et que seuls des réseaux mobiles sont disponibles.\n\nVous trouverez des options plus adaptées en matière de contrôle de la consommation des données dans les paramètres de l\'appli."</string>
<string name="data_usage_restrict_denied_dialog" msgid="8599940395497268584">"La limitation des données en arrière-plan n\'est possible que si vous avez défini un plafond d\'utilisation pour les données cellulaires."</string>
<string name="data_usage_auto_sync_on_dialog_title" msgid="2048411447974361181">"Activer synchro auto données?"</string>
<string name="data_usage_auto_sync_off_dialog_title" msgid="1783917145440587470">"Désactiver synchro auto données?"</string>
@@ -2884,8 +2922,8 @@
<string name="data_usage_limit_dialog_title" msgid="2053134451707801439">"Limitation de la consommation de données cellulaires"</string>
<string name="data_usage_sweep_warning" msgid="2072854703184614828"><font size="18">"<xliff:g id="NUMBER">^1</xliff:g>"</font><font size="9">"<xliff:g id="UNIT">^2</xliff:g>"</font>\n<font size="12">"alerte"</font></string>
<string name="data_usage_sweep_limit" msgid="6947019190890086284"><font size="18">"<xliff:g id="NUMBER">^1</xliff:g>"</font><font size="9">"<xliff:g id="UNIT">^2</xliff:g>"</font>\n<font size="12">"limite"</font></string>
- <string name="data_usage_uninstalled_apps" msgid="9065885396147675694">"Applications supprimées"</string>
- <string name="data_usage_uninstalled_apps_users" msgid="1262228664057122983">"Applications et utilisateurs supprimés"</string>
+ <string name="data_usage_uninstalled_apps" msgid="9065885396147675694">"Applis supprimées"</string>
+ <string name="data_usage_uninstalled_apps_users" msgid="1262228664057122983">"Applis et utilisateurs supprimés"</string>
<string name="wifi_metered_title" msgid="6623732965268033931">"Utilisation du réseau"</string>
<string name="data_usage_metered_yes" msgid="4262598072030135223">"Facturé à l\'usage"</string>
<string name="vpn_name" msgid="3806456074909253262">"Nom"</string>
@@ -2924,7 +2962,7 @@
<string name="vpn_replace_vpn_message" msgid="1094297700371463386">"Vous êtes déjà connecté à un RPV. Si vous vous connectez à un RPV différent, votre RPV actuel sera remplacé."</string>
<string name="vpn_turn_on" msgid="3568307071295211187">"Activer"</string>
<string name="vpn_cant_connect_title" msgid="5670787575925519386">"<xliff:g id="VPN_NAME">%1$s</xliff:g> n\'est pas en mesure de se connecter"</string>
- <string name="vpn_cant_connect_message" msgid="2139148820719163694">"Cette application ne prend pas en charge le RPV permanent"</string>
+ <string name="vpn_cant_connect_message" msgid="2139148820719163694">"Cette appli ne prend pas en charge le RPV permanent"</string>
<string name="vpn_title" msgid="3068868814145870274">"RPV"</string>
<string name="vpn_create" msgid="7546073242936894638">"Ajouter un profil RPV"</string>
<string name="vpn_menu_edit" msgid="5100387853773792379">"Modifier le profil"</string>
@@ -2932,7 +2970,7 @@
<string name="vpn_menu_lockdown" msgid="5284041663859541007">"RPV permanent"</string>
<string name="vpn_no_vpns_added" msgid="7387080769821533728">"Aucun RPV ajouté"</string>
<string name="vpn_always_on_summary" msgid="2171252372476858166">"Rester connecté au RPV en permanence"</string>
- <string name="vpn_always_on_summary_not_supported" msgid="9084872130449368437">"Non compatible avec cette application"</string>
+ <string name="vpn_always_on_summary_not_supported" msgid="9084872130449368437">"Non compatible avec cette appli"</string>
<string name="vpn_always_on_summary_active" msgid="175877594406330387">"Toujours activé"</string>
<string name="vpn_insecure_summary" msgid="4450920215186742859">"Non sécurisé"</string>
<string name="vpn_require_connection" msgid="1027347404470060998">"Bloquer les connexions sans RPV"</string>
@@ -2975,9 +3013,9 @@
<string name="ssl_ca_cert_warning" msgid="3898387588657346106">"Le réseau peut être surveillé"</string>
<string name="done_button" msgid="6269449526248267">"Terminé"</string>
<string name="ssl_ca_cert_dialog_title" msgid="1032088078702042090">"{count,plural, =1{Faire confiance au certificat ou le retirer}one{Faire confiance au certificat ou le retirer}other{Faire confiance aux certificats ou les retirer}}"</string>
- <string name="ssl_ca_cert_info_message_device_owner" msgid="7528581447864707873">"{numberOfCertificates,plural, =1{{orgName} a installé une autorité de certification sur votre appareil, ce qui peut lui permettre de surveiller l\'activité de votre appareil sur le réseau, y compris les courriels, les applications et les sites Web sécurisés.\n\nPour en savoir plus sur ce certificat, communiquez avec votre administrateur.}one{{orgName} a installé une autorité de certification sur votre appareil, ce qui peut lui permettre de surveiller l\'activité de votre appareil sur le réseau, y compris les courriels, les applications et les sites Web sécurisés.\n\nPour en savoir plus sur ce certificat, communiquez avec votre administrateur.}other{{orgName} a installé des autorités de certification sur votre appareil, ce qui peut lui permettre de surveiller l\'activité de votre appareil sur le réseau, y compris les courriels, les applications et les sites Web sécurisés.\n\nPour en savoir plus sur ces certificats, communiquez avec votre administrateur.}}"</string>
- <string name="ssl_ca_cert_info_message" msgid="3111724430981667845">"{numberOfCertificates,plural, =1{{orgName} a installé une autorité de certification pour votre profil professionnel, ce qui peut lui permettre de surveiller l\'activité professionnelle sur le réseau, y compris les courriels, les applications et les sites Web sécurisés.\n\nPour en savoir plus sur ce certificat, communiquez avec votre administrateur.}one{{orgName} a installé une autorité de certification pour votre profil professionnel, ce qui peut lui permettre de surveiller l\'activité professionnelle sur le réseau, y compris les courriels, les applications et les sites Web sécurisés.\n\nPour en savoir plus sur ce certificat, communiquez avec votre administrateur.}other{{orgName} a installé des autorités de certification pour votre profil professionnel, ce qui peut lui permettre de surveiller l\'activité professionnelle sur le réseau, y compris les courriels, les applications et les sites Web sécurisés.\n\nPour en savoir plus sur ces certificats, communiquez avec votre administrateur.}}"</string>
- <string name="ssl_ca_cert_warning_message" msgid="4374052724815563051">"Un tiers peut surveiller votre activité réseau, y compris les courriels, les applications et les sites Web sécurisés. \n\nUn certificat de confiance installé sur votre appareil rend cela possible."</string>
+ <string name="ssl_ca_cert_info_message_device_owner" msgid="7528581447864707873">"{numberOfCertificates,plural, =1{{orgName} a installé une autorité de certification sur votre appareil, ce qui peut lui permettre de surveiller l\'activité de votre appareil sur le réseau, y compris les courriels, les applis et les sites Web sécurisés.\n\nPour en savoir plus sur ce certificat, communiquez avec votre administrateur.}one{{orgName} a installé une autorité de certification sur votre appareil, ce qui peut lui permettre de surveiller l\'activité de votre appareil sur le réseau, y compris les courriels, les applis et les sites Web sécurisés.\n\nPour en savoir plus sur ce certificat, communiquez avec votre administrateur.}other{{orgName} a installé des autorités de certification sur votre appareil, ce qui peut lui permettre de surveiller l\'activité de votre appareil sur le réseau, y compris les courriels, les applis et les sites Web sécurisés.\n\nPour en savoir plus sur ces certificats, communiquez avec votre administrateur.}}"</string>
+ <string name="ssl_ca_cert_info_message" msgid="3111724430981667845">"{numberOfCertificates,plural, =1{{orgName} a installé une autorité de certification pour votre profil professionnel, ce qui peut lui permettre de surveiller l\'activité professionnelle sur le réseau, y compris les courriels, les applis et les sites Web sécurisés.\n\nPour en savoir plus sur ce certificat, communiquez avec votre administrateur.}one{{orgName} a installé une autorité de certification pour votre profil professionnel, ce qui peut lui permettre de surveiller l\'activité professionnelle sur le réseau, y compris les courriels, les applis et les sites Web sécurisés.\n\nPour en savoir plus sur ce certificat, communiquez avec votre administrateur.}other{{orgName} a installé des autorités de certification pour votre profil professionnel, ce qui peut lui permettre de surveiller l\'activité professionnelle sur le réseau, y compris les courriels, les applis et les sites Web sécurisés.\n\nPour en savoir plus sur ces certificats, communiquez avec votre administrateur.}}"</string>
+ <string name="ssl_ca_cert_warning_message" msgid="4374052724815563051">"Un tiers peut surveiller votre activité réseau, y compris les courriels, les applis et les sites Web sécurisés. \n\nUn certificat de confiance installé sur votre appareil rend cela possible."</string>
<string name="ssl_ca_cert_settings_button" msgid="2044927302268394991">"{count,plural, =1{Vérifier le certificat}one{Vérifier le certificat}other{Vérifier les certificats}}"</string>
<string name="user_settings_title" msgid="9208831545558787202">"Utilisateurs"</string>
<string name="user_list_title" msgid="1387379079186123404">"Utilisateurs et profils"</string>
@@ -2999,21 +3037,21 @@
<string name="user_confirm_remove_title" msgid="3626559103278006002">"Supprimer cet utilisateur?"</string>
<string name="user_profile_confirm_remove_title" msgid="3131574314149375354">"Supprimer ce profil?"</string>
<string name="work_profile_confirm_remove_title" msgid="6229618888167176036">"Retirer le profil professionnel?"</string>
- <string name="user_confirm_remove_message" msgid="362545924965977597">"L\'ensemble des applications et des données seront supprimées."</string>
- <string name="work_profile_confirm_remove_message" msgid="1037294114103024478">"Toutes les applications et les données de ce profil seront supprimées si vous continuez."</string>
- <string name="user_profile_confirm_remove_message" msgid="3641289528179850718">"L\'ensemble des applications et des données seront supprimées."</string>
+ <string name="user_confirm_remove_message" msgid="362545924965977597">"L\'ensemble des applis et des données seront supprimées."</string>
+ <string name="work_profile_confirm_remove_message" msgid="1037294114103024478">"Toutes les applis et les données de ce profil seront supprimées si vous continuez."</string>
+ <string name="user_profile_confirm_remove_message" msgid="3641289528179850718">"L\'ensemble des applis et des données seront supprimées."</string>
<string name="user_adding_new_user" msgid="7439602720177181412">"Ajout de l\'utilisateur…"</string>
<string name="user_delete_user_description" msgid="7764153465503821011">"Supprimer l\'utilisateur"</string>
<string name="user_delete_button" msgid="3833498650182594653">"Supprimer"</string>
- <string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Toutes les applications et les données de cette session seront supprimées."</string>
+ <string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"Toutes les applis et les données de cette session seront supprimées."</string>
<string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"Supprimer"</string>
<string name="guest_category_title" msgid="5562663588315329152">"Invité (vous)"</string>
<string name="user_category_title" msgid="4368580529662699083">"Utilisateurs"</string>
<string name="other_user_category_title" msgid="7089976887307643217">"Autres utilisateurs"</string>
<string name="remove_guest_on_exit" msgid="8202972371459611066">"Supprimer l\'activité d\'invité"</string>
- <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Supprimez toutes les applications et données d\'invité en quittant le mode Invité"</string>
+ <string name="remove_guest_on_exit_summary" msgid="3969962695703280353">"Supprimez toutes les applis et données d\'invité en quittant le mode Invité"</string>
<string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Supprimer l\'activité d\'invité?"</string>
- <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Les applications et les données de cette session d\'invité seront supprimées maintenant, et toutes les activités d\'invité futures seront supprimées chaque fois que vous quitterez le mode Invité"</string>
+ <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Les applis et les données de cette session d\'invité seront supprimées maintenant, et toutes les activités d\'invité futures seront supprimées chaque fois que vous quitterez le mode Invité"</string>
<string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"supprimer, invité, activité, retirer, données, visiteur, effacer"</string>
<string name="enable_guest_calling" msgid="4620657197834392094">"Permettre à l\'invité de passer des appels téléphoniques"</string>
<string name="enable_guest_calling_summary" msgid="4748224917641204782">"L\'historique des appels sera partagé avec l\'utilisateur invité"</string>
@@ -3027,14 +3065,14 @@
<string name="emergency_info_title" msgid="8233682750953695582">"Coordonnées d\'urgence"</string>
<string name="emergency_info_summary" msgid="8463622253016757697">"Information et contacts pour <xliff:g id="USER_NAME">%1$s</xliff:g>"</string>
<string name="open_app_button" msgid="5025229765547191710">"Ouvrir <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
- <string name="application_restrictions" msgid="276179173572729205">"Autoriser des applications et des contenus"</string>
- <string name="apps_with_restrictions_header" msgid="5277698582872267931">"Applications avec restrictions"</string>
+ <string name="application_restrictions" msgid="276179173572729205">"Autoriser des applis et des contenus"</string>
+ <string name="apps_with_restrictions_header" msgid="5277698582872267931">"Applis avec restrictions"</string>
<string name="apps_with_restrictions_settings_button" msgid="2648355133416902221">"Développer paramètres applis"</string>
- <string name="user_choose_copy_apps_to_another_user" msgid="5914037067347012870">"Choisir les applications à installer"</string>
+ <string name="user_choose_copy_apps_to_another_user" msgid="5914037067347012870">"Choisir les applis à installer"</string>
<string name="user_copy_apps_menu_title" msgid="5354300105759670300">"Installer les applis proposées"</string>
<string name="nfc_payment_settings_title" msgid="2043139180030485500">"Paiements sans contact"</string>
- <string name="nfc_default_payment_settings_title" msgid="2150504446774382261">"Application de paiement par défaut"</string>
- <string name="nfc_default_payment_footer" msgid="978535088340021360">"Pour effectuer un paiement à l\'aide d\'une application, approchez l\'arrière de votre appareil du terminal"</string>
+ <string name="nfc_default_payment_settings_title" msgid="2150504446774382261">"Appli de paiement par défaut"</string>
+ <string name="nfc_default_payment_footer" msgid="978535088340021360">"Pour effectuer un paiement à l\'aide d\'une appli, approchez l\'arrière de votre appareil du terminal"</string>
<string name="nfc_more_details" msgid="1700713533074275233">"En savoir plus"</string>
<string name="nfc_default_payment_workapp_confirmation_title" msgid="746921251872504687">"Appli pro par défaut pour les paiements?"</string>
<string name="nfc_default_payment_workapp_confirmation_message_title" msgid="1533022606333010329">"Pour les paiements avec une appli pro :"</string>
@@ -3045,19 +3083,19 @@
<string name="nfc_payment_default" msgid="3769788268378614608">"Mode de paiement par défaut"</string>
<string name="nfc_payment_default_not_set" msgid="6471905683119084622">"Non défini"</string>
<string name="nfc_payment_app_and_desc" msgid="2607417639227030398">"<xliff:g id="APP">%1$s</xliff:g> - <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string>
- <string name="nfc_payment_use_default" msgid="6127665705799658860">"Utiliser l\'application de paiement par défaut"</string>
+ <string name="nfc_payment_use_default" msgid="6127665705799658860">"Utiliser l\'appli de paiement par défaut"</string>
<string name="nfc_payment_use_default_dialog" msgid="8556328090777785383">"Utiliser l\'appli de paiement par défaut"</string>
<string name="nfc_payment_favor_default" msgid="4508491832174644772">"Toujours"</string>
- <string name="nfc_payment_favor_open" msgid="8554643344050373346">"Sauf si une autre application de paiement est ouverte"</string>
+ <string name="nfc_payment_favor_open" msgid="8554643344050373346">"Sauf si une autre appli de paiement est ouverte"</string>
<string name="nfc_payment_pay_with" msgid="3001320460566523453">"À un terminal sans contact, payer avec :"</string>
<string name="nfc_how_it_works_title" msgid="1363791241625771084">"Paiement à un terminal"</string>
- <string name="nfc_how_it_works_content" msgid="1141382684788210772">"Configurez une application de paiement. Il suffit ensuite de poser l\'arrière de votre téléphone sur n\'importe quel terminal disposant du symbole Sans contact."</string>
+ <string name="nfc_how_it_works_content" msgid="1141382684788210772">"Configurez une appli de paiement. Il suffit ensuite de poser l\'arrière de votre téléphone sur n\'importe quel terminal disposant du symbole Sans contact."</string>
<string name="nfc_how_it_works_got_it" msgid="4717868843368296630">"OK"</string>
<string name="nfc_more_title" msgid="1041094244767216498">"Plus…"</string>
- <string name="nfc_payment_set_default_label" msgid="7395939287766230293">"Définissez l\'application de paiement par défaut"</string>
- <string name="nfc_payment_update_default_label" msgid="8201975914337221246">"Mettez à jour l\'application de paiement par défaut"</string>
+ <string name="nfc_payment_set_default_label" msgid="7395939287766230293">"Définissez l\'appli de paiement par défaut"</string>
+ <string name="nfc_payment_update_default_label" msgid="8201975914337221246">"Mettez à jour l\'appli de paiement par défaut"</string>
<string name="nfc_payment_set_default" msgid="4101484767872365195">"À un terminal sans contact, payer avec <xliff:g id="APP">%1$s</xliff:g>"</string>
- <string name="nfc_payment_set_default_instead_of" msgid="565237441045013280">"À un terminal sans contact, payer avec <xliff:g id="APP_0">%1$s</xliff:g>.\n\nCette application remplace <xliff:g id="APP_1">%2$s</xliff:g> comme application de paiement par défaut."</string>
+ <string name="nfc_payment_set_default_instead_of" msgid="565237441045013280">"À un terminal sans contact, payer avec <xliff:g id="APP_0">%1$s</xliff:g>.\n\nCette appli remplace <xliff:g id="APP_1">%2$s</xliff:g> comme appli de paiement par défaut."</string>
<string name="nfc_payment_btn_text_set_deault" msgid="1821065137209590196">"Définir par défaut"</string>
<string name="nfc_payment_btn_text_update" msgid="5159700960497443832">"Mettre à jour"</string>
<string name="nfc_work_text" msgid="2496515165821504077">"Travail"</string>
@@ -3101,18 +3139,18 @@
<string name="auto_data_switch_title" msgid="5862200603753603464">"Basculer entre les données cellulaires automatiquement"</string>
<string name="auto_data_switch_summary" msgid="1934340931995429057">"Utilisez ce réseau en cas de meilleure disponibilité"</string>
<string name="work_sim_title" msgid="8999872928646924429">"Carte SIM professionnelle"</string>
- <string name="user_restrictions_title" msgid="4068914244980335993">"Accès aux applications et au contenu"</string>
+ <string name="user_restrictions_title" msgid="4068914244980335993">"Accès aux applis et au contenu"</string>
<string name="user_rename" msgid="8735940847878484249">"RENOMMER"</string>
<string name="app_restrictions_custom_label" msgid="6949268049087435132">"Définir des restrictions d\'applis"</string>
<string name="user_restrictions_controlled_by" msgid="2821526006742851624">"Contrôlées par <xliff:g id="APP">%1$s</xliff:g>"</string>
- <string name="app_sees_restricted_accounts" msgid="3526008344222566318">"Cette application peut accéder à vos comptes."</string>
- <string name="app_sees_restricted_accounts_and_controlled_by" msgid="8338520379923447143">"Cette application peut accéder à vos comptes. Contrôlée par <xliff:g id="APP">%1$s</xliff:g>."</string>
+ <string name="app_sees_restricted_accounts" msgid="3526008344222566318">"Cette appli peut accéder à vos comptes."</string>
+ <string name="app_sees_restricted_accounts_and_controlled_by" msgid="8338520379923447143">"Cette appli peut accéder à vos comptes. Contrôlée par <xliff:g id="APP">%1$s</xliff:g>."</string>
<string name="restriction_wifi_config_title" msgid="2630656989926554685">"Wi‑Fi et données cellulaires"</string>
<string name="restriction_wifi_config_summary" msgid="920419010472168694">"Autoriser les modifications des paramètres du Wi‑Fi et des données cellulaires"</string>
<string name="restriction_bluetooth_config_title" msgid="220586273589093821">"Bluetooth"</string>
<string name="restriction_bluetooth_config_summary" msgid="7558879931011271603">"Autoriser les modifications des associations et des paramètres Bluetooth"</string>
<string name="restriction_location_enable_title" msgid="4872281754836538066">"Position"</string>
- <string name="restriction_location_enable_summary" msgid="7139292323897390221">"Autoriser les applications à utiliser vos données de localisation"</string>
+ <string name="restriction_location_enable_summary" msgid="7139292323897390221">"Autoriser les applis à utiliser vos données de localisation"</string>
<string name="wizard_back" msgid="8257697435061870191">"Précédent"</string>
<string name="wizard_next" msgid="3884832431439072471">"SUIVANT"</string>
<string name="wizard_back_adoptable" msgid="1447814356855134183">"Formater autrement"</string>
@@ -3155,15 +3193,15 @@
<string name="connected_devices_dashboard_android_auto_no_driving_mode_summary" msgid="6426996842202276640">"Bluetooth, Android Auto, CCP"</string>
<string name="connected_devices_dashboard_android_auto_no_nfc_no_driving_mode" msgid="1672426693308438634">"Bluetooth, Android Auto"</string>
<string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Non accessible parce que la technologie CCP est désactivée"</string>
- <string name="nfc_and_payment_settings_no_payment_installed_summary" msgid="4879818114908207465">"Pour utiliser la fonctionnalité, installez d\'abord une application de paiement"</string>
- <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Applications récentes, applications par défaut"</string>
- <string name="notification_settings_work_profile" msgid="6076211850526353975">"Les applications du profil professionnel n\'ont pas accès aux notifications."</string>
+ <string name="nfc_and_payment_settings_no_payment_installed_summary" msgid="4879818114908207465">"Pour utiliser la fonctionnalité, installez d\'abord une appli de paiement"</string>
+ <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Applis récentes, applis par défaut"</string>
+ <string name="notification_settings_work_profile" msgid="6076211850526353975">"Les applis du profil professionnel n\'ont pas accès aux notifications."</string>
<string name="account_dashboard_title" msgid="8228773251948253914">"Mots de passe et comptes"</string>
<string name="account_dashboard_default_summary" msgid="7976899924144356939">"Suggestions pour la connexion et le remplissage automatique"</string>
- <string name="app_default_dashboard_title" msgid="4071015747629103216">"Applications par défaut"</string>
- <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Applications clonées"</string>
- <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Créez une deuxième instance d\'une application afin de pouvoir utiliser deux comptes en même temps."</string>
- <string name="desc_cloneable_app_list_text" msgid="3354586725814708688">"Applications qui peuvent être clonées."</string>
+ <string name="app_default_dashboard_title" msgid="4071015747629103216">"Applis par défaut"</string>
+ <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Applis clonées"</string>
+ <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Créez une deuxième instance d\'une appli afin de pouvoir utiliser deux comptes en même temps."</string>
+ <string name="desc_cloneable_app_list_text" msgid="3354586725814708688">"Applis qui peuvent être clonées."</string>
<string name="cloned_apps_summary" msgid="8805362440770795709">"<xliff:g id="CLONED_APPS_COUNT">%1$s</xliff:g> clonée(s), <xliff:g id="ALLOWED_APPS_COUNT">%2$d</xliff:g> disponible(s) pour le clonage"</string>
<string name="delete_all_app_clones" msgid="3489053361980624999">"Supprimer tous les clones d\'applis"</string>
<string name="delete_all_app_clones_failure" msgid="6821033414547132335">"Supprimer les clones d\'applis (échec)"</string>
@@ -3172,13 +3210,13 @@
<string name="cloned_app_creation_toast_summary" msgid="3854494347144867870">"Création d\'un clone de <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> en cours…"</string>
<string name="cloned_app_created_toast_summary" msgid="755225403495544163">"Clone de <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> créé"</string>
<string name="system_dashboard_summary" msgid="7400745270362833832">"Langues, gestes, heure, sauvegarde"</string>
- <string name="languages_setting_summary" msgid="2650807397396180351">"Langues du système, langues des applications, préférences régionales, reconnaissance vocale"</string>
+ <string name="languages_setting_summary" msgid="2650807397396180351">"Langues du système, langues des applis, préférences régionales, reconnaissance vocale"</string>
<string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, connexion réseau, internet, sans fil, données, wi fi"</string>
<string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"notification Wi‑Fi, notification wifi"</string>
<string name="keywords_wifi_data_usage" msgid="4718555409695862085">"utilisation de données"</string>
<string name="keywords_time_format" msgid="5384803098766166820">"Utiliser le format 24 heures"</string>
<string name="keywords_app_default" msgid="8977706259156428770">"Ouvrir avec"</string>
- <string name="keywords_applications_settings" msgid="999926810912037792">"Applications"</string>
+ <string name="keywords_applications_settings" msgid="999926810912037792">"Applis"</string>
<string name="keywords_time_zone" msgid="6402919157244589055">"fuseau horaire"</string>
<string name="keywords_draw_overlay" msgid="3170036145197260392">"Bulle de clavardage, système, alerte, fenêtre, boîte de dialogue, écran, superposition autres applis, dessin"</string>
<string name="keywords_flashlight" msgid="2133079265697578183">"Lampe de poche, lumière"</string>
@@ -3211,10 +3249,10 @@
<string name="keywords_users" msgid="3497517660077620843">"restriction, restreindre, restreint"</string>
<string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"correction de texte, corriger, son, vibreur, automatique, langue, geste, suggérer, suggestion, thème, choquant, mot, type, emoji, international"</string>
<string name="keywords_reset_apps" msgid="8254315757754930862">"réinitialiser, préférences, par défaut"</string>
- <string name="keywords_all_apps" msgid="9016323378609007166">"applis, télécharger, applications, système"</string>
- <string name="keywords_app_permissions" msgid="2061773665663541610">"applications, autorisations, sécurité"</string>
- <string name="keywords_default_apps" msgid="4601664230800605416">"applications, par défaut"</string>
- <string name="keywords_ignore_optimizations" msgid="8967142288569785145">"ignorer les optimisations, mise en veille, mode veille des application"</string>
+ <string name="keywords_all_apps" msgid="9016323378609007166">"applis, télécharger, applis, système"</string>
+ <string name="keywords_app_permissions" msgid="2061773665663541610">"applis, autorisations, sécurité"</string>
+ <string name="keywords_default_apps" msgid="4601664230800605416">"applis, par défaut"</string>
+ <string name="keywords_ignore_optimizations" msgid="8967142288569785145">"ignorer les optimisations, mise en veille, mode veille des appli"</string>
<string name="keywords_color_mode" msgid="1193896024705705826">"vibrantes, rvb, srvb, couleurs, naturelles, standard"</string>
<string name="keywords_screen_resolution" msgid="6652125115386722875">"FHD, QHD, résolution, 1080p, 1440p"</string>
<string name="keywords_color_temperature" msgid="8159539138837118453">"température, couleur, D65, D73, blanc, jaune, bleu, chaud, froid"</string>
@@ -3293,7 +3331,7 @@
<string name="notification_volume_disabled_summary" msgid="8679988555852056079">"Inaccessible parce que la sonnerie est désactivée"</string>
<string name="ringtone_title" msgid="3271453110387368088">"Sonnerie du téléphone"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Son de notification par défaut"</string>
- <string name="notification_unknown_sound_title" msgid="1319708450698738980">"Son fourni par l\'application"</string>
+ <string name="notification_unknown_sound_title" msgid="1319708450698738980">"Son fourni par l\'appli"</string>
<string name="notification_sound_default" msgid="8630353701915294299">"Son de notification par défaut"</string>
<string name="alarm_ringtone_title" msgid="6680761007731764726">"Son de l\'alarme par défaut"</string>
<string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Vibrer en premier, puis sonnerie graduelle"</string>
@@ -3325,13 +3363,30 @@
<string name="zen_modes_list_title" msgid="5138745349253275428">"Modes prioritaires"</string>
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
- <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Recevez uniquement les notifications des personnes et des applications importantes"</string>
+ <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Recevez uniquement les notifications des personnes et des applis importantes"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Sélectionner le type d\'activation"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Heure"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"P. ex. « De 9 h 30 à 17 h »"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Agenda"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"P. ex. « Agenda personnel »"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Créer un mode"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Personnalisé"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limiter les interruptions"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activer le mode Ne pas déranger"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Les alarmes et les sons des éléments multimédias peuvent provoquer des interruptions"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Horaires"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Supprimer les horaires"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Supprimer"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Modifier"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Horaires"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Horaire"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Ajoutez un agenda"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Utiliser votre agenda"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Programme"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Définissez un horaire"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Programmer"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Activer automatiquement"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Horaire"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Tél. en silence à certains moments"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Créer des règles pour le mode Ne pas déranger"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Autoriser les interruptions qui émettent des sons"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Bloquer dérangements visuels"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Autoriser les signaux visuels"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Des notifications qui peuvent vous parvenir"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Rester concentré"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Actions supplémentaires"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Paramètres d\'affichage"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Options d\'affichage"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"activer le thème sombre"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Faire en sorte que le SE et les applis utilisent plutôt une écriture pâle sur un fond foncé, ce qui peut être plus doux pour les yeux et permettre une économie considérable de la pile sur certains appareils"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Aucune modification apportée à l\'affichage}=1{{effect_1}}=2{{effect_1} et {effect_2}}=3{{effect_1}, {effect_2} et {effect_3}}one{{effect_1}, {effect_2} et # autre}other{{effect_1}, {effect_2} et # autres}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filtrer les interruptions"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Aucune interruption n\'est filtrée"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Afficher les options pour les notifications filtrées"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Quand le mode Ne pas déranger est activé"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Aucun son des notifications"</string>
@@ -3393,7 +3448,7 @@
<string name="zen_mode_block_effect_light" msgid="1997222991427784993">"Ne pas faire clignoter la lumière"</string>
<string name="zen_mode_block_effect_peek" msgid="2525844009475266022">"Ne pas afficher de notifications à l\'écran"</string>
<string name="zen_mode_block_effect_status" msgid="5765965061064691918">"Masquer les icônes de la barre d\'état dans le haut de l\'écran"</string>
- <string name="zen_mode_block_effect_badge" msgid="332151258515152429">"Masquer les points de notification sur les icônes d\'application"</string>
+ <string name="zen_mode_block_effect_badge" msgid="332151258515152429">"Masquer les points de notification sur les icônes d\'appli"</string>
<string name="zen_mode_block_effect_ambient" msgid="1247740599476031543">"Ne pas réactiver pour les notifications"</string>
<string name="zen_mode_block_effect_list" msgid="7549367848660137118">"Masquer du volet déroulant"</string>
<string name="zen_mode_block_effect_summary_none" msgid="6688519142395714659">"Jamais"</string>
@@ -3412,7 +3467,7 @@
<string name="zen_mode_settings_dnd_manual_end_time" msgid="8251503918238985549">"Le mode Ne pas déranger est activé jusqu\'à <xliff:g id="FORMATTED_TIME">%s</xliff:g>"</string>
<string name="zen_mode_settings_dnd_manual_indefinite" msgid="1436568478062106132">"Le mode Ne pas déranger restera actif jusqu\'à ce que vous le désactiviez"</string>
<string name="zen_mode_settings_dnd_automatic_rule" msgid="1958092329238152236">"Le mode Ne pas déranger a été activé automatiquement par un horaire (<xliff:g id="RULE_NAME">%s</xliff:g>)"</string>
- <string name="zen_mode_settings_dnd_automatic_rule_app" msgid="3401685760954156067">"Le mode Ne pas déranger a été activé par une application (<xliff:g id="APP_NAME">%s</xliff:g>)"</string>
+ <string name="zen_mode_settings_dnd_automatic_rule_app" msgid="3401685760954156067">"Le mode Ne pas déranger a été activé par une appli (<xliff:g id="APP_NAME">%s</xliff:g>)"</string>
<string name="zen_mode_settings_dnd_custom_settings_footer" msgid="6566115866660865385">"Le mode Ne pas déranger est activé <xliff:g id="RULE_NAMES">%s</xliff:g>, avec des paramètres personnalisés."</string>
<string name="zen_mode_settings_dnd_custom_settings_footer_link" msgid="8255159194653341835">" "<annotation id="link">"Afficher les paramètres personnalisés"</annotation></string>
<string name="zen_interruption_level_priority" msgid="4854123502362861192">"Prioritaires seulement"</string>
@@ -3426,7 +3481,7 @@
<string name="zen_mode_sound_summary_off" msgid="7350437977839985836">"{count,plural, =0{Désactivé}=1{Désactivé : 1 horaire peut s\'activer automatiquement}one{Désactivé : # horaire peut s\'activer automatiquement}other{Désactivé : # horaires peuvent s\'activer automatiquement}}"</string>
<string name="zen_category_behavior" msgid="3214056473947178507">"Ce qui peut interrompre le mode Ne pas déranger"</string>
<string name="zen_category_people" msgid="8252926021894933047">"Personnes"</string>
- <string name="zen_category_apps" msgid="1167374545618451925">"Applications"</string>
+ <string name="zen_category_apps" msgid="1167374545618451925">"Applis"</string>
<string name="zen_category_exceptions" msgid="1316097981052752811">"Alarmes et autres interruptions"</string>
<string name="zen_category_schedule" msgid="2003707171924226212">"Horaires"</string>
<string name="zen_category_duration" msgid="7515850842082631460">"Durée des paramètres rapides"</string>
@@ -3486,17 +3541,18 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"ouvrir la notification"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Autoriser le report des notifications"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Pastille de notification sur l\'icône de l\'appli"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Groupes de notifications"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Bulles"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bulles"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Afficher cette conversation sous forme de bulles"</string>
- <string name="bubbles_conversation_toggle_summary" msgid="720229032254323578">"Afficher une icône flottante par-dessus les applications"</string>
+ <string name="bubbles_conversation_toggle_summary" msgid="720229032254323578">"Afficher une icône flottante par-dessus les applis"</string>
<string name="bubbles_feature_disabled_dialog_title" msgid="1794193899792284007">"Activer les bulles à l\'échelle de l\'appareil?"</string>
- <string name="bubbles_feature_disabled_dialog_text" msgid="5275666953364031055">"L\'activation des bulles pour cette application activera aussi les bulles pour votre appareil.\n\nCela a un impact sur les autres applications ou les conversations qui peuvent s\'afficher en bulles."</string>
+ <string name="bubbles_feature_disabled_dialog_text" msgid="5275666953364031055">"L\'activation des bulles pour cette appli activera aussi les bulles pour votre appareil.\n\nCela a un impact sur les autres applis ou les conversations qui peuvent s\'afficher en bulles."</string>
<string name="bubbles_feature_disabled_button_approve" msgid="2042628067101419871">"Activer"</string>
<string name="bubbles_feature_disabled_button_cancel" msgid="8963409459448350600">"Annuler"</string>
<string name="notifications_bubble_setting_on_summary" msgid="4641572377430901196">"Activées : les conversations peuvent s\'afficher sous forme d\'icônes flottantes"</string>
- <string name="notifications_bubble_setting_title" msgid="8287649393774855268">"Autoriser les applications à afficher des bulles"</string>
- <string name="notifications_bubble_setting_description" msgid="7336770088735025981">"Certaines conversations s\'afficheront sous forme d\'icônes flottantes superposées aux autres applications"</string>
+ <string name="notifications_bubble_setting_title" msgid="8287649393774855268">"Autoriser les applis à afficher des bulles"</string>
+ <string name="notifications_bubble_setting_description" msgid="7336770088735025981">"Certaines conversations s\'afficheront sous forme d\'icônes flottantes superposées aux autres applis"</string>
<string name="bubble_app_setting_all" msgid="312524752846978277">"Toutes les conversations peuvent s\'afficher dans des bulles"</string>
<string name="bubble_app_setting_selected" msgid="4324386074198040675">"Les conversations sélectionnées peuvent s\'afficher dans des bulles"</string>
<string name="bubble_app_setting_none" msgid="8643594711863996418">"Aucune bulle n\'est autorisée"</string>
@@ -3539,7 +3595,7 @@
<string name="notification_importance_title" msgid="1545158655988342703">"Comportement"</string>
<string name="conversations_category_title" msgid="5586541340846847798">"Conversations"</string>
<string name="conversation_section_switch_title" msgid="3332885377659473775">"Section des conversations"</string>
- <string name="conversation_section_switch_summary" msgid="6123587625929439674">"Autoriser l\'application à utiliser la section des conversations"</string>
+ <string name="conversation_section_switch_summary" msgid="6123587625929439674">"Autoriser l\'appli à utiliser la section des conversations"</string>
<string name="demote_conversation_title" msgid="6355383023376508485">"Ce n\'est pas une conversation"</string>
<string name="demote_conversation_summary" msgid="4319929331165604112">"Supprimer de la section des conversations"</string>
<string name="promote_conversation_title" msgid="4731148769888238722">"C\'est une conversation"</string>
@@ -3564,7 +3620,7 @@
<string name="notification_silence_title" msgid="4085829874452944989">"Mode silencieux"</string>
<string name="notification_alert_title" msgid="1632401211722199217">"Par défaut"</string>
<string name="allow_interruption" msgid="5237201780159482716">"Autoriser les interruptions"</string>
- <string name="allow_interruption_summary" msgid="9044131663518112543">"Autoriser l\'application à émettre des sons, à vibrer et à afficher des notifications à l\'écran"</string>
+ <string name="allow_interruption_summary" msgid="9044131663518112543">"Autoriser l\'appli à émettre des sons, à vibrer et à afficher des notifications à l\'écran"</string>
<string name="notification_priority_title" msgid="5554834239080425229">"Prioritaire"</string>
<string name="notification_channel_summary_priority" msgid="7225362351439076913">"S\'affiche en haut de la section des conversations sous forme de bulle flottante et affiche la photo du profil sur l\'écran de verrouillage"</string>
<string name="convo_not_supported_summary" msgid="4285471045268268048">"<xliff:g id="APP_NAME">%1$s</xliff:g> ne prend pas en charge la majorité des fonctionnalités de conversations. Vous ne pouvez pas définir une conversation comme prioritaire, et les conversations ne s\'afficheront pas comme bulles flottantes."</string>
@@ -3584,12 +3640,12 @@
<string name="notification_assistant_title" msgid="5889201903272393099">"Notifications améliorées"</string>
<string name="notification_assistant_summary" msgid="1957783114840908887">"Recevoir des suggestions d\'actions, de réponses et plus encore"</string>
<string name="no_notification_assistant" msgid="2533323397091834096">"Aucune"</string>
- <string name="no_notification_listeners" msgid="2839354157349636000">"Aucune demande d\'accès aux notifications n\'a été envoyée pour les applications installées."</string>
+ <string name="no_notification_listeners" msgid="2839354157349636000">"Aucune demande d\'accès aux notifications n\'a été envoyée pour les applis installées."</string>
<string name="notification_access_detail_switch" msgid="46386786409608330">"Autoriser l\'accès aux notifications"</string>
<string name="notification_assistant_security_warning_summary" msgid="4846559755787348129">"Les notifications améliorées ont remplacé les notifications adaptatives Android sous Android 12. Cette fonctionnalité vous présente des suggestions d\'actions et de réponses, et organise vos notifications. \n\nLes notifications améliorées peuvent accéder au contenu de toutes les notifications, y compris les renseignements personnels comme le nom des contacts et les messages. Cette fonctionnalité peut aussi fermer des notifications ou interagir avec elles, comme répondre aux appels téléphoniques et gérer le mode Ne pas déranger."</string>
<string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Autoriser <xliff:g id="SERVICE">%1$s</xliff:g> à accéder aux notifications?"</string>
- <string name="notification_listener_security_warning_summary" msgid="1131986567509818121">"L\'application <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> pourra lire toutes les notifications, y compris les renseignements personnels tels que les noms des contacts, les photos et le texte des messages que vous recevez. Cette application pourra également répéter ou fermer des notifications, ou effectuer des actions sur des boutons dans les notifications, y compris répondre à des appels téléphoniques. \n\nCette action permettra également à l\'application d\'activer et de désactiver la fonctionnalité Ne pas déranger et de modifier les paramètres connexes."</string>
- <string name="nls_warning_prompt" msgid="1486887096703743841">"L\'application <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> pourra effectuer les actions suivantes :"</string>
+ <string name="notification_listener_security_warning_summary" msgid="1131986567509818121">"L\'appli <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> pourra lire toutes les notifications, y compris les renseignements personnels tels que les noms des contacts, les photos et le texte des messages que vous recevez. Cette appli pourra également répéter ou fermer des notifications, ou effectuer des actions sur des boutons dans les notifications, y compris répondre à des appels téléphoniques. \n\nCette action permettra également à l\'appli d\'activer et de désactiver la fonctionnalité Ne pas déranger et de modifier les paramètres connexes."</string>
+ <string name="nls_warning_prompt" msgid="1486887096703743841">"L\'appli <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> pourra effectuer les actions suivantes :"</string>
<string name="nls_feature_read_title" msgid="7629713268744220437">"Lire vos notifications"</string>
<string name="nls_feature_read_summary" msgid="1064698238110273593">"Elle peut lire vos notifications, y compris les renseignements personnels, comme les contacts, les messages et les photos."</string>
<string name="nls_feature_reply_title" msgid="7925455553821362039">"Répondre aux messages"</string>
@@ -3611,10 +3667,10 @@
<string name="notification_listener_not_allowed" msgid="3352962779597846538">"Non autorisées"</string>
<string name="notif_listener_excluded_app_title" msgid="6679316209330349730">"Afficher toutes les applis"</string>
<string name="notif_listener_excluded_app_summary" msgid="2914567678047195396">"Modifier les paramètres pour chaque appli qui envoie des notifications"</string>
- <string name="notif_listener_excluded_app_screen_title" msgid="8636196723227432994">"Applications affichées sur l\'appareil"</string>
- <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Cette application ne prend pas en charge les paramètres améliorés"</string>
+ <string name="notif_listener_excluded_app_screen_title" msgid="8636196723227432994">"Applis affichées sur l\'appareil"</string>
+ <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Cette appli ne prend pas en charge les paramètres améliorés"</string>
<string name="notif_listener_more_settings" msgid="1348409392307208921">"Plus de paramètres"</string>
- <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Plus de paramètres sont accessibles dans cette application"</string>
+ <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Plus de paramètres sont accessibles dans cette appli"</string>
<!-- no translation found for notification_polite_title (4737150709382859870) -->
<skip />
<!-- no translation found for notification_polite_main_control_title (7267191551379543859) -->
@@ -3624,49 +3680,50 @@
<string name="notification_polite_work" msgid="8823596456640216391">"Appliquer aux profils professionnels"</string>
<string name="notification_polite_work_summary" msgid="5014189280132951378">"L\'appliquer aux applis du profil professionnel"</string>
<string name="vr_listeners_title" msgid="4960357292472540964">"Services d\'assistance pour la réalité virtuelle"</string>
- <string name="no_vr_listeners" msgid="8442646085375949755">"Aucune demande d\'exécution en tant que services d\'assistance pour la réalité virtuelle n\'a été envoyée pour les applications installées."</string>
+ <string name="no_vr_listeners" msgid="8442646085375949755">"Aucune demande d\'exécution en tant que services d\'assistance pour la réalité virtuelle n\'a été envoyée pour les applis installées."</string>
<string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Autoriser <xliff:g id="SERVICE">%1$s</xliff:g> à accéder au service de réalité virtuelle?"</string>
- <string name="vr_listener_security_warning_summary" msgid="1888843557687017791">"L\'écouteur <xliff:g id="VR_LISTENER_NAME">%1$s</xliff:g> pourra être exécuté lorsque vous utiliserez des applications en mode Réalité virtuelle."</string>
+ <string name="vr_listener_security_warning_summary" msgid="1888843557687017791">"L\'écouteur <xliff:g id="VR_LISTENER_NAME">%1$s</xliff:g> pourra être exécuté lorsque vous utiliserez des applis en mode Réalité virtuelle."</string>
<string name="display_vr_pref_title" msgid="4850474436291113569">"Lorsque l\'appareil est en mode RV"</string>
<string name="display_vr_pref_low_persistence" msgid="7039841277157739871">"Réduire le flou (recommandé)"</string>
<string name="display_vr_pref_off" msgid="4008841566387432721">"Réduire le scintillement"</string>
<string name="picture_in_picture_title" msgid="9001594281840542493">"Incrustation d\'image"</string>
- <string name="picture_in_picture_empty_text" msgid="9123600661268731579">"Aucune application installée n\'est compatible avec le mode d\'image incrusté"</string>
+ <string name="picture_in_picture_empty_text" msgid="9123600661268731579">"Aucune appli installée n\'est compatible avec le mode d\'image incrusté"</string>
<string name="picture_in_picture_keywords" msgid="3605379820551656253">"image incrustée, image dans image"</string>
<string name="picture_in_picture_app_detail_title" msgid="4442235098255164650">"Incrustation d\'image"</string>
<string name="picture_in_picture_app_detail_switch" msgid="8544190716075624017">"Autoriser l\'incrustation d\'image"</string>
- <string name="picture_in_picture_app_detail_summary" msgid="2503211101305358849">"Autorisez cette application à créer une fenêtre d\'incrustation d\'image lorsqu\'elle est ouverte ou après l\'avoir quittée (par exemple, pour continuer de regarder une vidéo). Cette fenêtre se superpose aux autres applications en cours d\'utilisation."</string>
+ <string name="picture_in_picture_app_detail_summary" msgid="2503211101305358849">"Autorisez cette appli à créer une fenêtre d\'incrustation d\'image lorsqu\'elle est ouverte ou après l\'avoir quittée (par exemple, pour continuer de regarder une vidéo). Cette fenêtre se superpose aux autres applis en cours d\'utilisation."</string>
<string name="interact_across_profiles_title" msgid="7285906999927669971">"Applis professionnelles et personnelles associées"</string>
<string name="interact_across_profiles_summary_allowed" msgid="1365881452153799092">"Associées"</string>
<string name="interact_across_profiles_summary_not_allowed" msgid="5802674212788171790">"Non associées"</string>
- <string name="interact_across_profiles_empty_text" msgid="419061031064397168">"Aucune application connectée"</string>
- <string name="interact_across_profiles_keywords" msgid="5996472773111665049">"application associée profil personnel et professionnel"</string>
+ <string name="interact_across_profiles_empty_text" msgid="419061031064397168">"Aucune appli connectée"</string>
+ <string name="interact_across_profiles_keywords" msgid="5996472773111665049">"appli associée profil personnel et professionnel"</string>
<string name="interact_across_profiles_switch_enabled" msgid="7294719120282287495">"Associées"</string>
- <string name="interact_across_profiles_switch_disabled" msgid="4312196170211463988">"Associer ces applications"</string>
- <string name="interact_across_profiles_summary_1" msgid="6093976896137600231">"Les applications associées partagent leurs autorisations, et chacune peut accéder aux données de l\'autre."</string>
- <string name="interact_across_profiles_summary_2" msgid="505748305453633885">"Associez seulement des applications si vous avez confiance qu\'elles ne partageront pas de données personnelles avec votre administrateur informatique."</string>
- <string name="interact_across_profiles_summary_3" msgid="444428694843299854">"Vous pouvez dissocier des applications en tout temps dans les paramètres de confidentialité de votre appareil."</string>
- <string name="interact_across_profiles_consent_dialog_title" msgid="8530621211216508681">"Autoriser l\'application professionnelle <xliff:g id="NAME">%1$s</xliff:g> à accéder à vos données personnelles?"</string>
- <string name="interact_across_profiles_consent_dialog_summary" msgid="3949870271562055048">"Associez seulement des applications si vous avez confiance qu\'elles ne partageront pas de données personnelles avec votre administrateur informatique."</string>
- <string name="interact_across_profiles_consent_dialog_app_data_title" msgid="8436318876213958940">"Données de l\'application"</string>
- <string name="interact_across_profiles_consent_dialog_app_data_summary" msgid="6057019384328088311">"Cette application peut accéder aux données de votre application personnelle <xliff:g id="NAME">%1$s</xliff:g>."</string>
+ <string name="interact_across_profiles_switch_disabled" msgid="4312196170211463988">"Associer ces applis"</string>
+ <string name="interact_across_profiles_summary_1" msgid="6093976896137600231">"Les applis associées partagent leurs autorisations, et chacune peut accéder aux données de l\'autre."</string>
+ <string name="interact_across_profiles_summary_2" msgid="505748305453633885">"Associez seulement des applis si vous avez confiance qu\'elles ne partageront pas de données personnelles avec votre administrateur informatique."</string>
+ <string name="interact_across_profiles_summary_3" msgid="444428694843299854">"Vous pouvez dissocier des applis en tout temps dans les paramètres de confidentialité de votre appareil."</string>
+ <string name="interact_across_profiles_consent_dialog_title" msgid="8530621211216508681">"Autoriser l\'appli professionnelle <xliff:g id="NAME">%1$s</xliff:g> à accéder à vos données personnelles?"</string>
+ <string name="interact_across_profiles_consent_dialog_summary" msgid="3949870271562055048">"Associez seulement des applis si vous avez confiance qu\'elles ne partageront pas de données personnelles avec votre administrateur informatique."</string>
+ <string name="interact_across_profiles_consent_dialog_app_data_title" msgid="8436318876213958940">"Données de l\'appli"</string>
+ <string name="interact_across_profiles_consent_dialog_app_data_summary" msgid="6057019384328088311">"Cette appli peut accéder aux données de votre appli personnelle <xliff:g id="NAME">%1$s</xliff:g>."</string>
<string name="interact_across_profiles_consent_dialog_permissions_title" msgid="2316852600280487055">"Autorisations"</string>
- <string name="interact_across_profiles_consent_dialog_permissions_summary" msgid="995051542847604039">"Cette application peut utiliser les autorisations de votre application personnelle <xliff:g id="NAME">%1$s</xliff:g>, comme l\'accès à votre position, à votre espace de stockage ou à vos contacts."</string>
- <string name="interact_across_profiles_number_of_connected_apps_none" msgid="8573289199942092964">"Aucune application associée"</string>
- <string name="interact_across_profiles_number_of_connected_apps" msgid="4000424798291479207">"{count,plural, =1{# application associée}one{# application associée}other{# applications associées}}"</string>
- <string name="interact_across_profiles_install_work_app_title" msgid="2821669067014436056">"Pour connecter ces applications, installez <xliff:g id="NAME">%1$s</xliff:g> dans votre profil professionnel"</string>
- <string name="interact_across_profiles_install_personal_app_title" msgid="4790651223324866344">"Pour connecter ces applications, installez <xliff:g id="NAME">%1$s</xliff:g> dans votre profil personnel"</string>
- <string name="interact_across_profiles_install_app_summary" msgid="7715324358034968657">"Touchez pour télécharger l\'application"</string>
+ <string name="interact_across_profiles_consent_dialog_permissions_summary" msgid="995051542847604039">"Cette appli peut utiliser les autorisations de votre appli personnelle <xliff:g id="NAME">%1$s</xliff:g>, comme l\'accès à votre position, à votre espace de stockage ou à vos contacts."</string>
+ <string name="interact_across_profiles_number_of_connected_apps_none" msgid="8573289199942092964">"Aucune appli associée"</string>
+ <string name="interact_across_profiles_number_of_connected_apps" msgid="4000424798291479207">"{count,plural, =1{# appli associée}one{# appli associée}other{# applis associées}}"</string>
+ <string name="interact_across_profiles_install_work_app_title" msgid="2821669067014436056">"Pour connecter ces applis, installez <xliff:g id="NAME">%1$s</xliff:g> dans votre profil professionnel"</string>
+ <string name="interact_across_profiles_install_personal_app_title" msgid="4790651223324866344">"Pour connecter ces applis, installez <xliff:g id="NAME">%1$s</xliff:g> dans votre profil personnel"</string>
+ <string name="interact_across_profiles_install_app_summary" msgid="7715324358034968657">"Touchez pour télécharger l\'appli"</string>
<string name="manage_zen_access_title" msgid="1562322900340107269">"Accès à Ne pas déranger"</string>
<string name="zen_access_detail_switch" msgid="4183681772666138993">"Autoriser le mode Ne pas déranger"</string>
- <string name="zen_access_empty_text" msgid="3779921853282293080">"Aune application installée n\'a demandé l\'accès au mode « Ne pas déranger »"</string>
- <string name="app_notifications_off_desc" msgid="2484843759466874201">"Vous n\'avez pas autorisé les notifications de cette application"</string>
+ <string name="zen_access_empty_text" msgid="3779921853282293080">"Aune appli installée n\'a demandé l\'accès au mode « Ne pas déranger »"</string>
+ <string name="app_notifications_off_desc" msgid="2484843759466874201">"Vous n\'avez pas autorisé les notifications de cette appli"</string>
<string name="channel_notifications_off_desc" msgid="6202042207121633488">"À votre demande, Android empêche cette catégorie de notifications de s\'afficher sur cet appareil"</string>
<string name="channel_group_notifications_off_desc" msgid="9096417708500595424">"À votre demande, Android empêche ce groupe de notifications de s\'afficher sur cet appareil"</string>
- <string name="app_notifications_not_send_desc" msgid="5683060986735070528">"Cette application n\'envoie pas de notifications"</string>
+ <string name="app_notifications_not_send_desc" msgid="5683060986735070528">"Cette appli n\'envoie pas de notifications"</string>
<string name="notification_channels" msgid="1502969522886493799">"Catégories"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Autre"</string>
<string name="no_channels" msgid="4716199078612071915">"Cette appli n\'a publié aucune notification"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Afficher les catégories inutilisées"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Paramètres supplémentaires dans l\'appli"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Afficher les catégories inutilisées"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Masquer les catégories inutilisées"</string>
@@ -3696,8 +3753,8 @@
<string name="zen_mode_choose_rule_type" msgid="7656308563653982975">"Choisir le type d\'horaire"</string>
<string name="zen_mode_delete_rule_confirmation" msgid="6195069346439736688">"Supprimer la règle « <xliff:g id="RULE">%1$s</xliff:g> »?"</string>
<string name="zen_mode_delete_rule_button" msgid="8328729110756882244">"Supprimer"</string>
- <string name="zen_mode_app_set_behavior" msgid="4319517270279704677">"Ces paramètres ne peuvent pas être modifiés pour le moment. Une application (<xliff:g id="APP_NAME">%1$s</xliff:g>) a activé un mode Ne pas déranger personnalisé."</string>
- <string name="zen_mode_unknown_app_set_behavior" msgid="8544413884273894104">"Ces paramètres ne peuvent pas être modifiés pour le moment. Une application a activé un mode Ne pas déranger personnalisé."</string>
+ <string name="zen_mode_app_set_behavior" msgid="4319517270279704677">"Ces paramètres ne peuvent pas être modifiés pour le moment. Une appli (<xliff:g id="APP_NAME">%1$s</xliff:g>) a activé un mode Ne pas déranger personnalisé."</string>
+ <string name="zen_mode_unknown_app_set_behavior" msgid="8544413884273894104">"Ces paramètres ne peuvent pas être modifiés pour le moment. Une appli a activé un mode Ne pas déranger personnalisé."</string>
<string name="zen_mode_qs_set_behavior" msgid="3805244555649172848">"Ces paramètres ne peuvent pas être modifiés pour le moment. Un mode Ne pas déranger personnalisé a été activé manuellement."</string>
<string name="zen_schedule_rule_type_name" msgid="8071428540221112090">"Heure"</string>
<string name="zen_event_rule_type_name" msgid="1921166617081971754">"Événement"</string>
@@ -3727,7 +3784,7 @@
<string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Aucune"</string>
<string name="zen_mode_conversations_count" msgid="3199310723073707153">"{count,plural, =0{Aucune}=1{1 conversation}one{# conversation}other{# conversations}}"</string>
<string name="zen_mode_people_calls_messages_section_title" msgid="6815202112413762206">"Qui peut provoquer des interruptions"</string>
- <string name="zen_mode_people_footer" msgid="7710707353004137431">"Même si vous ne pouvez pas recevoir de notifications des applications de messagerie ou de téléphonie, les personnes que vous choisissez ici peuvent toujours vous joindre par le biais de celles-ci"</string>
+ <string name="zen_mode_people_footer" msgid="7710707353004137431">"Même si vous ne pouvez pas recevoir de notifications des applis de messagerie ou de téléphonie, les personnes que vous choisissez ici peuvent toujours vous joindre par le biais de celles-ci"</string>
<string name="zen_mode_calls_title" msgid="2078578043677037740">"Appels"</string>
<string name="zen_mode_calls" msgid="7653245854493631095">"Appels"</string>
<string name="zen_mode_calls_list" msgid="5044730950895749093">"appels"</string>
@@ -3778,20 +3835,22 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Tout"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
- <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Autoriser les applications à ignorer le mode Ne pas déranger"</string>
- <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Applications qui peuvent provoquer des interruptions"</string>
- <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Sélectionner plus d\'applications"</string>
- <string name="zen_mode_bypassing_apps_none" msgid="7944221631721778096">"Aucune application sélectionnée"</string>
- <string name="zen_mode_bypassing_apps_subtext_none" msgid="5128770411598722200">"Aucune application ne peut provoquer d\'interruption"</string>
- <string name="zen_mode_bypassing_apps_add" msgid="5031919618521327102">"Ajouter des applications"</string>
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
+ <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Autoriser les applis à ignorer le mode Ne pas déranger"</string>
+ <string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Applis qui peuvent provoquer des interruptions"</string>
+ <string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Sélectionner plus d\'applis"</string>
+ <string name="zen_mode_bypassing_apps_none" msgid="7944221631721778096">"Aucune appli sélectionnée"</string>
+ <string name="zen_mode_bypassing_apps_subtext_none" msgid="5128770411598722200">"Aucune appli ne peut provoquer d\'interruption"</string>
+ <string name="zen_mode_bypassing_apps_add" msgid="5031919618521327102">"Ajouter des applis"</string>
<string name="zen_mode_bypassing_apps_summary_all" msgid="4684544706511555744">"Toutes les notifications"</string>
<string name="zen_mode_bypassing_apps_summary_some" msgid="5315750826830358230">"Quelques notifications"</string>
- <string name="zen_mode_bypassing_apps_footer" msgid="1454862989340760124">"Les personnes sélectionnées peuvent toujours vous joindre, même si vous n\'autorisez pas les applications à provoquer des interruptions"</string>
- <string name="zen_mode_bypassing_apps_subtext" msgid="5258652366929842710">"{count,plural,offset:2 =0{Aucune application ne peut provoquer d\'interruption}=1{{app_1} peut provoquer des interruptions}=2{{app_1} et {app_2} peuvent provoquer des interruptions}=3{{app_1}, {app_2} et {app_3} peuvent provoquer des interruptions}one{{app_1}, {app_2} et # autre application peuvent provoquer des interruptions}other{{app_1}, {app_2} et # autres applications peuvent provoquer des interruptions}}"</string>
- <string name="zen_mode_bypassing_apps_title" msgid="371050263563164059">"Applications"</string>
+ <string name="zen_mode_bypassing_apps_footer" msgid="1454862989340760124">"Les personnes sélectionnées peuvent toujours vous joindre, même si vous n\'autorisez pas les applis à provoquer des interruptions"</string>
+ <string name="zen_mode_bypassing_apps_subtext" msgid="5258652366929842710">"{count,plural,offset:2 =0{Aucune appli ne peut provoquer d\'interruption}=1{{app_1} peut provoquer des interruptions}=2{{app_1} et {app_2} peuvent provoquer des interruptions}=3{{app_1}, {app_2} et {app_3} peuvent provoquer des interruptions}one{{app_1}, {app_2} et # autre appli peuvent provoquer des interruptions}other{{app_1}, {app_2} et # autres applis peuvent provoquer des interruptions}}"</string>
+ <string name="zen_mode_bypassing_apps_title" msgid="371050263563164059">"Applis"</string>
<string name="zen_mode_bypassing_app_channels_header" msgid="4011017798712587373">"Notifications qui peuvent provoquer des interruptions"</string>
<string name="zen_mode_bypassing_app_channels_toggle_all" msgid="1449462656358219116">"Autoriser toutes les notifications"</string>
- <string name="zen_mode_other_sounds_summary" msgid="8784400697494837032">"{count,plural,offset:2 =0{Rien ne peut provoquer d\'interruption}=1{{sound_category_1} peut provoquer des interruptions}=2{{sound_category_1} et {sound_category_2} peuvent provoquer des interruptions}=3{{sound_category_1}, {sound_category_2} et {sound_category_3} peuvent provoquer des interruptions}one{{sound_category_1}, {sound_category_2} et # autre application peuvent provoquer des interruptions}other{{sound_category_1}, {sound_category_2} et # autres applications peuvent provoquer des interruptions}}"</string>
+ <string name="zen_mode_other_sounds_summary" msgid="8784400697494837032">"{count,plural,offset:2 =0{Rien ne peut provoquer d\'interruption}=1{{sound_category_1} peut provoquer des interruptions}=2{{sound_category_1} et {sound_category_2} peuvent provoquer des interruptions}=3{{sound_category_1}, {sound_category_2} et {sound_category_3} peuvent provoquer des interruptions}one{{sound_category_1}, {sound_category_2} et # autre appli peuvent provoquer des interruptions}other{{sound_category_1}, {sound_category_2} et # autres applis peuvent provoquer des interruptions}}"</string>
<string name="zen_mode_sounds_none" msgid="6557474361948269420">"Rien ne peut provoquer d\'interruption"</string>
<string name="zen_mode_people_none" msgid="4613147461974255046">"Personne ne peut provoquer d\'interruption"</string>
<string name="zen_mode_people_some" msgid="9101872681298810281">"Certaines personnes peuvent provoquer des interruptions"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Ne recevoir que les alarmes pendant une heure jusqu\'à {time}}one{Ne recevoir que les alarmes pendant # heure jusqu\'à {time}}other{Ne recevoir que les alarmes pendant # heures jusqu\'à {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Ne recevoir que les alarmes jusqu\'à <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Activer le mode Toujours interrompre"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Renommer"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Changer d\'icône"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Changer d\'icône"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Mise en garde"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Fermer"</string>
<string name="device_feedback" msgid="5351614458411688608">"Commentaires sur cet appareil"</string>
@@ -3830,11 +3886,11 @@
<string name="nfc_setting_off" msgid="7142103438532732309">"Désactivée"</string>
<string name="screen_pinning_switch_on_text" msgid="6971386830247542552">"Activé"</string>
<string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Désactivé"</string>
- <string name="screen_pinning_title" msgid="6927227272780208966">"Épinglage d\'application"</string>
- <string name="app_pinning_intro" msgid="6409063008733004245">"L\'épinglage d\'application vous permet de garder l\'application actuelle en vue jusqu\'à ce que vous annuliez l\'épinglage. Cette fonctionnalité peut être utilisée, par exemple, pour laisser un ami de confiance jouer à un certain jeu."</string>
- <string name="screen_pinning_description" msgid="5822120806426139396">"Lorsqu\'une application est épinglée, elle peut ouvrir d\'autres applications, et certaines données personnelles pourraient être accessibles. \n\nPour utiliser Épinglage d\'application : \n{0,number,integer}. Activez Épinglage d\'application \n{1,number,integer}. Ouvrez Aperçu \n{2,number,integer}. Touchez l\'icône de l\'application dans le haut de l\'écran, puis touchez Épingler"</string>
- <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Lorsqu\'une application est épinglée, elle peut ouvrir d\'autres applications, et certaines données personnelles pourraient être accessibles. \n\nSi vous souhaitez partager votre appareil de manière sécuritaire, essayez d\'utiliser un profil d\'utilisateur invité à la place. \n\nPour utiliser Épinglage d\'application : \n{0,number,integer}. Activez Épinglage d\'application \n{1,number,integer}. Ouvrez Aperçu \n{2,number,integer}. Touchez l\'icône de l\'application dans le haut de l\'écran, puis touchez Épingler"</string>
- <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Lorsqu\'une application est épinglée : \n\n• Certaines données personnelles pourraient être accessibles \n (comme les contacts et le contenu des courriels) \n• L\'application épinglée peut ouvrir d\'autres applications \n\nUtilisez l\'épinglage d\'application uniquement avec les gens en qui vous avez confiance."</string>
+ <string name="screen_pinning_title" msgid="6927227272780208966">"Épinglage d\'appli"</string>
+ <string name="app_pinning_intro" msgid="6409063008733004245">"L\'épinglage d\'appli vous permet de garder l\'appli actuelle en vue jusqu\'à ce que vous annuliez l\'épinglage. Cette fonctionnalité peut être utilisée, par exemple, pour laisser un ami de confiance jouer à un certain jeu."</string>
+ <string name="screen_pinning_description" msgid="5822120806426139396">"Lorsqu\'une appli est épinglée, elle peut ouvrir d\'autres applis, et certaines données personnelles pourraient être accessibles. \n\nPour utiliser Épinglage d\'appli : \n{0,number,integer}. Activez Épinglage d\'appli \n{1,number,integer}. Ouvrez Aperçu \n{2,number,integer}. Touchez l\'icône de l\'appli dans le haut de l\'écran, puis touchez Épingler"</string>
+ <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Lorsqu\'une appli est épinglée, elle peut ouvrir d\'autres applis, et certaines données personnelles pourraient être accessibles. \n\nSi vous souhaitez partager votre appareil de manière sécuritaire, essayez d\'utiliser un profil d\'utilisateur invité à la place. \n\nPour utiliser Épinglage d\'appli : \n{0,number,integer}. Activez Épinglage d\'appli \n{1,number,integer}. Ouvrez Aperçu \n{2,number,integer}. Touchez l\'icône de l\'appli dans le haut de l\'écran, puis touchez Épingler"</string>
+ <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Lorsqu\'une appli est épinglée : \n\n• Certaines données personnelles pourraient être accessibles \n (comme les contacts et le contenu des courriels) \n• L\'appli épinglée peut ouvrir d\'autres applis \n\nUtilisez l\'épinglage d\'appli uniquement avec les gens en qui vous avez confiance."</string>
<string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Demander le schéma de déverrouillage avant d\'annuler l\'épinglage"</string>
<string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Demander le NIP avant d\'annuler l\'épinglage"</string>
<string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Demander le mot de passe avant d\'annuler l\'épinglage"</string>
@@ -3861,14 +3917,14 @@
<string name="managing_admin" msgid="2633920317425356619">"Géré par <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
<string name="launch_by_default" msgid="892824422067985734">"Ouvrir par défaut"</string>
<string name="app_launch_open_domain_urls_title" msgid="4805388403977096285">"Ouvrir les liens compatibles"</string>
- <string name="app_launch_top_intro_message" msgid="137370923637482459">"Permettre aux liens Web de s\'ouvrir dans cette application"</string>
- <string name="app_launch_links_category" msgid="2380467163878760037">"Liens à ouvrir dans cette application"</string>
+ <string name="app_launch_top_intro_message" msgid="137370923637482459">"Permettre aux liens Web de s\'ouvrir dans cette appli"</string>
+ <string name="app_launch_links_category" msgid="2380467163878760037">"Liens à ouvrir dans cette appli"</string>
<string name="app_launch_supported_domain_urls_title" msgid="5088779668667217369">"Liens compatibles"</string>
<string name="app_launch_other_defaults_title" msgid="5674385877838735586">"Autres préférences par défaut"</string>
<string name="app_launch_add_link" msgid="8622558044530305811">"Ajouter un lien"</string>
- <string name="app_launch_footer" msgid="4521865035105622557">"Une application peut vérifier les liens pour les ouvrir automatiquement dans l\'application."</string>
+ <string name="app_launch_footer" msgid="4521865035105622557">"Une appli peut vérifier les liens pour les ouvrir automatiquement dans l\'appli."</string>
<string name="app_launch_verified_links_title" msgid="621908751569155356">"{count,plural, =1{# lien vérifié}one{# lien vérifié}other{# liens vérifiés}}"</string>
- <string name="app_launch_verified_links_message" msgid="190871133877476176">"{count,plural, =1{Ce lien a été vérifié et s\'ouvre automatiquement dans cette application.}one{Ce lien a été vérifié et s\'ouvre automatiquement dans cette application.}other{Ces liens ont été vérifiés et s\'ouvrent automatiquement dans cette application.}}"</string>
+ <string name="app_launch_verified_links_message" msgid="190871133877476176">"{count,plural, =1{Ce lien a été vérifié et s\'ouvre automatiquement dans cette appli.}one{Ce lien a été vérifié et s\'ouvre automatiquement dans cette appli.}other{Ces liens ont été vérifiés et s\'ouvrent automatiquement dans cette appli.}}"</string>
<string name="app_launch_dialog_ok" msgid="1446157681861409861">"OK"</string>
<string name="app_launch_verified_links_info_description" msgid="7514750232467132117">"Afficher la liste des liens vérifiés"</string>
<string name="app_launch_checking_links_title" msgid="6119228853554114201">"Vérification des liens pris en charge en cours…"</string>
@@ -3891,47 +3947,47 @@
<string name="runtime_permissions_additional_count" msgid="6071909675951786523">"{count,plural, =1{# autorisation supplémentaire}one{# autorisation supplémentaire}other{# autorisations supplémentaires}}"</string>
<string name="runtime_permissions_summary_no_permissions_granted" msgid="7456745929035665029">"Aucune autorisation accordée"</string>
<string name="runtime_permissions_summary_no_permissions_requested" msgid="7174876170116073356">"Aucune autorisation demandée"</string>
- <string name="runtime_permissions_summary_control_app_access" msgid="3744591396348990500">"Gérez l\'accès des applications à vos données"</string>
+ <string name="runtime_permissions_summary_control_app_access" msgid="3744591396348990500">"Gérez l\'accès des applis à vos données"</string>
<string name="permissions_usage_title" msgid="2942741460679049132">"Tableau de bord de confidentialité"</string>
- <string name="permissions_usage_summary" msgid="6784310472062516454">"Affichez les applications qui ont récemment utilisé les autorisations"</string>
- <string name="unused_apps" msgid="4566272194756830656">"Applications non utilisées"</string>
- <string name="unused_apps_summary" msgid="4236371818881973021">"{count,plural, =1{# application non utilisée}one{# application non utilisée}other{# applications non utilisées}}"</string>
- <string name="unused_apps_category" msgid="8954930958175500851">"Paramètres des applications inutilisées"</string>
+ <string name="permissions_usage_summary" msgid="6784310472062516454">"Affichez les applis qui ont récemment utilisé les autorisations"</string>
+ <string name="unused_apps" msgid="4566272194756830656">"Applis non utilisées"</string>
+ <string name="unused_apps_summary" msgid="4236371818881973021">"{count,plural, =1{# appli non utilisée}one{# appli non utilisée}other{# applis non utilisées}}"</string>
+ <string name="unused_apps_category" msgid="8954930958175500851">"Paramètres des applis inutilisées"</string>
<string name="unused_apps_switch" msgid="7595419855882245772">"Suspendre l\'activité appli si inutilisée"</string>
<string name="unused_apps_switch_summary" msgid="2171098908014596802">"Retirer les autorisations, supprimer les fichiers temporaires et arrêter les notifications"</string>
- <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Gérer l\'application si inutilisée"</string>
- <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Retirez les autorisations, supprimez les fichiers temporaires, arrêtez les notifications et archivez l\'application"</string>
- <string name="filter_all_apps" msgid="6645539744080251371">"Toutes les applications"</string>
- <string name="filter_enabled_apps" msgid="8868356616126759124">"Applications installées"</string>
- <string name="filter_instant_apps" msgid="2292108467020380068">"Applications instantanées"</string>
+ <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Gérer l\'appli si inutilisée"</string>
+ <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Retirez les autorisations, supprimez les fichiers temporaires, arrêtez les notifications et archivez l\'appli"</string>
+ <string name="filter_all_apps" msgid="6645539744080251371">"Toutes les applis"</string>
+ <string name="filter_enabled_apps" msgid="8868356616126759124">"Applis installées"</string>
+ <string name="filter_instant_apps" msgid="2292108467020380068">"Applis instantanées"</string>
<string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Désactivées"</string>
<string name="advanced_apps" msgid="7643010673326578815">"Paramètres avancés"</string>
<string name="app_permissions" msgid="8666537659217653626">"Gestionnaire des autorisations"</string>
<string name="app_data_sharing_updates_title" msgid="1694297952320402788">"Mises à jour des pratiques de partage des données pour la localisation"</string>
- <string name="app_data_sharing_updates_summary" msgid="4465929918457739443">"Passez en revue les applications qui ont changé la façon dont elles peuvent partager vos données de localisation"</string>
+ <string name="app_data_sharing_updates_summary" msgid="4465929918457739443">"Passez en revue les applis qui ont changé la façon dont elles peuvent partager vos données de localisation"</string>
<string name="tap_to_wake" msgid="3313433536261440068">"Toucher pour réveiller"</string>
<string name="tap_to_wake_summary" msgid="6641039858241611072">"Double-touchez l\'écran pour réveiller l\'appareil"</string>
<string name="domain_urls_title" msgid="7012209752049678876">"Ouverture des liens"</string>
<string name="domain_urls_summary_none" msgid="1132578967643384733">"Ne pas ouvrir les liens compatibles"</string>
<string name="domain_urls_summary_one" msgid="3312008753802762892">"Ouvrir « <xliff:g id="DOMAIN">%s</xliff:g> »"</string>
<string name="domain_urls_summary_some" msgid="1197692164421314523">"Ouvrir <xliff:g id="DOMAIN">%s</xliff:g> et d\'autres URL"</string>
- <string name="app_link_open_always" msgid="9167065494930657503">"Autoriser l\'application à gérer les liens pris en charge"</string>
+ <string name="app_link_open_always" msgid="9167065494930657503">"Autoriser l\'appli à gérer les liens pris en charge"</string>
<string name="app_link_open_ask" msgid="2422450109908936371">"Toujours demander"</string>
- <string name="app_link_open_never" msgid="5299808605386052350">"Ne pas autoriser l\'application à ouvrir les liens"</string>
- <string name="app_link_open_always_summary" msgid="4524005594295855117">"{count,plural, =1{L\'application prétend cibler # lien}one{L\'application prétend cibler # lien}other{L\'application prétend cibler # liens}}"</string>
- <string name="open_supported_links_footer" msgid="3188808142432787933">"L\'application réclame les liens suivants :"</string>
+ <string name="app_link_open_never" msgid="5299808605386052350">"Ne pas autoriser l\'appli à ouvrir les liens"</string>
+ <string name="app_link_open_always_summary" msgid="4524005594295855117">"{count,plural, =1{L\'appli prétend cibler # lien}one{L\'appli prétend cibler # lien}other{L\'appli prétend cibler # liens}}"</string>
+ <string name="open_supported_links_footer" msgid="3188808142432787933">"L\'appli réclame les liens suivants :"</string>
<string name="assist_and_voice_input_title" msgid="6317935163145135914">"Assist. et entrée vocale"</string>
<string name="default_assist_title" msgid="1182435129627493758">"Appli d\'assistant numérique"</string>
<string name="default_digital_assistant_title" msgid="5654663086385490838">"Assistant numérique par défaut"</string>
<string name="assistant_security_warning_agree" msgid="9013334158753473359">"J\'accepte"</string>
<string name="default_browser_title" msgid="8342074390782390458">"Appli de navigateur"</string>
- <string name="default_phone_title" msgid="7616730756650803827">"Application de téléphonie"</string>
+ <string name="default_phone_title" msgid="7616730756650803827">"Appli de téléphonie"</string>
<string name="system_app" msgid="1863291702508355041">"(Système)"</string>
- <string name="apps_storage" msgid="643866814746927111">"Stockage des applications"</string>
+ <string name="apps_storage" msgid="643866814746927111">"Stockage des applis"</string>
<string name="usage_access" msgid="5487993885373893282">"Accès aux données d\'utilisation"</string>
<string name="permit_usage_access" msgid="179630895262172674">"Autoriser l\'accès aux données d\'utilisation"</string>
<string name="time_spent_in_app_pref_title" msgid="25327097913383330">"Temps d\'utilisation des écrans"</string>
- <string name="usage_access_description" msgid="8547716253713890707">"L\'accès aux données d\'utilisation permet à une application d\'effectuer le suivi des applications que vous utilisez, de la fréquence d\'utilisation, du fournisseur de services, des paramètres de langue et d\'autres détails."</string>
+ <string name="usage_access_description" msgid="8547716253713890707">"L\'accès aux données d\'utilisation permet à une appli d\'effectuer le suivi des applis que vous utilisez, de la fréquence d\'utilisation, du fournisseur de services, des paramètres de langue et d\'autres détails."</string>
<string name="memory_settings_title" msgid="6582588646363308430">"Mémoire"</string>
<string name="always_running" msgid="9012705720688200252">"Toujours en cours d\'exécution (<xliff:g id="PERCENTAGE">%s</xliff:g>)"</string>
<string name="sometimes_running" msgid="7954947311082655448">"Parfois en cours d\'exécution (<xliff:g id="PERCENTAGE">%s</xliff:g>)"</string>
@@ -3942,14 +3998,14 @@
<string name="high_power_on" msgid="8778058701270819268">"Non optimisée"</string>
<string name="high_power_off" msgid="317000444619279018">"L\'utilisation de la pile est optimisée"</string>
<string name="high_power_system" msgid="3966701453644915787">"L\'optimisation de la pile n\'est pas disponible"</string>
- <string name="high_power_prompt_title" msgid="2574478825228409124">"Autoriser l\'application à toujours fonctionner en arrière-plan?"</string>
- <string name="high_power_prompt_body" msgid="6029266540782139941">"Si vous autorisez l\'exécution en arrière-plan systématique de l\'application <xliff:g id="APP_NAME">%1$s</xliff:g>, vous risquez de réduire l\'autonomie de la pile. \n\nVous pouvez modifier ce choix plus tard dans Paramètres > Applications."</string>
+ <string name="high_power_prompt_title" msgid="2574478825228409124">"Autoriser l\'appli à toujours fonctionner en arrière-plan?"</string>
+ <string name="high_power_prompt_body" msgid="6029266540782139941">"Si vous autorisez l\'exécution en arrière-plan systématique de l\'appli <xliff:g id="APP_NAME">%1$s</xliff:g>, vous risquez de réduire l\'autonomie de la pile. \n\nVous pouvez modifier ce choix plus tard dans Paramètres > Applis."</string>
<string name="battery_summary" msgid="2491764359695671207">"Usage depuis la dernière charge complète : <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
<string name="battery_summary_24hr" msgid="7656033283282656551">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> d\'utilisation au cours des 24 dernières heures"</string>
<string name="no_battery_summary" msgid="5769159953384122003">"Aucune utilisation de la pile depuis la dernière charge complète"</string>
<string name="share_remote_bugreport_dialog_title" msgid="1575283098565582433">"Partager le rapport de bogue?"</string>
- <string name="share_remote_bugreport_dialog_message_finished" msgid="4869053468609007680">"Votre administrateur informatique a demandé un rapport de bogue pour l\'aider à dépanner cet appareil. Les applications et les données peuvent être partagées."</string>
- <string name="share_remote_bugreport_dialog_message" msgid="8714439220818865391">"Votre administrateur informatique a demandé un rapport de bogue pour l\'aider à dépanner cet appareil. Les applications et les données peuvent être partagées. Cela pourrait temporairement ralentir votre appareil."</string>
+ <string name="share_remote_bugreport_dialog_message_finished" msgid="4869053468609007680">"Votre administrateur informatique a demandé un rapport de bogue pour l\'aider à dépanner cet appareil. Les applis et les données peuvent être partagées."</string>
+ <string name="share_remote_bugreport_dialog_message" msgid="8714439220818865391">"Votre administrateur informatique a demandé un rapport de bogue pour l\'aider à dépanner cet appareil. Les applis et les données peuvent être partagées. Cela pourrait temporairement ralentir votre appareil."</string>
<string name="sharing_remote_bugreport_dialog_message" msgid="3523877008096439251">"Ce rapport de bogue est partagé avec votre administrateur informatique. Pour en savoir plus, communiquez avec lui."</string>
<string name="share_remote_bugreport_action" msgid="7173093464692893276">"Partager"</string>
<string name="decline_remote_bugreport_action" msgid="1276509879613158895">"Refuser"</string>
@@ -3988,16 +4044,16 @@
<string name="usb_summary_UVC_power" msgid="226810354412154061">"Caméra Web et alimentation"</string>
<string name="background_check_pref" msgid="5304564658578987535">"Vérification en arrière-plan"</string>
<string name="assist_access_context_title" msgid="5201495523514096201">"Utiliser le texte affiché à l\'écran"</string>
- <string name="assist_access_context_summary" msgid="6951814413185646275">"Autorisez l\'application d\'assistance à accéder au contenu affiché à l\'écran sous forme de texte"</string>
+ <string name="assist_access_context_summary" msgid="6951814413185646275">"Autorisez l\'appli d\'assistance à accéder au contenu affiché à l\'écran sous forme de texte"</string>
<string name="assist_access_screenshot_title" msgid="4395902231753643633">"Utiliser la capture d\'écran"</string>
- <string name="assist_access_screenshot_summary" msgid="5276593070956201863">"Autorisez l\'application d\'assistance à accéder au contenu affiché à l\'écran sous forme d\'image"</string>
+ <string name="assist_access_screenshot_summary" msgid="5276593070956201863">"Autorisez l\'appli d\'assistance à accéder au contenu affiché à l\'écran sous forme d\'image"</string>
<string name="assist_flash_title" msgid="5449512572885550108">"Faire clignoter l\'écran"</string>
- <string name="assist_flash_summary" msgid="3032289860177784594">"Faites clignoter les bordures de l\'écran lorsque l\'application d\'assistance accède à du texte à partir de l\'écran ou d\'une capture d\'écran"</string>
- <string name="assist_footer" msgid="8248015363806299068">"Les applications d\'assistance peuvent vous aider en fonction de l\'information affichée à l\'écran. Certaines applications sont compatibles à la fois avec le lanceur d\'applications et les services d\'entrée vocale, vous permettant de bénéficier d\'une assistance intégrée."</string>
+ <string name="assist_flash_summary" msgid="3032289860177784594">"Faites clignoter les bordures de l\'écran lorsque l\'appli d\'assistance accède à du texte à partir de l\'écran ou d\'une capture d\'écran"</string>
+ <string name="assist_footer" msgid="8248015363806299068">"Les applis d\'assistance peuvent vous aider en fonction de l\'information affichée à l\'écran. Certaines applis sont compatibles à la fois avec le lanceur d\'applis et les services d\'entrée vocale, vous permettant de bénéficier d\'une assistance intégrée."</string>
<string name="average_memory_use" msgid="717313706368825388">"Utilisation moyenne de la mémoire"</string>
<string name="maximum_memory_use" msgid="2171779724001152933">"Utilisation max. de la mémoire"</string>
<string name="memory_usage" msgid="5594133403819880617">"Utilisation de la mémoire"</string>
- <string name="app_list_memory_use" msgid="3178720339027577869">"Utilisation de l\'application"</string>
+ <string name="app_list_memory_use" msgid="3178720339027577869">"Utilisation de l\'appli"</string>
<string name="memory_details" msgid="6133226869214421347">"Détails"</string>
<string name="memory_use_summary" msgid="3915964794146424142">"Moyenne de mémoire utilisée au cours des trois dernières heures : <xliff:g id="SIZE">%1$s</xliff:g>"</string>
<string name="no_memory_use_summary" msgid="6708111974923274436">"Aucune mémoire utilisée au cours des trois dernières heures"</string>
@@ -4007,8 +4063,8 @@
<string name="total_memory" msgid="5244174393008910567">"Mémoire totale"</string>
<string name="average_used" msgid="690235917394070169">"Utilisation moyenne (%)"</string>
<string name="free_memory" msgid="439783742246854785">"Libre"</string>
- <string name="memory_usage_apps" msgid="5776108502569850579">"Mémoire utilisée par les applications"</string>
- <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 application a utilisé la mémoire depuis {time}}one{# application a utilisé la mémoire depuis {time}}other{# applications ont utilisé la mémoire depuis {time}}}"</string>
+ <string name="memory_usage_apps" msgid="5776108502569850579">"Mémoire utilisée par les applis"</string>
+ <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 appli a utilisé la mémoire depuis {time}}one{# appli a utilisé la mémoire depuis {time}}other{# applis ont utilisé la mémoire depuis {time}}}"</string>
<string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Activer le profilage d\'util. de la mém."</string>
<string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Le profilage d\'utilisation de la mémoire nécessite des ressources système additionnelles."</string>
<string name="pss_profiling_disabled" msgid="1967278421143514850">"Profilage de la mémoire désactivé"</string>
@@ -4016,51 +4072,51 @@
<string name="memory_maximum_usage" msgid="2047013391595835607">"Utilisation maximale"</string>
<string name="no_data_usage" msgid="4665617440434654132">"Aucune donnée utilisée"</string>
<string name="zen_access_warning_dialog_title" msgid="6323325813123130154">"Autoriser l\'accès au mode Ne pas déranger pour <xliff:g id="APP">%1$s</xliff:g>?"</string>
- <string name="zen_access_warning_dialog_summary" msgid="8468714854067428987">"L\'application disposera d\'une autorisation d\'activation ou de désactivation du mode Ne pas déranger et de modification des paramètres associés."</string>
+ <string name="zen_access_warning_dialog_summary" msgid="8468714854067428987">"L\'appli disposera d\'une autorisation d\'activation ou de désactivation du mode Ne pas déranger et de modification des paramètres associés."</string>
<string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Cette fonction doit rester activée, car l\'accès aux notifications est activé"</string>
<string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Révoquer l\'accès au mode Ne pas déranger pour <xliff:g id="APP">%1$s</xliff:g>?"</string>
- <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Toutes les règles Ne pas déranger créées par cette application seront supprimées."</string>
+ <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Toutes les règles Ne pas déranger créées par cette appli seront supprimées."</string>
<string name="ignore_optimizations_on" msgid="6865583039303804932">"Ne pas optimiser"</string>
<string name="ignore_optimizations_off" msgid="9186557038453586295">"Optimiser"</string>
- <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Cela peut épuiser la pile de votre appareil plus rapidement. L\'application pourra maintenant utiliser la pile en arrière-plan."</string>
+ <string name="ignore_optimizations_on_desc" msgid="1280043916460939932">"Cela peut épuiser la pile de votre appareil plus rapidement. L\'appli pourra maintenant utiliser la pile en arrière-plan."</string>
<string name="ignore_optimizations_off_desc" msgid="3324571675983286177">"Recommandé pour une meilleure autonomie de la pile"</string>
<string name="app_list_preference_none" msgid="1635406344616653756">"Aucune"</string>
- <string name="work_profile_usage_access_warning" msgid="3477719910927319122">"Désactiver l\'accès aux données d\'utilisation pour cette application n\'empêchera pas votre administrateur d\'effectuer le suivi de la consommation des données pour les applications de votre profil professionnel"</string>
+ <string name="work_profile_usage_access_warning" msgid="3477719910927319122">"Désactiver l\'accès aux données d\'utilisation pour cette appli n\'empêchera pas votre administrateur d\'effectuer le suivi de la consommation des données pour les applis de votre profil professionnel"</string>
<string name="draw_overlay" msgid="7902083260500573027">"Afficher par-dessus autres applis"</string>
- <string name="system_alert_window_settings" msgid="6458633954424862521">"Afficher par-dessus les autres applications"</string>
- <string name="permit_draw_overlay" msgid="4468994037192804075">"Autoriser la superposition d\'applications"</string>
- <string name="allow_overlay_description" msgid="1607235723669496298">"Autorisez cette application à s\'afficher par-dessus les autres que vous utilisez. Cette application pourra voir où vous touchez et modifier ce qui est affiché sur l\'écran."</string>
+ <string name="system_alert_window_settings" msgid="6458633954424862521">"Afficher par-dessus les autres applis"</string>
+ <string name="permit_draw_overlay" msgid="4468994037192804075">"Autoriser la superposition d\'applis"</string>
+ <string name="allow_overlay_description" msgid="1607235723669496298">"Autorisez cette appli à s\'afficher par-dessus les autres que vous utilisez. Cette appli pourra voir où vous touchez et modifier ce qui est affiché sur l\'écran."</string>
<string name="media_routing_control_title" msgid="6402800638960066807">"Modifier la sortie multimédia"</string>
<string name="allow_media_routing_control" msgid="4907036637509360616">"Autoriser l\'appli à changer la sortie média"</string>
- <string name="allow_media_routing_description" msgid="8343709701298051207">"Autorisez cette application à choisir l\'appareil connecté qui lit les fichiers audio ou vidéo provenant d\'autres applications. Si elle est autorisée, cette application peut accéder à une liste de périphériques disponibles, tels que des écouteurs et des haut-parleurs, et choisir le périphérique de sortie utilisé pour diffuser du contenu audio ou vidéo."</string>
+ <string name="allow_media_routing_description" msgid="8343709701298051207">"Autorisez cette appli à choisir l\'appareil connecté qui lit les fichiers audio ou vidéo provenant d\'autres applis. Si elle est autorisée, cette appli peut accéder à une liste de périphériques disponibles, tels que des écouteurs et des haut-parleurs, et choisir le périphérique de sortie utilisé pour diffuser du contenu audio ou vidéo."</string>
<string name="manage_external_storage_title" msgid="8024521099838816100">"Accès à tous les fichiers"</string>
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Autorisez l\'accès pour gérer tous les fichiers"</string>
- <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Autoriser cette application à lire, à modifier et à supprimer tous les fichiers qui se trouvent sur cet appareil ou sur des volumes de stockage connectés. Si vous accordez cette autorisation, l\'application pourra accéder à des fichiers sans que vous le sachiez."</string>
+ <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Autoriser cette appli à lire, à modifier et à supprimer tous les fichiers qui se trouvent sur cet appareil ou sur des volumes de stockage connectés. Si vous accordez cette autorisation, l\'appli pourra accéder à des fichiers sans que vous le sachiez."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Peuvent accéder à tous les fichiers"</string>
<string name="full_screen_intent_title" msgid="5888548315628268674">"Notifications en plein écran"</string>
<string name="permit_full_screen_intent" msgid="2414307667550523630">"Autoriser les notifications en plein écran de cette appli"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Autoriser cette appli à afficher des notifications en plein écran lorsque l\'appareil est verrouillé. Les applis peuvent s\'en servir pour mettre en évidence des alarmes, des appels entrants ou d\'autres notifications urgentes."</string>
<string name="media_management_apps_title" msgid="8222942355578724582">"Applis de gestion des fichiers multimédias"</string>
<string name="media_management_apps_toggle_label" msgid="166724270857067456">"Autoriser l\'appli à gérer fichiers multimédias"</string>
- <string name="media_management_apps_description" msgid="8000565658455268524">"Si vous l\'autorisez à le faire, cette application peut modifier ou supprimer des fichiers multimédias créés à l\'aide d\'autres applications sans vous le demander. L\'application doit avoir l\'autorisation d\'accéder aux fichiers et aux fichiers multimédias."</string>
- <string name="keywords_media_management_apps" msgid="7499959607583088690">"éléments multimédias, fichier, gestion, gestionnaire, gérer, modifier, éditeur, appli, application, programme"</string>
+ <string name="media_management_apps_description" msgid="8000565658455268524">"Si vous l\'autorisez à le faire, cette appli peut modifier ou supprimer des fichiers multimédias créés à l\'aide d\'autres applis sans vous le demander. L\'appli doit avoir l\'autorisation d\'accéder aux fichiers et aux fichiers multimédias."</string>
+ <string name="keywords_media_management_apps" msgid="7499959607583088690">"éléments multimédias, fichier, gestion, gestionnaire, gérer, modifier, éditeur, appli, appli, programme"</string>
<string name="keywords_vr_listener" msgid="902737490270081131">"vr réalité virtuelle écouteur service de soutien stéréo"</string>
<string name="overlay_settings" msgid="2030836934139139469">"Afficher par-dessus autres applis"</string>
- <string name="filter_overlay_apps" msgid="2483998217116789206">"Applications dotées de l\'autorisation"</string>
- <string name="app_permission_summary_allowed" msgid="1155115629167757278">"Autorisées"</string>
- <string name="app_permission_summary_not_allowed" msgid="2673793662439097900">"Non autorisé"</string>
- <string name="keywords_install_other_apps" msgid="563895867658775580">"installer des applications provenant de sources inconnues"</string>
+ <string name="filter_overlay_apps" msgid="2483998217116789206">"Applis dotées de l\'autorisation"</string>
+ <string name="app_permission_summary_allowed" msgid="1155115629167757278">"Autorisée"</string>
+ <string name="app_permission_summary_not_allowed" msgid="2673793662439097900">"Non autorisée"</string>
+ <string name="keywords_install_other_apps" msgid="563895867658775580">"installer des applis provenant de sources inconnues"</string>
<string name="write_settings" msgid="6864794401614425894">"Modifier paramètres système"</string>
<string name="keywords_write_settings" msgid="6908708078855507813">"écrire des modifications aux paramètres du système"</string>
- <string name="filter_install_sources_apps" msgid="6930762738519588431">"Peut installer d\'autres applications"</string>
+ <string name="filter_install_sources_apps" msgid="6930762738519588431">"Peut installer d\'autres applis"</string>
<string name="filter_write_settings_apps" msgid="4754994984909024093">"Peut modifier les paramètres du système"</string>
<string name="write_settings_title" msgid="3011034187823288557">"Peut modifier les paramètres du système"</string>
<string name="write_system_settings" msgid="5555707701419757421">"Modifier paramètres système"</string>
<string name="permit_write_settings" msgid="3113056800709924871">"Autoriser la modification des paramètres du système"</string>
- <string name="write_settings_description" msgid="1474881759793261146">"Cette autorisation permet à une application de modifier les paramètres du système."</string>
+ <string name="write_settings_description" msgid="1474881759793261146">"Cette autorisation permet à une appli de modifier les paramètres du système."</string>
<string name="external_source_switch_title" msgid="101571983954849473">"Autoriser à partir de cette source"</string>
<string name="camera_gesture_title" msgid="5559439253128696180">"Pivot. poignet deux fois pour app. photo"</string>
- <string name="camera_gesture_desc" msgid="7557645057320805328">"Ouvrez l\'application de l\'appareil photo en pivotant votre poignet deux fois"</string>
+ <string name="camera_gesture_desc" msgid="7557645057320805328">"Ouvrez l\'appli de l\'appareil photo en pivotant votre poignet deux fois"</string>
<string name="screen_zoom_title" msgid="6928045302654960559">"Taille d\'affichage"</string>
<string name="screen_zoom_short_summary" msgid="756254364808639194">"Rendez tout plus grand ou plus petit"</string>
<string name="screen_zoom_keywords" msgid="5964023524422386592">"densité d\'affichage, zoom de l\'écran, échelle, mise à l\'échelle"</string>
@@ -4069,7 +4125,7 @@
<string name="screen_zoom_make_larger_desc" msgid="7268794713428853139">"Agrandir"</string>
<string name="disconnected" msgid="3469373726996129247">"Non connecté"</string>
<string name="keyboard_disconnected" msgid="796053864561894531">"Non connecté"</string>
- <string name="apps_summary" msgid="4007416751775414252">"<xliff:g id="COUNT">%1$d</xliff:g> applications installées"</string>
+ <string name="apps_summary" msgid="4007416751775414252">"<xliff:g id="COUNT">%1$d</xliff:g> applis installées"</string>
<string name="storage_summary" msgid="5903562203143572768">"Utilisé : <xliff:g id="PERCENTAGE">%1$s</xliff:g>; libre : <xliff:g id="FREE_SPACE">%2$s</xliff:g>"</string>
<string name="display_dashboard_summary" msgid="1599453894989339454">"Thème sombre, taille de la police, luminosité"</string>
<string name="memory_summary" msgid="8221954450951651735">"Mémoire utilisée en moyenne : <xliff:g id="USED_MEMORY">%1$s</xliff:g> sur <xliff:g id="TOTAL_MEMORY">%2$s</xliff:g>"</string>
@@ -4082,17 +4138,17 @@
<string name="disabled_by_policy_title_sms" msgid="8951840850778406831">"Impossible d\'envoyer des messages texte"</string>
<string name="disabled_by_policy_title_camera" msgid="6616508876399613773">"Impossible d\'utiliser l\'appareil photo"</string>
<string name="disabled_by_policy_title_screen_capture" msgid="6085100101044105811">"Impossible de faire des captures d\'écran"</string>
- <string name="disabled_by_policy_title_suspend_packages" msgid="4223983156635729793">"Impossible d\'ouvrir cette application"</string>
+ <string name="disabled_by_policy_title_suspend_packages" msgid="4223983156635729793">"Impossible d\'ouvrir cette appli"</string>
<string name="disabled_by_policy_title_financed_device" msgid="2328740314082888228">"Bloqué par votre fournisseur de crédit"</string>
<string name="disabled_by_policy_title_biometric_parental_consent" msgid="2463673997797134678">"Consentement parental requis"</string>
<string name="disabled_by_policy_content_biometric_parental_consent" msgid="7124116806784305206">"Remettez le téléphone à votre parent pour commencer la configuration de ce paramètre"</string>
<string name="disabled_by_policy_parental_consent" msgid="9166060049019018978">"Remettez le téléphone à votre parent pour qu\'il autorise la modification de ce paramètre."</string>
<string name="default_admin_support_msg" msgid="8816296554831532033">"Pour en savoir plus, communiquez avec votre administrateur informatique"</string>
<string name="admin_support_more_info" msgid="8407433155725898290">"Détails supplémentaires"</string>
- <string name="admin_profile_owner_message" msgid="8860709969532649195">"Votre administrateur peut surveiller et gérer les applications et les données associées à votre profil professionnel, y compris les paramètres, les autorisations, l\'accès aux contenus de l\'entreprise, l\'activité réseau et les données de localisation de l\'appareil."</string>
- <string name="admin_profile_owner_user_message" msgid="4929926887231544950">"Votre administrateur peut surveiller et gérer les applications et les données associées à cet utilisateur, y compris les paramètres, les autorisations, l\'accès aux contenus de l\'entreprise, l\'activité réseau et les données de localisation de l\'appareil."</string>
- <string name="admin_device_owner_message" msgid="5503131744126520590">"Votre administrateur peut surveiller et gérer les applications et les données associées à cet appareil, y compris les paramètres, les autorisations, l\'accès aux contenus de l\'entreprise, l\'activité réseau et les données de localisation de l\'appareil."</string>
- <string name="admin_financed_message" msgid="1156197630834947884">"Votre administrateur d\'appareil pourrait être en mesure d\'accéder aux données associées à cet appareil, de modifier ses paramètres et de gérer des applications."</string>
+ <string name="admin_profile_owner_message" msgid="8860709969532649195">"Votre administrateur peut surveiller et gérer les applis et les données associées à votre profil professionnel, y compris les paramètres, les autorisations, l\'accès aux contenus de l\'entreprise, l\'activité réseau et les données de localisation de l\'appareil."</string>
+ <string name="admin_profile_owner_user_message" msgid="4929926887231544950">"Votre administrateur peut surveiller et gérer les applis et les données associées à cet utilisateur, y compris les paramètres, les autorisations, l\'accès aux contenus de l\'entreprise, l\'activité réseau et les données de localisation de l\'appareil."</string>
+ <string name="admin_device_owner_message" msgid="5503131744126520590">"Votre administrateur peut surveiller et gérer les applis et les données associées à cet appareil, y compris les paramètres, les autorisations, l\'accès aux contenus de l\'entreprise, l\'activité réseau et les données de localisation de l\'appareil."</string>
+ <string name="admin_financed_message" msgid="1156197630834947884">"Votre administrateur d\'appareil pourrait être en mesure d\'accéder aux données associées à cet appareil, de modifier ses paramètres et de gérer des applis."</string>
<string name="condition_turn_off" msgid="402707350778441939">"Désactiver"</string>
<string name="condition_turn_on" msgid="3911077299444314791">"Activer"</string>
<string name="condition_expand_show" msgid="1501084007540953213">"Afficher"</string>
@@ -4110,7 +4166,7 @@
<string name="condition_bg_data_title" msgid="2719263664589753094">"Économiseur de données"</string>
<string name="condition_bg_data_summary" msgid="1736255283216193834">"Fonctionnalités restreintes"</string>
<string name="condition_work_title" msgid="174326145616998813">"Profil professionnel désactivé"</string>
- <string name="condition_work_summary" msgid="7113473121312772398">"Pour les applications et les notifications"</string>
+ <string name="condition_work_summary" msgid="7113473121312772398">"Pour les applis et les notifications"</string>
<string name="condition_device_muted_action_turn_on_sound" msgid="4078406807327674934">"Activer le son"</string>
<string name="condition_device_muted_title" msgid="2446306263428466378">"Sonnerie désactivée"</string>
<string name="condition_device_muted_summary" msgid="3772178424510397327">"Pour les appels et les notifications"</string>
@@ -4131,7 +4187,7 @@
<string name="ota_disable_automatic_update_summary" msgid="7803279951533276841">"Appliquer les mises à jour au redémarrage de l\'appareil"</string>
<string name="usage" msgid="287782903846013936">"Utilisation"</string>
<string name="cellular_data_usage" msgid="5874156338825285334">"Utilisation de données cellulaires"</string>
- <string name="app_cellular_data_usage" msgid="7603292978956033926">"Utilisation des données des applications"</string>
+ <string name="app_cellular_data_usage" msgid="7603292978956033926">"Utilisation des données des applis"</string>
<string name="wifi_data_usage" msgid="6868503699134605707">"Utilisation des données Wi-Fi"</string>
<string name="non_carrier_data_usage" msgid="6494603202578414755">"Utilisation de données sur un réseau non cellulaire"</string>
<string name="ethernet_data_usage" msgid="4552227880905679761">"Utilisation de données Ethernet"</string>
@@ -4155,7 +4211,7 @@
<string name="data_limit" msgid="8731731657513652363">"Limite de données"</string>
<string name="data_usage_template" msgid="3822452362629968010">"<xliff:g id="ID_1">%1$s</xliff:g> utilisés pour la période : <xliff:g id="ID_2">%2$s</xliff:g>"</string>
<string name="configure" msgid="1499586749829665889">"Configurer"</string>
- <string name="data_usage_other_apps" msgid="5649047093607329537">"Autres applications incluses dans l\'utilisation"</string>
+ <string name="data_usage_other_apps" msgid="5649047093607329537">"Autres applis incluses dans l\'utilisation"</string>
<string name="data_saver_unrestricted_summary" msgid="559673440849071149">"{count,plural, =1{1 appli est autorisée à utiliser les données cellulaires sans restrictions lorsque la fonction Économiseur de données est activée}one{# appli est autorisée à utiliser les données cellulaires sans restrictions lorsque la fonction Économiseur de données est activée}other{# applis sont autorisées à utiliser les données cellulaires sans restrictions lorsque la fonction Économiseur de données est activée}}"</string>
<string name="data_usage_title" msgid="4039024073687469094">"Données primaires"</string>
<string name="data_usage_wifi_title" msgid="1060495519280456926">"Données Wi-Fi"</string>
@@ -4180,7 +4236,7 @@
<string name="data_saver_switch_title" msgid="7111538580123722959">"Utiliser l\'Économiseur de données"</string>
<string name="unrestricted_app_title" msgid="8531936851059106374">"Utilisation de données cellulaires sans restrictions"</string>
<string name="unrestricted_app_summary" msgid="8320813971858627624">"Autoriser l\'accès aux données cellulaires sans restrictions lorsque l\'Économiseur de données est activé"</string>
- <string name="home_app" msgid="6056850504746902747">"Application d\'accueil"</string>
+ <string name="home_app" msgid="6056850504746902747">"Appli d\'accueil"</string>
<string name="suggestion_additional_fingerprints" msgid="4726777300101156208">"Ajouter une empreinte digitale"</string>
<string name="suggestion_additional_fingerprints_summary" msgid="2825364645039666674">"Déverrouiller avec un autre doigt"</string>
<string name="battery_saver_on_summary" msgid="4605146593966255848">"Activée"</string>
@@ -4245,7 +4301,7 @@
<string name="long_background_tasks_label" msgid="3169590134850226687">"Longues tâches en arrière-plan"</string>
<string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Autoriser les longues tâches en arrière-plan"</string>
<string name="long_background_tasks_title" msgid="3272230637974707490">"Longues tâches en arrière-plan"</string>
- <string name="long_background_tasks_footer_title" msgid="9117342254914743097">"Autoriser cette application à exécuter de longues tâches en arrière-plan. Ceci permet à cette application d\'exécuter des tâches qui pourraient prendre plus que quelques minutes, comme des téléchargements ou des téléversements. \n\nSi cette autorisation est refusée, le système va limiter le temps pendant lequel l\'application peut effectuer ces tâches en arrière-plan."</string>
+ <string name="long_background_tasks_footer_title" msgid="9117342254914743097">"Autoriser cette appli à exécuter de longues tâches en arrière-plan. Ceci permet à cette appli d\'exécuter des tâches qui pourraient prendre plus que quelques minutes, comme des téléchargements ou des téléversements. \n\nSi cette autorisation est refusée, le système va limiter le temps pendant lequel l\'appli peut effectuer ces tâches en arrière-plan."</string>
<string name="keywords_long_background_tasks" msgid="5788956269136054574">"longues tâches, transfert de données, tâches en arrière-plan"</string>
<string name="reset_shortcut_manager_throttling" msgid="2183940254903144298">"Réinitialiser la limitation de fréquence ShortcutManager"</string>
<string name="reset_shortcut_manager_throttling_complete" msgid="8949943009096885470">"La limitation de fréquence ShortcutManager a été réinitialisée"</string>
@@ -4254,7 +4310,7 @@
<string name="page_tab_title_support" msgid="3235725053332345773">"Astuces et assistance"</string>
<string name="developer_smallest_width" msgid="632354817870920911">"La plus petite largeur"</string>
<string name="premium_sms_none" msgid="4718916765158062108">"Aucune appli installée n\'a demandé l\'accès aux messages texte payants"</string>
- <string name="premium_sms_warning" msgid="2192300872411073324">"Les textos de cette catégorie peuvent être payants et s\'ajouter aux factures mensuelles de votre fournisseur de services. Si vous activez l\'autorisation pour une application, vous serez en mesure d\'envoyer des textos payants à l\'aide de cette dernière."</string>
+ <string name="premium_sms_warning" msgid="2192300872411073324">"Les textos de cette catégorie peuvent être payants et s\'ajouter aux factures mensuelles de votre fournisseur de services. Si vous activez l\'autorisation pour une appli, vous serez en mesure d\'envoyer des textos payants à l\'aide de cette dernière."</string>
<string name="premium_sms_access" msgid="8487315743197916530">"Messages texte payants"</string>
<string name="bluetooth_disabled" msgid="835838280837359514">"Désactivé"</string>
<string name="bluetooth_connected_summary" msgid="8043167194934315712">"Connecté à <xliff:g id="ID_1">%1$s</xliff:g>"</string>
@@ -4272,11 +4328,11 @@
<string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Désactivez le retrait automatique des autorisations adb pour des systèmes qui ne se sont pas connectés ou qui n\'ont pas été configurés par l\'utilisateur dans le délai d\'expiration par défaut (respectivement, sept jours et un jour minimum)."</string>
<string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Capteurs désactivés"</string>
<string name="managed_profile_settings_title" msgid="3400923723423564217">"Paramètres du profil professionnel"</string>
- <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Laissez les applications personnelles déterminer les contacts à l\'aide de l\'annuaire professionnel"</string>
+ <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Laissez les applis personnelles déterminer les contacts à l\'aide de l\'annuaire professionnel"</string>
<string name="managed_profile_contact_search_summary" msgid="4974727886709219105">"Les recherches et les appels entrants peuvent être visibles pour votre administrateur informatique"</string>
<string name="cross_profile_calendar_title" msgid="7570277841490216947">"Agenda multi-profil"</string>
<string name="cross_profile_calendar_summary" msgid="8856185206722860069">"Afficher les événements professionnels dans l\'agenda personnel"</string>
- <string name="managed_profile_settings_footer" msgid="996500759305118103">"Lorsque les applications professionnelles sont désactivées, elles sont mises en pause et ne peuvent ni être consultées ni envoyer de notifications"</string>
+ <string name="managed_profile_settings_footer" msgid="996500759305118103">"Lorsque les applis professionnelles sont désactivées, elles sont mises en pause et ne peuvent ni être consultées ni envoyer de notifications"</string>
<string name="automatic_storage_manager_settings" msgid="519158151463974656">"Gérer l\'espace de stockage"</string>
<string name="automatic_storage_manager_text" msgid="6900593059927987273">"Pour vous aider à libérer de l\'espace, le Gestionnaire de stockage supprime les photos et les vidéos sauvegardées sur votre appareil."</string>
<string name="automatic_storage_manager_days_title" msgid="5077286114860539367">"Supprimer les photos et les vidéos"</string>
@@ -4289,7 +4345,7 @@
<string name="double_twist_for_camera_mode_summary" msgid="592503740044744951"></string>
<string name="system_navigation_title" msgid="4890381153527184636">"Mode de navigation"</string>
<string name="swipe_up_to_switch_apps_title" msgid="6677266952021118342">"Navigation à deux boutons"</string>
- <string name="swipe_up_to_switch_apps_summary" msgid="1415457307836359560">"Pour changer d\'application, balayez un doigt vers le haut sur la touche d\'accueil. Pour voir toutes les applications, balayez vers le haut de nouveau. Pour revenir, touchez le bouton Précédent."</string>
+ <string name="swipe_up_to_switch_apps_summary" msgid="1415457307836359560">"Pour changer d\'appli, balayez un doigt vers le haut sur la touche d\'accueil. Pour voir toutes les applis, balayez vers le haut de nouveau. Pour revenir, touchez le bouton Précédent."</string>
<string name="emergency_settings_preference_title" msgid="6183455153241187148">"Sécurité et urgence"</string>
<string name="emergency_dashboard_summary" msgid="401033951074039302">"Appel d\'urgence, infos médicales, alertes"</string>
<string name="edge_to_edge_navigation_title" msgid="714427081306043819">"Navigation par gestes"</string>
@@ -4302,7 +4358,7 @@
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Balayer l\'écran pour appeler l\'assistant"</string>
<string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Pour lancer l\'appli de l\'assistant numérique, balayez l\'écran vers le haut à partir d\'un coin inférieur"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Maintenir le doigt sur Accueil pour utiliser l\'Assistant"</string>
- <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Maintenez la touche d\'accueil enfoncée pour invoquer l\'application d\'assistant numérique."</string>
+ <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Maintenez la touche d\'accueil enfoncée pour invoquer l\'appli d\'assistant numérique."</string>
<string name="low_label" msgid="6525629096999711220">"Faible"</string>
<string name="high_label" msgid="357503396626018487">"Élevée"</string>
<string name="left_edge" msgid="1513576842959071849">"Bord gauche"</string>
@@ -4348,15 +4404,15 @@
<string name="oem_unlock_enable_disabled_summary_sim_locked_device" msgid="168124660162907358">"Non disp. sur les appareils verrouillés par un f. de services"</string>
<string name="oem_lock_info_message" msgid="8843145669619429197">"Veuillez redémarrer l\'appareil pour activer la fonction de protection d\'appareil."</string>
<string name="automatic_storage_manager_freed_bytes" msgid="706230592123831676">"<xliff:g id="SIZE">%1$s</xliff:g> libéré(s) au total\n\n Dernière exécution : <xliff:g id="DATE">%2$s</xliff:g>"</string>
- <string name="web_action_enable_title" msgid="6654581786741216382">"Applications instantanées"</string>
- <string name="web_action_enable_summary" msgid="2658930257777545990">"Ouvrir les liens dans les applications, même si elles ne sont pas installées"</string>
- <string name="web_action_section_title" msgid="994717569424234098">"Applications instantanées"</string>
+ <string name="web_action_enable_title" msgid="6654581786741216382">"Applis instantanées"</string>
+ <string name="web_action_enable_summary" msgid="2658930257777545990">"Ouvrir les liens dans les applis, même si elles ne sont pas installées"</string>
+ <string name="web_action_section_title" msgid="994717569424234098">"Applis instantanées"</string>
<string name="instant_apps_settings" msgid="4280942494969957858">"Préf. applis instantanées"</string>
- <string name="domain_url_section_title" msgid="9028890472923474958">"Applications installées"</string>
+ <string name="domain_url_section_title" msgid="9028890472923474958">"Applis installées"</string>
<string name="automatic_storage_manager_activation_warning" msgid="170508173207142665">"Votre espace de stockage est maintenant géré par le gestionnaire de stockage"</string>
<string name="account_for_section_header" msgid="7466759342105251096">"Comptes pour <xliff:g id="USER_NAME">%1$s</xliff:g>"</string>
- <string name="auto_sync_account_title" msgid="1070908045600374254">"Synchroniser automatiquement les données des applications"</string>
- <string name="auto_sync_account_summary" msgid="7580352130028957346">"Autoriser les applications à actualiser les données automatiquement"</string>
+ <string name="auto_sync_account_title" msgid="1070908045600374254">"Synchroniser automatiquement les données des applis"</string>
+ <string name="auto_sync_account_summary" msgid="7580352130028957346">"Autoriser les applis à actualiser les données automatiquement"</string>
<string name="account_sync_title" msgid="7036067017433297574">"Synchro du compte"</string>
<string name="account_sync_summary_some_on" msgid="911460286297968724">"La synchronisation est activée pour <xliff:g id="ID_1">%1$d</xliff:g> élément(s) sur <xliff:g id="ID_2">%2$d</xliff:g>"</string>
<string name="account_sync_summary_all_on" msgid="2953682111836599841">"La synchronisation est activée pour tous les éléments"</string>
@@ -4369,20 +4425,20 @@
<string name="enterprise_privacy_exposure_changes_category" msgid="5459989751333816587">"Modifications apportées par l\'administrateur de votre organisation"</string>
<string name="enterprise_privacy_device_access_category" msgid="140157499478630004">"Votre accès à cet appareil"</string>
<string name="enterprise_privacy_enterprise_data" msgid="3963070078195245028">"Les données associées à votre compte professionnel, comme les courriels et l\'agenda"</string>
- <string name="enterprise_privacy_installed_packages" msgid="6707006112254572820">"Liste des applications installées sur votre appareil"</string>
- <string name="enterprise_privacy_usage_stats" msgid="6328506963853465534">"Temps passé et quantité de données utilisée pour chaque application"</string>
+ <string name="enterprise_privacy_installed_packages" msgid="6707006112254572820">"Liste des applis installées sur votre appareil"</string>
+ <string name="enterprise_privacy_usage_stats" msgid="6328506963853465534">"Temps passé et quantité de données utilisée pour chaque appli"</string>
<string name="enterprise_privacy_network_logs" msgid="3081744541193695887">"Journal de trafic réseau le plus récent"</string>
<string name="enterprise_privacy_bug_reports" msgid="2635897583413134123">"Rapport de bogue le plus récent"</string>
<string name="enterprise_privacy_security_logs" msgid="8494681624247959075">"Journal de sécurité le plus récent"</string>
<string name="enterprise_privacy_none" msgid="6026527690979756431">"Aucune"</string>
- <string name="enterprise_privacy_enterprise_installed_packages" msgid="9114143640515900082">"Applications installées"</string>
- <string name="enterprise_privacy_apps_count_estimation_info" msgid="7959907857710107792">"Le nombre d\'applications est estimé. Il peut exclure les applications installées à partir d\'une source autre que la boutique Google Play Store."</string>
- <string name="enterprise_privacy_number_packages_lower_bound" msgid="5317634640873658149">"{count,plural, =1{Minimum de # application}one{Minimum de # application}other{Minimum de # applications}}"</string>
+ <string name="enterprise_privacy_enterprise_installed_packages" msgid="9114143640515900082">"Applis installées"</string>
+ <string name="enterprise_privacy_apps_count_estimation_info" msgid="7959907857710107792">"Le nombre d\'applis est estimé. Il peut exclure les applis installées à partir d\'une source autre que la boutique Google Play Store."</string>
+ <string name="enterprise_privacy_number_packages_lower_bound" msgid="5317634640873658149">"{count,plural, =1{Minimum de # appli}one{Minimum de # appli}other{Minimum de # applis}}"</string>
<string name="enterprise_privacy_location_access" msgid="8023838718108456971">"Autorisations de localisation"</string>
<string name="enterprise_privacy_microphone_access" msgid="7242958026470143653">"Autorisations du microphone"</string>
<string name="enterprise_privacy_camera_access" msgid="7685460535880069016">"Autorisations de l\'appareil photo"</string>
- <string name="enterprise_privacy_enterprise_set_default_apps" msgid="7498546659083996300">"Applications par défaut"</string>
- <string name="enterprise_privacy_number_packages" msgid="5294444005035188274">"{count,plural, =1{# application}one{# application}other{# applications}}"</string>
+ <string name="enterprise_privacy_enterprise_set_default_apps" msgid="7498546659083996300">"Applis par défaut"</string>
+ <string name="enterprise_privacy_number_packages" msgid="5294444005035188274">"{count,plural, =1{# appli}one{# appli}other{# applis}}"</string>
<string name="enterprise_privacy_input_method" msgid="3278314982700662246">"Clavier par défaut"</string>
<string name="enterprise_privacy_input_method_name" msgid="2974859490559054584">"Valeur définie : <xliff:g id="APP_LABEL">%s</xliff:g>"</string>
<string name="enterprise_privacy_always_on_vpn_device" msgid="1735829327405126695">"Le RPV permanent est activé"</string>
@@ -4408,7 +4464,7 @@
<string name="financed_privacy_settings" msgid="2575114436197204145">"Renseignements sur l\'appareil financé"</string>
<string name="financed_privacy_intro" msgid="7836497475568741579">"Votre fournisseur de crédit peut modifier des paramètres et installer des logiciels sur cet appareil pendant la configuration.\n\nSi vous manquez un paiement, votre fournisseur de crédit peut verrouiller votre appareil et en modifier les paramètres.\n\nPour en savoir plus, communiquez avec votre fournisseur de crédit."</string>
<string name="financed_privacy_restrictions_category" msgid="2472659467919651602">"Si votre appareil est financé, vous ne pouvez pas :"</string>
- <string name="financed_privacy_install_apps" msgid="7381718005710210851">"Installer des applications ne provenant pas de Play Store"</string>
+ <string name="financed_privacy_install_apps" msgid="7381718005710210851">"Installer des applis ne provenant pas de Play Store"</string>
<string name="financed_privacy_safe_mode" msgid="5362149445732602578">"Redémarrer votre appareil en mode sans échec"</string>
<string name="financed_privacy_multi_users" msgid="1727194928477613081">"Ajouter plusieurs utilisateurs à votre appareil"</string>
<string name="financed_privacy_config_date_time" msgid="8567370445374984365">"Modifier la date, l\'heure et les fuseaux horaires"</string>
@@ -4421,17 +4477,17 @@
<string name="financed_privacy_system_info" msgid="4158031444108708927">"Afficher les données système telles que la date, l\'heure, l\'état du réseau et l\'état de la pile"</string>
<string name="financed_privacy_turn_on_off_device" msgid="3331566753152790571">"Activer ou désactiver votre appareil"</string>
<string name="financed_privacy_notifications" msgid="5932303271274089968">"Afficher les notifications et les messages texte"</string>
- <string name="financed_privacy_allowlisted_apps" msgid="8333040812194879963">"Accéder aux applications autorisées par le fournisseur de crédit"</string>
+ <string name="financed_privacy_allowlisted_apps" msgid="8333040812194879963">"Accéder aux applis autorisées par le fournisseur de crédit"</string>
<string name="financed_privacy_fully_paid_category" msgid="9221763928564246923">"Une fois que vous avez payé le montant total :"</string>
<string name="financed_privacy_restrictions_removed" msgid="3182636815294595072">"Toutes les restrictions sont retirées de l\'appareil"</string>
<string name="financed_privacy_uninstall_creditor_app" msgid="6339004120497310705">"Vous pouvez désinstaller l\'appli du fournisseur de crédit"</string>
<string name="financed_device_info" msgid="3871860346697308342">"Renseignements sur l\'appareil financé"</string>
- <string name="default_camera_app_title" msgid="6546248868519965998">"{count,plural, =1{Application Appareil photo}one{Application Appareil photo}other{Applications Appareil photo}}"</string>
- <string name="default_calendar_app_title" msgid="1870095225089706093">"Application d\'agenda"</string>
- <string name="default_contacts_app_title" msgid="7740028900741944569">"Application de contacts"</string>
- <string name="default_email_app_title" msgid="5411280873093244250">"{count,plural, =1{Application de client de messagerie}one{Application de client de messagerie}other{Applications de client de messagerie}}"</string>
- <string name="default_map_app_title" msgid="7569231732944853320">"Application de carte"</string>
- <string name="default_phone_app_title" msgid="795025972645464135">"{count,plural, =1{Application Téléphone}one{Application Téléphone}other{Applications Téléphone}}"</string>
+ <string name="default_camera_app_title" msgid="6546248868519965998">"{count,plural, =1{Appli Appareil photo}one{Appli Appareil photo}other{Applis Appareil photo}}"</string>
+ <string name="default_calendar_app_title" msgid="1870095225089706093">"Appli d\'agenda"</string>
+ <string name="default_contacts_app_title" msgid="7740028900741944569">"Appli de contacts"</string>
+ <string name="default_email_app_title" msgid="5411280873093244250">"{count,plural, =1{Appli de client de messagerie}one{Appli de client de messagerie}other{Applis de client de messagerie}}"</string>
+ <string name="default_map_app_title" msgid="7569231732944853320">"Appli de carte"</string>
+ <string name="default_phone_app_title" msgid="795025972645464135">"{count,plural, =1{Appli Téléphone}one{Appli Téléphone}other{Applis Téléphone}}"</string>
<string name="app_names_concatenation_template_2" msgid="8320181646458855457">"<xliff:g id="FIRST_APP_NAME">%1$s</xliff:g> et <xliff:g id="SECOND_APP_NAME">%2$s</xliff:g>"</string>
<string name="app_names_concatenation_template_3" msgid="7019703249717854148">"<xliff:g id="FIRST_APP_NAME">%1$s</xliff:g>, <xliff:g id="SECOND_APP_NAME">%2$s</xliff:g> et <xliff:g id="THIRD_APP_NAME">%3$s</xliff:g>"</string>
<string name="storage_default_internal_storage" msgid="4055660218818688131">"Cet appareil"</string>
@@ -4442,7 +4498,7 @@
<string name="storage_audio" msgid="5994664984472140386">"Audio"</string>
<string name="storage_documents" msgid="7873134307844320096">"Documents"</string>
<string name="storage_other" msgid="7922190148479988838">"Autre"</string>
- <string name="storage_apps" msgid="3564291603258795216">"Applications"</string>
+ <string name="storage_apps" msgid="3564291603258795216">"Applis"</string>
<string name="storage_system" msgid="8472410119822911844">"Système"</string>
<string name="storage_os_name" msgid="4637680493234672410">"Android <xliff:g id="VERSION">%s</xliff:g>"</string>
<string name="storage_temporary_files" msgid="8254109904032452219">"Fichiers système temporaires"</string>
@@ -4453,8 +4509,8 @@
<string name="storage_trash_dialog_confirm" msgid="1707723334982760436">"Vider la corbeille"</string>
<string name="storage_usage_summary" msgid="4591121727356723463">"<xliff:g id="NUMBER">%1$s</xliff:g> <xliff:g id="UNIT">%2$s</xliff:g> utilisés"</string>
<string name="storage_total_summary" msgid="7163360249534964272">"<xliff:g id="NUMBER">%1$s</xliff:g> <xliff:g id="UNIT">%2$s</xliff:g> au total"</string>
- <string name="clear_instant_app_data" msgid="5951258323364386357">"Effacer les données de l\'application"</string>
- <string name="clear_instant_app_confirmation" msgid="3964731334459209482">"Voulez-vous supprimer cette application instantanée?"</string>
+ <string name="clear_instant_app_data" msgid="5951258323364386357">"Effacer les données de l\'appli"</string>
+ <string name="clear_instant_app_confirmation" msgid="3964731334459209482">"Voulez-vous supprimer cette appli instantanée?"</string>
<string name="launch_instant_app" msgid="8503927414339606561">"Ouvrir"</string>
<string name="game_storage_settings" msgid="2521393115726178837">"Jeux"</string>
<string name="app_info_storage_title" msgid="4076977173803093808">"Espace utilisé"</string>
@@ -4472,7 +4528,7 @@
<string name="credman_button_change" msgid="4072629639218503790">"Modifier"</string>
<string name="credman_button_open" msgid="7519871964170816850">"Ouvrir"</string>
<string name="credman_app_list_preference_none" msgid="2509646651254971448">"Aucun élément sélectionné"</string>
- <string name="autofill_confirmation_message" msgid="4888767934273494272">"<b>Assurez-vous de faire confiance à cette application</b> <br/> <br/> <xliff:g id=app_name example=Google Remplissage automatique>%1$s</xliff:g> utilise les éléments affichés à l\'écran pour déterminer les champs qui peuvent bénéficier de l\'entrée automatique."</string>
+ <string name="autofill_confirmation_message" msgid="4888767934273494272">"<b>Assurez-vous de faire confiance à cette appli</b> <br/> <br/> <xliff:g id=app_name example=Google Remplissage automatique>%1$s</xliff:g> utilise les éléments affichés à l\'écran pour déterminer les champs qui peuvent bénéficier de l\'entrée automatique."</string>
<string name="credman_autofill_confirmation_message" msgid="843829628024668466">"<b>Use <xliff:g id=app_name example=Provider>%1$s</xliff:g>?</b> <br/> <br/> Les nouveaux mots de passe, clés d\'accès et autres renseignements seront désormais enregistrés ici. <xliff:g id=app_name example=Provider>%1$s</xliff:g> peut utiliser ce qui se trouve à l\'écran pour déterminer les données qui peuvent être remplies automatiquement."</string>
<string name="credman_picker_title" msgid="8442086614222006564">"Fourn. de serv. préf. pour mots de passe, clés d\'accès et remp. aut."</string>
<string name="credman_confirmation_message_title" msgid="8847900085593880729">"Désactiver %1$s?"</string>
@@ -4509,21 +4565,21 @@
<string name="default_theme" msgid="4815428567082263639">"Par défaut"</string>
<string name="show_operator_name_title" msgid="3355910331531144028">"Nom du réseau"</string>
<string name="show_operator_name_summary" msgid="5352696579216501773">"Afficher le nom du réseau dans la barre d\'état"</string>
- <string name="install_type_instant" msgid="7685381859060486009">"Application instantanée"</string>
+ <string name="install_type_instant" msgid="7685381859060486009">"Appli instantanée"</string>
<string name="automatic_storage_manager_deactivation_warning" msgid="4905106133215702099">"Désactiver le gestionnaire de stockage?"</string>
<string name="zen_suggestion_title" msgid="4555260320474465668">"Mettre à jour les paramètres du mode Ne pas déranger"</string>
<string name="zen_suggestion_summary" msgid="1984990920503217">"Suspendre les notifications pour rester concentré"</string>
<string name="disabled_feature" msgid="7151433782819744211">"Cette fonctionnalité n\'est pas accessible"</string>
<string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Cette fonctionnalité a été désactivée, car elle ralentit votre téléphone"</string>
<string name="show_first_crash_dialog" msgid="1696584857732637389">"Toujours afficher la fenêtre de plantage"</string>
- <string name="show_first_crash_dialog_summary" msgid="4692334286984681111">"Afficher la fenêtre chaque fois qu\'une application plante"</string>
- <string name="angle_enabled_app" msgid="6044941043384239076">"Sélectionnez l\'application compatible avec ANGLE"</string>
- <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Aucune application compatible avec ANGLE n\'a été définie"</string>
- <string name="angle_enabled_app_set" msgid="7811829383833353021">"Application compatible avec ANGLE : <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
+ <string name="show_first_crash_dialog_summary" msgid="4692334286984681111">"Afficher la fenêtre chaque fois qu\'une appli plante"</string>
+ <string name="angle_enabled_app" msgid="6044941043384239076">"Sélectionnez l\'appli compatible avec ANGLE"</string>
+ <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Aucune appli compatible avec ANGLE n\'a été définie"</string>
+ <string name="angle_enabled_app_set" msgid="7811829383833353021">"Appli compatible avec ANGLE : <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
<string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Préférences du pilote graphique"</string>
<string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Modifiez les paramètres du pilote graphique"</string>
- <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Lorsqu\'il y a de nombreux pilotes graphiques, vous pouvez choisir d\'utiliser le pilote graphique à jour pour les applications installées sur l\'appareil."</string>
- <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Activer pour toutes les applications"</string>
+ <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Lorsqu\'il y a de nombreux pilotes graphiques, vous pouvez choisir d\'utiliser le pilote graphique à jour pour les applis installées sur l\'appareil."</string>
+ <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Activer pour toutes les applis"</string>
<string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Sélectionner un pilote graphique"</string>
<string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Par défaut"</string>
<string name="graphics_driver_app_preference_production_driver" msgid="1515874802568434915">"Pilote du jeu"</string>
@@ -4537,13 +4593,13 @@
<!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
<!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
<string name="enable_angle_as_system_driver" msgid="4648827560023949786">"Expérimental : Activer ANGLE"</string>
- <string name="enable_angle_as_system_driver_summary" msgid="2170215556348477481">"Avertissement : Activer ANGLE en tant que pilote OpenGL ES par défaut. Cette fonctionnalité est en cours de test et peut ne pas être compatible avec certaines applications vidéo et d\'appareils photo."</string>
+ <string name="enable_angle_as_system_driver_summary" msgid="2170215556348477481">"Avertissement : Activer ANGLE en tant que pilote OpenGL ES par défaut. Cette fonctionnalité est en cours de test et peut ne pas être compatible avec certaines applis vidéo et d\'appareils photo."</string>
<string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Un redémarrage est nécessaire pour modifier le pilote OpenGL ES du système"</string>
<string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Changements dans la compatibilité des applis"</string>
<string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Basculez les changements de compatibilité des applis"</string>
<string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Changements activés par défaut"</string>
<string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Changements désactivés par défaut"</string>
- <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Les modifications de compatibilité des applications peuvent uniquement être modifiées pour les applications débogables. Installez une application débogable, puis réessayez."</string>
+ <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Les modifications de compatibilité des applis peuvent uniquement être modifiées pour les applis débogables. Installez une appli débogable, puis réessayez."</string>
<string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Dépend d\'un autre paramètre"</string>
<string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Compte"</string>
<string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d comptes"</string>
@@ -4553,11 +4609,11 @@
<string name="my_device_info_device_details_category_title" msgid="4848438695638348680">"Détails de l\'appareil"</string>
<string name="my_device_info_device_identifiers_category_title" msgid="2197063484127704153">"Identifiants de l\'appareil"</string>
<string name="change_wifi_state_title" msgid="5629648102837821525">"Gestion du Wi-Fi"</string>
- <string name="change_wifi_state_app_detail_switch" msgid="1385358508267180745">"Autoriser l\'application à gérer le Wi-Fi"</string>
- <string name="change_wifi_state_app_detail_summary" msgid="8230854855584217111">"Autorisez cette application à activer ou à désactiver le Wi-Fi, à rechercher les réseaux Wi-Fi et à s\'y connecter, à ajouter et à supprimer des réseaux ou à créer un point d\'accès local uniquement"</string>
+ <string name="change_wifi_state_app_detail_switch" msgid="1385358508267180745">"Autoriser l\'appli à gérer le Wi-Fi"</string>
+ <string name="change_wifi_state_app_detail_summary" msgid="8230854855584217111">"Autorisez cette appli à activer ou à désactiver le Wi-Fi, à rechercher les réseaux Wi-Fi et à s\'y connecter, à ajouter et à supprimer des réseaux ou à créer un point d\'accès local uniquement"</string>
<string name="change_nfc_tag_apps_title" msgid="91514009058149617">"Lancer au moyen de la CCP"</string>
- <string name="change_nfc_tag_apps_detail_switch" msgid="240286205725043561">"Autoriser le lancement d\'applications lorsqu\'une balise CCP est détectée"</string>
- <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Autorisez cette application à se lancer lorsqu\'une balise CCP est détectée.\nSi cette autorisation est activée, l\'application sera affichée comme option chaque fois qu\'une balise est détectée."</string>
+ <string name="change_nfc_tag_apps_detail_switch" msgid="240286205725043561">"Autoriser le lancement d\'applis lorsqu\'une balise CCP est détectée"</string>
+ <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Autorisez cette appli à se lancer lorsqu\'une balise CCP est détectée.\nSi cette autorisation est activée, l\'appli sera affichée comme option chaque fois qu\'une balise est détectée."</string>
<string name="media_output_title" msgid="8283629315159510680">"Faire jouer les contenus multimédias sur"</string>
<string name="media_output_label_title" msgid="4139048973886819148">"Faire jouer <xliff:g id="LABEL">%s</xliff:g> sur"</string>
<string name="media_output_title_without_playing" msgid="3339321669132875821">"L\'audio jouera sur"</string>
@@ -4791,10 +4847,10 @@
<string name="wifi_warning_continue_button" msgid="8171574741789688214">"Effacer quand même"</string>
<string name="wifi_warning_return_button" msgid="6226063181583906340">"OK"</string>
<string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Se connecter à l’appareil"</string>
- <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"L\'application <xliff:g id="APPNAME">%1$s</xliff:g> souhaite utiliser un réseau Wi‑Fi temporaire pour se connecter à votre appareil"</string>
+ <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"L\'appli <xliff:g id="APPNAME">%1$s</xliff:g> souhaite utiliser un réseau Wi‑Fi temporaire pour se connecter à votre appareil"</string>
<string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Aucun appareil trouvé. Assurez-vous que l\'appareil est allumé et prêt à se connecter."</string>
<string name="network_connection_timeout_dialog_ok" msgid="6022675321823723755">"Réessayer"</string>
- <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Une erreur s\'est produite. L\'application a annulé la demande de sélection d\'un appareil."</string>
+ <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Une erreur s\'est produite. L\'appli a annulé la demande de sélection d\'un appareil."</string>
<string name="network_connection_connect_successful" msgid="2587314077675642476">"Connexion réussie"</string>
<string name="network_connection_connect_failure" msgid="6803313816657494319">"Échec de connexion"</string>
<string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Tout afficher"</string>
@@ -4805,10 +4861,12 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Étui"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Pile"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Panneau Paramètres"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Forcer le mode bureau"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Forcer le mode bureau expérimental sur les écrans secondaires"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Activer les fenêtres de forme libre"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Activer la prise en charge des fenêtres de forme libre."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Activer fenêtres de forme libre sur deuxième écran"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Activer les fenêtres de forme libre uniquement sur un écran secondaire."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Activer éléments non redimensionnables en mode multi-fenêtre"</string>
- <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Activer les applications non redimensionnables en mode multi-fenêtre"</string>
+ <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Activer les applis non redimensionnables en mode multi-fenêtre"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Forcer l\'activation du thème sombre forcé"</string>
<string name="hwui_force_dark_summary" msgid="6515748781487952769">"Forcer la fonctionnalité de thème sombre forcé à rester active"</string>
<string name="privacy_dashboard_title" msgid="6845403825611829558">"Confidentialité"</string>
@@ -4823,18 +4881,18 @@
<string name="copyable_slice_toast" msgid="1008251852798990606">"<xliff:g id="COPY_CONTENT">%1$s</xliff:g> copié dans le presse-papiers"</string>
<string name="search_bar_account_avatar_content_description" msgid="880523277036898350"></string>
<string name="accessibility_usage_title" msgid="9190967143518779145">"Usage des fonctions d\'accessibilité"</string>
- <string name="accessibility_usage_summary" msgid="4348285359995227813">"{count,plural, =1{1 application dispose d\'un accès complet à votre appareil}one{# application dispose d\'un accès complet à votre appareil}other{# applications disposent d\'un accès complet à votre appareil}}"</string>
+ <string name="accessibility_usage_summary" msgid="4348285359995227813">"{count,plural, =1{1 appli dispose d\'un accès complet à votre appareil}one{# appli dispose d\'un accès complet à votre appareil}other{# applis disposent d\'un accès complet à votre appareil}}"</string>
<string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Renseignements importants"</string>
<string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUER"</string>
<string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NON MERCI"</string>
<string name="wfc_disclaimer_location_title_text" msgid="7913919887475418423">"Lieu"</string>
<string name="wfc_disclaimer_location_desc_text" msgid="1417004513415772582">"Votre fournisseur de services peut collecter les données relatives à votre position lorsque vous utilisez ce service en lien avec les appels d\'urgence.\n\nConsultez la politique de confidentialité de votre fournisseur de services pour obtenir plus de détails."</string>
<string name="forget_passpoint_dialog_message" msgid="2433875063907365760">"Vous risquez de perdre l\'accès au temps ou aux données restants. Communiquez avec votre fournisseur de services avant de procéder au retrait."</string>
- <string name="content_capture" msgid="868372905432812238">"Contenu de l\'application"</string>
- <string name="content_capture_summary" msgid="49720773699715531">"Autorisez les applications à envoyer du contenu au système Android"</string>
+ <string name="content_capture" msgid="868372905432812238">"Contenu de l\'appli"</string>
+ <string name="content_capture_summary" msgid="49720773699715531">"Autorisez les applis à envoyer du contenu au système Android"</string>
<string name="capture_system_heap_dump_title" msgid="9210974110606886455">"Capturer l\'empreinte de mémoire système"</string>
<string name="development_memtag_page_title" msgid="3546667618748029188">"Memory Tagging Extension"</string>
- <string name="development_memtag_intro" msgid="8032596625527637164">"L\'extension MTE (Memory Tagging Extension) facilite la détection des problèmes de sécurité de la mémoire dans votre application et rend plus sécuritaire son code natif."</string>
+ <string name="development_memtag_intro" msgid="8032596625527637164">"L\'extension MTE (Memory Tagging Extension) facilite la détection des problèmes de sécurité de la mémoire dans votre appli et rend plus sécuritaire son code natif."</string>
<string name="development_memtag_footer" msgid="5681925148773626562">"L\'activation de l\'extension MTE peut entraîner un ralentissement des performances de l\'appareil."</string>
<string name="development_memtag_learn_more" msgid="8961984806973926704">"En savoir plus sur l\'extension MTE"</string>
<string name="development_memtag_toggle" msgid="2474420239518386894">"Activer l\'extension MTE jusqu\'à ce que vous la désactiviez"</string>
@@ -4865,27 +4923,27 @@
<string name="enable_16k_pages" msgid="8001470927566110689">"Démarrer avec des pages de 16 Ko"</string>
<string name="enable_16k_pages_summary" msgid="1964363364670306912">"Démarrage par noyau compatible avec pages de 16 Ko"</string>
<string name="confirm_enable_16k_pages_title" msgid="611010487387251491">"Passer du mode 4 ko au mode 16 ko"</string>
- <string name="confirm_enable_16k_pages_text" msgid="6129208614283750541">"Vous utilisez le mode agnostique de page qui exécute un noyau de 4 ko et vous passez au mode 16 ko. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toutes les données stockées sur le téléphone pendant que le programme d\'amorçage est déverrouillé pourraient être compromises. Cette opération redémarrera l\'appareil. Certaines fonctionnalités seront désactivées dans ces modes, de sorte que certaines applications peuvent ne pas fonctionner. Pour remettre l\'appareil en mode production, vous devrez ensuite retourner en mode 4 ko et verrouiller le programme d\'amorçage, ce qui réinitialise l\'appareil à ses paramètres par défaut. Une fois que l\'appareil a bien démarré sous Android, désactivez le déverrouillage par le fabricant d\'équipement d\'origine dans les Options pour les développeurs."</string>
+ <string name="confirm_enable_16k_pages_text" msgid="6129208614283750541">"Vous utilisez le mode agnostique de page qui exécute un noyau de 4 ko et vous passez au mode 16 ko. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toutes les données stockées sur le téléphone pendant que le programme d\'amorçage est déverrouillé pourraient être compromises. Cette opération redémarrera l\'appareil. Certaines fonctionnalités seront désactivées dans ces modes, de sorte que certaines applis peuvent ne pas fonctionner. Pour remettre l\'appareil en mode production, vous devrez ensuite retourner en mode 4 ko et verrouiller le programme d\'amorçage, ce qui réinitialise l\'appareil à ses paramètres par défaut. Une fois que l\'appareil a bien démarré sous Android, désactivez le déverrouillage par le fabricant d\'équipement d\'origine dans les Options pour les développeurs."</string>
<string name="confirm_enable_4k_pages_title" msgid="3210360137887034659">"Passer du mode 16 Ko au mode 4 Ko"</string>
- <string name="confirm_enable_4k_pages_text" msgid="155070605667160083">"Vous utilisez le mode agnostique de page qui exécute un noyau de 16 Ko et vous passez au mode 4 Ko. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toutes les données stockées sur le téléphone pendant que le programme d\'amorçage est déverrouillé pourraient être compromises. Cette opération redémarrera l\'appareil. Certaines fonctionnalités seront désactivées dans ces modes, de sorte que certaines applications peuvent ne pas fonctionner. Pour remettre l\'appareil en mode production, vous devrez ensuite verrouiller le programme d\'amorçage, ce qui réinitialise l\'appareil à ses paramètres par défaut. Une fois que l\'appareil a bien démarré sous Android, désactivez le déverrouillage par le fabricant d\'équipement d\'origine dans les Options pour les développeurs."</string>
+ <string name="confirm_enable_4k_pages_text" msgid="155070605667160083">"Vous utilisez le mode agnostique de page qui exécute un noyau de 16 Ko et vous passez au mode 4 Ko. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toutes les données stockées sur le téléphone pendant que le programme d\'amorçage est déverrouillé pourraient être compromises. Cette opération redémarrera l\'appareil. Certaines fonctionnalités seront désactivées dans ces modes, de sorte que certaines applis peuvent ne pas fonctionner. Pour remettre l\'appareil en mode production, vous devrez ensuite verrouiller le programme d\'amorçage, ce qui réinitialise l\'appareil à ses paramètres par défaut. Une fois que l\'appareil a bien démarré sous Android, désactivez le déverrouillage par le fabricant d\'équipement d\'origine dans les Options pour les développeurs."</string>
<string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Échec de la mise à jour vers un noyau compatible avec les pages de 16 Ko."</string>
<string name="progress_16k_ota_title" msgid="2117218313875523741">"Appliquer les modifications"</string>
<string name="confirm_format_ext4_title" msgid="6696191800594435577">"Reformater l\'appareil vers le système de fichiers ext4? (requis pour le mode 16 Ko)"</string>
- <string name="confirm_format_ext4_text" msgid="7940372488624630214">"La partition de données de cet appareil doit être convertie en système de fichiers ext4 avant d\'utiliser l\'option de 16 Ko pour les développeurs. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toutes les données stockées sur le téléphone pendant que le programme d\'amorçage est déverrouillé pourraient être compromises. L\'activation de l\'option de 16 Ko nécessitera ensuite un autre redémarrage. Une fois que vous êtes dans ce mode, vous pouvez basculer entre le mode 4 Ko et le mode 16 Ko avec un seul redémarrage. Certaines fonctionnalités seront désactivées dans ces modes, de sorte que certaines applications peuvent ne pas fonctionner. Pour remettre l\'appareil en mode production, vous devrez revenir en mode 4 Ko et ensuite verrouiller le programme d\'amorçage, ce qui réinitialise l\'appareil à ses paramètres par défaut. Une fois que l\'appareil a bien démarré sous Android, désactivez le déverrouillage par le fabricant d\'équipement d\'origine dans les Options pour les développeurs. L\'appareil sera nettoyé et le système de fichiers sera remplacé par le système de fichiers ext4 après la confirmation. Une fois cette opération terminée, revenez pour activer à nouveau l\'option de 16 Ko."</string>
+ <string name="confirm_format_ext4_text" msgid="7940372488624630214">"La partition de données de cet appareil doit être convertie en système de fichiers ext4 avant d\'utiliser l\'option de 16 Ko pour les développeurs. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toutes les données stockées sur le téléphone pendant que le programme d\'amorçage est déverrouillé pourraient être compromises. L\'activation de l\'option de 16 Ko nécessitera ensuite un autre redémarrage. Une fois que vous êtes dans ce mode, vous pouvez basculer entre le mode 4 Ko et le mode 16 Ko avec un seul redémarrage. Certaines fonctionnalités seront désactivées dans ces modes, de sorte que certaines applis peuvent ne pas fonctionner. Pour remettre l\'appareil en mode production, vous devrez revenir en mode 4 Ko et ensuite verrouiller le programme d\'amorçage, ce qui réinitialise l\'appareil à ses paramètres par défaut. Une fois que l\'appareil a bien démarré sous Android, désactivez le déverrouillage par le fabricant d\'équipement d\'origine dans les Options pour les développeurs. L\'appareil sera nettoyé et le système de fichiers sera remplacé par le système de fichiers ext4 après la confirmation. Une fois cette opération terminée, revenez pour activer à nouveau l\'option de 16 Ko."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Effacer toutes les données"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Échec du reformatage de la partition vers le système de fichiers ext4 et du nettoyage de ses données."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Déverrouillage du programme d\'amorçage requis pour le mode 16 Ko"</string>
- <string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Cet appareil doit avoir le programme d\'amorçage déverrouillé avant d\'utiliser l\'option 16 Ko pour les développeurs. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toutes les données stockées sur le téléphone pendant que le programme d\'amorçage est déverrouillé pourraient être compromises. Toutes les données et tous les paramètres de l\'utilisateur seront nettoyés lors de l\'activation du mode 16 Ko. Une fois le programme d\'amorçage déverrouillé, l\'activation de l\'option de 16 Ko nécessitera deux redémarrages. Une fois que vous êtes dans ce mode, vous pouvez basculer entre le mode 4 Ko et le mode 16 Ko avec un seul redémarrage. Certaines fonctionnalités seront désactivées dans ces modes, de sorte que certaines applications peuvent ne pas fonctionner. Pour remettre l\'appareil en mode production, vous devrez revenir en mode 4 Ko et ensuite activer le verrouillage par le fabricant d\'équipement d\'origine et verrouiller le programme d\'amorçage de l\'appareil (ce qui le réinitialise à ses paramètres par défaut). Veuillez déverrouiller le programme d\'amorçage et réessayer. Vous trouverez des instructions à ce sujet à la page <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Déverrouillage du programme d\'amorçage requis"</string>
+ <string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Cet appareil doit avoir le programme d\'amorçage déverrouillé avant d\'utiliser l\'option 16 Ko pour les développeurs. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toutes les données stockées sur le téléphone pendant que le programme d\'amorçage est déverrouillé pourraient être compromises. Toutes les données et tous les paramètres de l\'utilisateur seront nettoyés lors de l\'activation du mode 16 Ko. Une fois le programme d\'amorçage déverrouillé, l\'activation de l\'option de 16 Ko nécessitera deux redémarrages. Une fois que vous êtes dans ce mode, vous pouvez basculer entre le mode 4 Ko et le mode 16 Ko avec un seul redémarrage. Certaines fonctionnalités seront désactivées dans ces modes, de sorte que certaines applis peuvent ne pas fonctionner. Pour remettre l\'appareil en mode production, vous devrez revenir en mode 4 Ko et ensuite activer le verrouillage par le fabricant d\'équipement d\'origine et verrouiller le programme d\'amorçage de l\'appareil (ce qui le réinitialise à ses paramètres par défaut). Veuillez déverrouiller le programme d\'amorçage et réessayer. Vous trouverez des instructions à ce sujet à la page <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Utilisation du mode agnostique de page 4 Ko"</string>
- <string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Vous êtes dans le mode 4 Ko du mode agnostique de page. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toutes les données stockées sur le téléphone pendant que le programme d\'amorçage est déverrouillé pourraient être compromises. Certaines fonctionnalités seront désactivées dans ces modes, de sorte que certaines applications peuvent ne pas fonctionner. Pour repasser en mode production, vous devez verrouiller le programme d\'amorçage de l\'appareil. Touchez l\'écran pour en savoir plus."</string>
- <string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Vous êtes dans le mode 4 Ko du mode agnostique de page. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toutes les données stockées sur le téléphone pendant que le programme d\'amorçage est déverrouillé pourraient être compromises. Certaines fonctionnalités seront désactivées dans ces modes, de sorte que certaines applications peuvent ne pas fonctionner. Pour repasser en mode production, vous devez verrouiller le programme d\'amorçage de l\'appareil. Cette opération réinitialisera à nouveau l\'appareil et rétablira ses paramètres par défaut. Une fois que l\'appareil a bien démarré sous Android, désactivez le déverrouillage par le fabricant d\'équipement d\'origine dans les Options pour les développeurs. Si l\'appareil ne démarre pas sous Android ou s\'il est instable, flashez à nouveau l\'appareil avec les dernières images par défaut à partir de la page <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ou utilisez la page <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> et sélectionnez « Nettoyer l\'appareil », « Verrouiller le programme d\'amorçage » et « Forcer le flash de toutes les partitions »."</string>
+ <string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Vous êtes dans le mode 4 Ko du mode agnostique de page. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toutes les données stockées sur le téléphone pendant que le programme d\'amorçage est déverrouillé pourraient être compromises. Certaines fonctionnalités seront désactivées dans ces modes, de sorte que certaines applis peuvent ne pas fonctionner. Pour repasser en mode production, vous devez verrouiller le programme d\'amorçage de l\'appareil. Touchez l\'écran pour en savoir plus."</string>
+ <string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Vous êtes dans le mode 4 Ko du mode agnostique de page. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toutes les données stockées sur le téléphone pendant que le programme d\'amorçage est déverrouillé pourraient être compromises. Certaines fonctionnalités seront désactivées dans ces modes, de sorte que certaines applis peuvent ne pas fonctionner. Pour repasser en mode production, vous devez verrouiller le programme d\'amorçage de l\'appareil. Cette opération réinitialisera à nouveau l\'appareil et rétablira ses paramètres par défaut. Une fois que l\'appareil a bien démarré sous Android, désactivez le déverrouillage par le fabricant d\'équipement d\'origine dans les Options pour les développeurs. Si l\'appareil ne démarre pas sous Android ou s\'il est instable, flashez à nouveau l\'appareil avec les dernières images par défaut à partir de la page <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ou utilisez la page <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> et sélectionnez « Nettoyer l\'appareil », « Verrouiller le programme d\'amorçage » et « Forcer le flash de toutes les partitions »."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Utilisation du mode agnostique de page 16 Ko"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Vous êtes dans le mode 16 Ko du mode agnostique de page. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toutes les données stockées sur le téléphone pendant que le programme d\'amorçage est déverrouillé pourraient être compromises. Certaines fonctionnalités seront désactivées dans ces modes, de sorte que certaines applications peuvent ne pas fonctionner. Pour repasser en mode production, vous devez basculer vers le mode 4 Ko, puis verrouiller le programme d\'amorçage de l\'appareil. Touchez l\'écran pour en savoir plus."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Vous êtes dans le mode 16 Ko du mode agnostique de page. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toutes les données stockées sur le téléphone pendant que le programme d\'amorçage est déverrouillé pourraient être compromises. Certaines fonctionnalités seront désactivées dans ces modes, de sorte que certaines applications peuvent ne pas fonctionner. Pour repasser en mode production, vous devez basculer vers le mode 4 Ko, puis verrouiller le programme d\'amorçage de l\'appareil. Cette opération réinitialisera à nouveau l\'appareil et rétablira ses paramètres par défaut. Une fois que l\'appareil a bien démarré sous Android, désactivez le déverrouillage par le fabricant d\'équipement d\'origine dans les Options pour les développeurs. Si l\'appareil ne démarre pas sous Android ou s\'il est instable, flashez à nouveau l\'appareil avec les dernières images par défaut à partir de la page <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ou utilisez la page <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> et sélectionnez « Nettoyer l\'appareil », « Verrouiller le programme d\'amorçage » et « Forcer le flash de toutes les partitions »."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Vous êtes dans le mode 16 Ko du mode indépendant de la page. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toutes les données stockées sur le téléphone pendant que le programme d\'amorçage est déverrouillé pourraient être compromises. Certaines fonctionnalités seront désactivées dans ces modes, de sorte que certaines applications peuvent ne pas fonctionner. Pour repasser en mode production, vous devez basculer vers le mode 4 Ko, puis verrouiller le programme d\'amorçage de l\'appareil. Touchez l\'écran pour en savoir plus."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Vous êtes dans le mode 16 Ko du mode indépendant de la page. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toutes les données stockées sur le téléphone pendant que le programme d\'amorçage est déverrouillé pourraient être compromises. Certaines fonctionnalités seront désactivées dans ces modes, de sorte que certaines applications peuvent ne pas fonctionner. Pour repasser en mode production, vous devez basculer vers le mode 4 Ko, puis verrouiller le programme d\'amorçage de l\'appareil. Cette opération réinitialisera à nouveau l\'appareil et rétablira ses paramètres par défaut. Une fois que l\'appareil a bien démarré sous Android, désactivez le déverrouillage par le fabricant d\'équipement d\'origine dans les Options pour les développeurs. Si l\'appareil ne démarre pas sous Android ou s\'il est instable, flashez à nouveau l\'appareil avec les dernières images par défaut à partir de la page <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ou utilisez la page <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> et sélectionnez « Nettoyer l\'appareil », « Verrouiller le programme d\'amorçage » et « Forcer le flash de toutes les partitions »."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Mode agnostique de page 16 Ko"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Lire la suite"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Gestionnaire de rapport de bogue"</string>
- <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Détermine quelle application gère le raccourci de rapport de bogue sur votre appareil."</string>
+ <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Détermine quelle appli gère le raccourci de rapport de bogue sur votre appareil."</string>
<string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personnel"</string>
<string name="work_profile_app_subtext" msgid="5043419461440127879">"Travail"</string>
<string name="system_default_app_subtext" msgid="5212055189703164839">"Paramètres par défaut"</string>
@@ -4924,8 +4982,8 @@
<string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
<string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
<string name="volte_5G_limited_title" msgid="5908052268836750629">"Désactiver la connexion VoLTE?"</string>
- <string name="volte_5G_limited_text" msgid="7150583768725182345">"Cela désactive aussi votre connexion 5G.\nDurant un appel vocal, vous ne pourrez pas utiliser la connexion Internet et certaines applications pourraient ne pas fonctionner."</string>
- <string name="cached_apps_freezer" msgid="1057519579761550350">"Suspendre l\'exécution pour les applications en cache"</string>
+ <string name="volte_5G_limited_text" msgid="7150583768725182345">"Cela désactive aussi votre connexion 5G.\nDurant un appel vocal, vous ne pourrez pas utiliser la connexion Internet et certaines applis pourraient ne pas fonctionner."</string>
+ <string name="cached_apps_freezer" msgid="1057519579761550350">"Suspendre l\'exécution pour les applis en cache"</string>
<string name="blob_never_expires_text" msgid="7293376386620106623">"N\'expire jamais."</string>
<string name="accessor_never_expires_text" msgid="4647624492147788340">"Le bail n\'expire jamais."</string>
<string name="overlay_settings_title" msgid="1032863083496396365">"Autoriser les superpos. d\'écran pour les paramètres"</string>
@@ -4993,7 +5051,7 @@
<string name="not_allowed_by_ent" msgid="1958611623122304411">"Non autorisé par votre organisation"</string>
<string name="aware_summary_when_bedtime_on" msgid="2063856008597376344">"Cette fonctionnalité n\'est pas accessible parce que le mode Nuit est activé"</string>
<string name="reset_importance_completed" msgid="3595536767426097205">"L\'importance de la notification a bien été réinitialisée."</string>
- <string name="apps_dashboard_title" msgid="3269953499954393706">"Applications"</string>
+ <string name="apps_dashboard_title" msgid="3269953499954393706">"Applis"</string>
<string name="bluetooth_message_access_notification_content" msgid="5111712860712823893">"Un appareil souhaite accéder à vos messages. Touchez l\'écran pour en savoir plus."</string>
<string name="bluetooth_message_access_dialog_title" msgid="9009836130395061579">"Autoriser l\'accès aux messages?"</string>
<string name="bluetooth_message_access_dialog_content" msgid="7186694737578788487">"Un appareil Bluetooth, <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>, souhaite accéder à vos messages.\n\nVous ne vous êtes jamais connecté à <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> auparavant."</string>
@@ -5010,10 +5068,11 @@
<string name="bluetooth_main_switch_title" msgid="8409835540311309632">"Utiliser le Bluetooth"</string>
<string name="prevent_ringing_main_switch_title" msgid="4726252811262086643">"Utiliser le blocage de la sonnerie"</string>
<string name="use_wifi_hotsopt_main_switch_title" msgid="3909731167290690539">"Utiliser le point d\'accès Wi-Fi"</string>
- <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Utiliser l\'Épinglage d\'application"</string>
+ <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Utiliser l\'Épinglage d\'appli"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Utiliser les options pour les développeurs"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Utiliser le service d\'impression"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Autoriser plusieurs utilisateurs"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"autoriser, plusieurs, utilisateur, permettre, beaucoup"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"multiples, utilisateurs, profils, personnes, comptes, commutateur, plusieurs"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Utiliser le débogage sans fil"</string>
@@ -5042,7 +5101,7 @@
<string name="require_cellular_encryption_summary" msgid="6090569065420631457">"Cette option est plus sûre, mais peut limiter votre connexion au réseau cellulaire dans certains endroits. Les appels d\'urgence sont toujours autorisés."</string>
<string name="app_info_all_services_label" msgid="1487070364839071105">"Tous les services"</string>
<string name="show_clip_access_notification" msgid="7782300987639778542">"Afficher l\'accès au presse-papiers"</string>
- <string name="show_clip_access_notification_summary" msgid="474090757777203207">"Un message s\'affiche lorsque les applications accèdent à du texte, à des images ou à d\'autres contenus que vous avez copiés"</string>
+ <string name="show_clip_access_notification_summary" msgid="474090757777203207">"Un message s\'affiche lorsque les applis accèdent à du texte, à des images ou à d\'autres contenus que vous avez copiés"</string>
<string name="all_apps" msgid="3054120149509114789">"Toutes les applis"</string>
<string name="request_manage_bluetooth_permission_dont_allow" msgid="8798061333407581300">"Ne pas autoriser"</string>
<string name="uwb_settings_title" msgid="8578498712312002231">"Bande ultralarge (BUL)"</string>
@@ -5055,8 +5114,8 @@
<string name="thread_network_settings_learn_more" msgid="8278498005848565050">"En savoir plus sur Thread"</string>
<string name="camera_toggle_title" msgid="8952668677727244992">"Accès à la caméra"</string>
<string name="mic_toggle_title" msgid="265145278323852547">"Accès au microphone"</string>
- <string name="perm_toggle_description" msgid="5754629581767319022">"Pour les applications et les services"</string>
- <string name="mic_toggle_description" msgid="484139688645092237">"Pour les applications et les services. Si ce paramètre est désactivé, il est possible que les données du microphone soient partagées lorsque vous appelez un numéro d\'urgence."</string>
+ <string name="perm_toggle_description" msgid="5754629581767319022">"Pour les applis et les services"</string>
+ <string name="mic_toggle_description" msgid="484139688645092237">"Pour les applis et les services. Si ce paramètre est désactivé, il est possible que les données du microphone soient partagées lorsque vous appelez un numéro d\'urgence."</string>
<string name="previous_page_content_description" msgid="6438292457923282991">"Précédent"</string>
<string name="next_page_content_description" msgid="1641835099813416294">"Suivant"</string>
<string name="colors_viewpager_content_description" msgid="2591751086138259565">"Aperçu de la couleur"</string>
@@ -5087,7 +5146,7 @@
<string name="tare_rewards_instantaneous" msgid="8358683519945340874">"Récompenses par événement individuel"</string>
<string name="tare_rewards_ongoing" msgid="7657030286658143416">"Récomp. par seconde de durée de l\'évén."</string>
<string name="tare_rewards_max" msgid="5283055625642837010">"Maximum de récompenses par jour"</string>
- <string name="tare_app_install" msgid="7955806910408116882">"Installation d\'applications"</string>
+ <string name="tare_app_install" msgid="7955806910408116882">"Installation d\'applis"</string>
<string name="tare_top_activity" msgid="7266560655483385757">"Activité principale"</string>
<string name="tare_notification_seen" msgid="7829963536020087742">"Notification vue"</string>
<string name="tare_notification_seen_15_min" msgid="832174185809497764">"Notification vue dans les 15 minutes"</string>
@@ -5106,9 +5165,9 @@
<string name="tare_job_min_running" msgid="6167128996320622604">"Tâche à priorité minimale en cours…"</string>
<string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Pénalité expiration du délai de la tâche"</string>
<string name="tare_min_balance_exempted" msgid="6693710075762973485">"Solde minimal avec une charge complète (exemptée)"</string>
- <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Solde minimal avec une charge complète (application système sans interface)"</string>
- <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Solde minimal avec une charge complète (applications restantes)"</string>
- <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Ajout de solde minimal avec une charge complète (outil de mise à jour de l\'application)"</string>
+ <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Solde minimal avec une charge complète (appli système sans interface)"</string>
+ <string name="tare_min_balance_other_app" msgid="3404774196832506476">"Solde minimal avec une charge complète (applis restantes)"</string>
+ <string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Ajout de solde minimal avec une charge complète (outil de mise à jour de l\'appli)"</string>
<string-array name="tare_modifiers_subfactors">
<item msgid="3325940509857535498">"Recharge"</item>
<item msgid="658627268149681677">"Sieste"</item>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Choisissez ce que vous voyez à l\'écran lorsque votre tablette est ancrée. Votre appareil peut consommer plus d\'énergie lorsqu\'un écran de veille est utilisé."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Personnaliser"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Personnaliser <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Vous devez redémarrer l\'appareil pour activer la prise en charge des fenêtres de forme libre."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Vous devez redémarrer l\'appareil pour forcer le mode Bureau sur des écrans secondaires."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Un redémarrage est requis pour activer la prise en charge des fenêtres de forme libre patrimoniales."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Un redémarrage est requis pour modifier la prise en charge des fenêtres de forme libre."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Un redémarrage est requis pour forcer les fenêtres de forme libre sur les écrans secondaires."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Redémarrer maintenant"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Redémarrer plus tard"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Son spatial"</string>
@@ -5136,7 +5196,7 @@
<string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Suivi de la tête"</string>
<string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Le son est modifié en fonction des mouvements de votre tête pour produire un son plus naturel"</string>
<string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Synchroniser les autorisations du téléphone"</string>
- <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Accordez à votre montre les mêmes autorisations de l\'application que celles que vous avez accordées sur ce téléphone"</string>
+ <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Accordez à votre montre les mêmes autorisations de l\'appli que celles que vous avez accordées sur ce téléphone"</string>
<string name="bluetooth_details_audio_device_types_title" msgid="1889644189800180316">"Type d\'appareil audio"</string>
<string name="bluetooth_details_audio_device_type_unknown" msgid="5299284975435974206">"Non défini"</string>
<string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Haut-parleur"</string>
@@ -5149,7 +5209,7 @@
<string name="ingress_rate_limit_dialog_title" msgid="5359461052422633789">"Configurer la limitation du taux de téléchargement sur le réseau"</string>
<string name="ingress_rate_limit_no_limit_entry" msgid="8741098826008012163">"Aucune limite"</string>
<string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Désactiver les restrict. pour les processus enfant"</string>
- <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Désactivez les restrictions sur l\'utilisation des ressources système pour les processus d\'application relatifs aux profils pour enfants"</string>
+ <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Désactivez les restrictions sur l\'utilisation des ressources système pour les processus d\'appli relatifs aux profils pour enfants"</string>
<string name="enable_notes_role_title" msgid="7662702013496114763">"Forcer l\'activation de la fonction Notes"</string>
<string name="enable_notes_role_summary" msgid="5495721409392395089">"Activez les intégrations de systèmes de prise de notes par le biais de la fonction Notes. Si la fonction Notes est déjà activée, aucune action n\'est nécessaire. Nécessite un redémarrage."</string>
<string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Diffusion"</string>
@@ -5169,21 +5229,21 @@
<string name="bt_le_audio_qr_code_is_not_valid_format" msgid="7821837654128137901">"Le format du code QR est incorrect"</string>
<string name="convert_to_esim_title" msgid="71037864129009206">"Convertir à une carte eSIM"</string>
<string name="transfer_esim_to_another_device_title" msgid="5286117866086383192">"Transférer la carte eSIM à un autre appareil"</string>
- <string name="background_install_preference_summary" msgid="3065219346519340364">"{count,plural, =1{# application}one{# application}other{# applications}}"</string>
- <string name="background_install_title" msgid="607913515188276168">"Applications installées en arrière-plan"</string>
- <string name="background_install_summary" msgid="3890296129543309666">"Le fabricant de votre appareil peut installer des applications sur votre appareil en arrière-plan, ou autoriser votre fournisseur de services et d\'autres partenaires à le faire.\n\nLes applications répertoriées ici ne sont pas nécessaires au fonctionnement normal de votre appareil. Vous pouvez désinstaller les applications que vous ne voulez pas."</string>
- <string name="background_install_feature_list_no_entry" msgid="2071343281272266154">"Aucune application installée en arrière-plan"</string>
- <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Désinstaller l\'application"</string>
- <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Applications installées au cours du dernier mois}one{Applications installées au cours du dernier (#) mois}other{Applications installées au cours des # derniers mois}}"</string>
- <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Applications installées il y a plus de # mois}one{Applications installées il y a plus de # mois}other{Applications installées il y a plus de # mois}}"</string>
+ <string name="background_install_preference_summary" msgid="3065219346519340364">"{count,plural, =1{# appli}one{# appli}other{# applis}}"</string>
+ <string name="background_install_title" msgid="607913515188276168">"Applis installées en arrière-plan"</string>
+ <string name="background_install_summary" msgid="3890296129543309666">"Le fabricant de votre appareil peut installer des applis sur votre appareil en arrière-plan, ou autoriser votre fournisseur de services et d\'autres partenaires à le faire.\n\nLes applis répertoriées ici ne sont pas nécessaires au fonctionnement normal de votre appareil. Vous pouvez désinstaller les applis que vous ne voulez pas."</string>
+ <string name="background_install_feature_list_no_entry" msgid="2071343281272266154">"Aucune appli installée en arrière-plan"</string>
+ <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Désinstaller l\'appli"</string>
+ <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Applis installées au cours du dernier mois}one{Applis installées au cours du dernier (#) mois}other{Applis installées au cours des # derniers mois}}"</string>
+ <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Applis installées il y a plus de # mois}one{Applis installées il y a plus de # mois}other{Applis installées il y a plus de # mois}}"</string>
<string name="aspect_ratio_title" msgid="2451826875939676101">"Proportions"</string>
- <string name="aspect_ratio_summary" msgid="4056406351663726494">"Essayez d\'autres proportions pour afficher cette application si elle n\'a pas été conçue pour s\'adapter à votre <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
- <string name="aspect_ratio_main_summary" msgid="4141964559612756940">"Essayez d\'autres proportions pour afficher cette application si elle n\'a pas été conçue pour s\'adapter à votre <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Il se peut que certaines applications ne soient pas optimisées pour certaines proportions."</string>
- <string name="aspect_ratio_summary_text" msgid="4737461467467220325">"Essayez d\'autres proportions pour afficher une application si elle n\'a pas été conçue pour s\'adapter à votre <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
- <string name="aspect_ratio_main_summary_text" msgid="5544816872094235840">"Essayez d\'autres proportions pour afficher une application si elle n\'a pas été conçue pour s\'adapter à votre <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Il se peut que certaines applications ne soient pas optimisées pour certaines proportions."</string>
+ <string name="aspect_ratio_summary" msgid="4056406351663726494">"Essayez d\'autres proportions pour afficher cette appli si elle n\'a pas été conçue pour s\'adapter à votre <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+ <string name="aspect_ratio_main_summary" msgid="4141964559612756940">"Essayez d\'autres proportions pour afficher cette appli si elle n\'a pas été conçue pour s\'adapter à votre <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Il se peut que certaines applis ne soient pas optimisées pour certaines proportions."</string>
+ <string name="aspect_ratio_summary_text" msgid="4737461467467220325">"Essayez d\'autres proportions pour afficher une appli si elle n\'a pas été conçue pour s\'adapter à votre <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+ <string name="aspect_ratio_main_summary_text" msgid="5544816872094235840">"Essayez d\'autres proportions pour afficher une appli si elle n\'a pas été conçue pour s\'adapter à votre <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Il se peut que certaines applis ne soient pas optimisées pour certaines proportions."</string>
<string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Applis suggérées"</string>
<string name="user_aspect_ratio_changed_apps_label" msgid="2096614916172567672">"Applis modif."</string>
- <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Application par défaut"</string>
+ <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Appli par défaut"</string>
<string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"Plein écran"</string>
<string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"Moitié de l\'écran"</string>
<string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"Proportions de l\'appareil"</string>
@@ -5191,7 +5251,7 @@
<string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
<string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
<string name="user_aspect_ratio_option_a11y" msgid="1235801996029095219">"<xliff:g id="NUMERATOR">%1$s</xliff:g> par <xliff:g id="DENOMINATOR">%2$s</xliff:g>"</string>
- <string name="app_aspect_ratio_footer" msgid="4029509301182067475">"L\'application redémarrera lorsque vous aurez modifié les proportions. Vous pourriez perdre les modifications non enregistrées. Il se peut que certaines applications ne soient pas optimisées pour certaines proportions."</string>
+ <string name="app_aspect_ratio_footer" msgid="4029509301182067475">"L\'appli redémarrera lorsque vous aurez modifié les proportions. Vous pourriez perdre les modifications non enregistrées. Il se peut que certaines applis ne soient pas optimisées pour certaines proportions."</string>
<string name="aspect_ratio_experimental_title" msgid="9088785421062044831">"Proportions (expérimental)"</string>
<string name="aspect_ratio_experiment_title" msgid="128614319422121040">"Proportions (test)"</string>
<string name="aspect_ratio_labs_title" msgid="6733893837442759383">"Proportions (labos)"</string>
@@ -5230,7 +5290,7 @@
<string name="contrast_default" msgid="8918545965525226966">"Par défaut"</string>
<string name="contrast_medium" msgid="384414510709285811">"Moyen"</string>
<string name="contrast_high" msgid="3988567609694797696">"Élevé"</string>
- <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Cette application ne peut être ouverte que dans une seule fenêtre."</string>
+ <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Cette appli ne peut être ouverte que dans une seule fenêtre."</string>
<string name="generic_accessibility_service_on" msgid="4466229372357726824">"Activé"</string>
<string name="generic_accessibility_service_off" msgid="4759859497651675724">"Désactivé"</string>
<string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Désactivé"</string>
@@ -5240,19 +5300,19 @@
<string name="color_inversion_state_on" msgid="1160969033636440368">"Activée"</string>
<string name="color_inversion_state_off" msgid="6925638668080451724">"Désactivée"</string>
<string name="color_inversion_feature_summary" msgid="1199876648549627647">"Les écrans clairs deviennent sombres et vice-versa"</string>
- <string name="magnification_feature_summary" msgid="2053971569640663564">"Zoomer sur l\'écran"</string>
+ <string name="magnification_feature_summary" msgid="2053971569640663564">"Zoome sur l\'écran"</string>
<string name="autoclick_disabled" msgid="3213396804955002120">"Désactivée"</string>
<string name="show_captions_disabled" msgid="690650956523818755">"Désactivés"</string>
<string name="show_captions_enabled" msgid="7089043007924626">"Activés"</string>
<string name="live_caption_disabled" msgid="3562035026547887366">"Désactivée"</string>
<string name="live_caption_enabled" msgid="5269360946200718949">"Activée"</string>
- <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Le nom de votre appareil est visible aux applications que vous avez installées. Il est également possible que d\'autres personnes voient le nom de votre appareil lorsque vous vous connectez à des appareils Bluetooth ou à un réseau Wi-Fi, ou lorsque vous configurez un point d\'accès Wi-Fi."</string>
+ <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Le nom de votre appareil est visible aux applis que vous avez installées. Il est également possible que d\'autres personnes voient le nom de votre appareil lorsque vous vous connectez à des appareils Bluetooth ou à un réseau Wi-Fi, ou lorsque vous configurez un point d\'accès Wi-Fi."</string>
<string name="grammatical_gender_title" msgid="8584242850477270828">"Genre grammatical"</string>
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Sélectionnez un genre grammatical"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Analyse d\'applis trompeuses"</string>
- <string name="content_protection_preference_summary" msgid="2252393849408445391">"Vérifiez l\'activité des applications pour détecter les tentatives d\'hameçonnage"</string>
+ <string name="content_protection_preference_summary" msgid="2252393849408445391">"Vérifiez l\'activité des applis pour détecter les tentatives d\'hameçonnage"</string>
<string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Utiliser l\'analyse des applis trompeuses"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Utiliser l\'analyse des applications trompeuses pour le travail"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Utiliser l\'analyse des applis trompeuses pour le travail"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
<string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Le mot de passe a été configuré"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Écouter le flux"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Balayez le code QR d\'un flux audio pour l\'écouter avec votre <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Impossible de modifier le mot de passe lors du partage. Pour modifier le mot de passe, désactivez d\'abord le partage audio."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml
index cbf5b40..9e9fd5f 100644
--- a/res/values-fr/arrays.xml
+++ b/res/values-fr/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Coucher"</item>
+ <item msgid="4152450357280759894">"Conduite"</item>
+ <item msgid="7096549258219399423">"Immersif"</item>
+ <item msgid="2760716776980432977">"Géré"</item>
+ <item msgid="601734478369121764">"Étoile"</item>
+ <item msgid="6243809315432780521">"Calendrier"</item>
+ <item msgid="4913577903148415331">"Durée"</item>
+ <item msgid="3653377604690057780">"Cinéma"</item>
+ <item msgid="3843711267408385410">"Fleur"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 3082c1b..8a9f7b0 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Paramètres de l\'appareil auditif"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Raccourci, compatibilité avec les appareils auditifs"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Préréglages"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Votre spécialiste de l\'audition n\'a configuré aucun préréglage"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Impossible de mettre à jour les préréglages"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Sortie audio"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"À propos de la sortie audio"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Déverrouillage par reconnaissance faciale et la <xliff:g id="WATCH">%s</xliff:g> ajouté"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Visage, empreinte digitale et <xliff:g id="WATCH">%s</xliff:g> ajoutés"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Visage, empreintes digitales et <xliff:g id="WATCH">%s</xliff:g> ajoutés"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Cette action est nécessaire, car la vérification de l\'identité est activée"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Déblocage de l\'authentificateur distant"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Montre ajoutée"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Configurer votre montre"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"En savoir plus sur le Déverrouillage par une montre"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Ajouter une montre"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Retirer la montre"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Déverrouillage par empreinte digitale et reconnaissance faciale"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Déverrouillage par reconnaissance faciale et empreinte digitale"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Déverrouillage par reco. faciale et empreinte pour le travail"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Configuration requise"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Visage et empreintes digitales ajoutés"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Applis installées"</b>\n"Les applis installées que vous souhaitez garder privées dans votre espace"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"À noter"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Les applis s\'arrêtent lorsque vous verrouillez votre espace"</b>\n"Lorsque vous verrouillez votre espace, les applis qui s\'y trouvent s\'arrêtent et vous ne recevez plus de notifications de leur part"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Les espaces privés ne sont pas adaptés aux applis qui doivent s\'exécuter en arrière-plan ou envoyer des notifications critiques, comme les applis médicales. En effet, les notifications et les activités en arrière-plan sont interrompues lorsque votre espace est verrouillé.\n\nLes applis contenues dans votre espace privé n\'apparaissent pas dans le gestionnaire d\'autorisations, dans le tableau de bord Confidentialité ni dans d\'autres paramètres quand votre espace privé est verrouillé.\n\nVotre espace privé ne peut pas être transféré vers un nouvel appareil. Si vous souhaitez l\'utiliser sur un autre appareil, vous devrez configurer un nouvel espace privé.\n\nQuiconque connecte votre appareil à un ordinateur ou y installe des applis malveillantes peut avoir accès à votre espace privé."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Les espaces privés ne sont pas adaptés aux applis qui doivent s\'exécuter en arrière-plan ou envoyer des notifications critiques, comme les applis médicales. En effet, les notifications et les activités en arrière-plan sont interrompues lorsque votre espace est verrouillé.\n\nLes applis contenues dans votre espace privé n\'apparaissent pas dans le gestionnaire d\'autorisations, dans le tableau de bord Confidentialité ni dans d\'autres paramètres quand votre espace privé est verrouillé.\n\nVotre espace privé ne peut pas être restauré sur un nouvel appareil. Si vous souhaitez l\'utiliser sur un autre appareil, vous devrez configurer un nouvel espace.\n\nQuiconque connecte votre appareil à un ordinateur ou y installe des applis malveillantes peut avoir accès à votre espace privé."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"En savoir plus sur l\'espace privé"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Cela peut prendre quelques instants"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Configuration de l\'espace privé…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Redémarrer l\'appareil ?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"La journalisation des détails NFC est destinée exclusivement au développement. Des données NFC supplémentaires sont incluses dans les rapports de bug. Ils peuvent contenir des informations privées. Redémarrez votre appareil pour modifier ce paramètre."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Redémarrer"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Cast"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"duplication d\'écran"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Activer l\'affichage sans fil"</string>
@@ -1192,7 +1222,8 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptatives"</string>
<string name="brightness" msgid="6216871641021779698">"Niveau de luminosité"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Luminosité adaptative"</string>
- <string name="auto_brightness_description" msgid="6807117118142381193">"La luminosité de l\'écran s\'adapte automatiquement à votre environnement et à vos activités. Vous pouvez déplacer le curseur manuellement pour aider l\'appareil à apprendre vos préférences."</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"À propos de la luminosité adaptative"</string>
+ <string name="auto_brightness_description" msgid="6807117118142381193">"La luminosité de l\'écran s\'adapte automatiquement à votre environnement et à vos activités. Vous pouvez déplacer le curseur manuellement pour aider la fonctionnalité à apprendre vos préférences."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Activé"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Désactivé"</string>
<string name="display_white_balance_title" msgid="2624544323029364713">"Balance des blancs de l\'écran"</string>
@@ -1247,7 +1278,7 @@
<string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"S\'active à l\'heure choisie"</string>
<string name="dark_ui_auto_mode_custom_bedtime" msgid="8465023741946439266">"S\'active à l\'heure du coucher"</string>
<string name="dark_ui_status_title" msgid="3505119141437774329">"État"</string>
- <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Ne s\'activera jamais automatiquement"</string>
+ <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Ne s\'active jamais automatiquement"</string>
<string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"S\'active automatiquement au coucher du soleil"</string>
<string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"S\'active automatiquement à <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="dark_ui_summary_off_auto_mode_custom_bedtime" msgid="7759826673214624622">"S\'active automatiquement à l\'heure du coucher"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Options"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibilité"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Clavier physique"</string>
- <string name="show_ime" msgid="4334255501724746849">"Utiliser le clavier à l\'écran"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Afficher le clavier virtuel même lorsque le clavier physique est actif"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Touches à rebonds"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Le clavier ignore les frappes rapides et consécutives d\'une même touche dans un intervalle de <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Touches lentes"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Utilisateur sélectionné : <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Voix"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Vitesse du pointeur"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Manette de jeu"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Vibreur pour la redirection"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Rediriger le vibreur vers la manette de jeu lorsque vous êtes connecté"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continuer"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Annuler"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Paramètres d\'agrandissement"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Défilement panoramique à un doigt"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Déplacer la loupe avec un doigt"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Faites glisser un doigt pour vous déplacer sur l\'écran."</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Déplacez la zone d\'agrandissement en faisant glisser un doigt sur cette dernière."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Déplacez la zone d\'agrandissement en faisant glisser deux doigts sur cette dernière."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Indisponible lors de l\'agrandissement d\'une partie de l\'écran uniquement"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Appuyer sur un bouton pour zoomer"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Faites un zoom avant rapide sur l\'écran pour agrandir le contenu"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Pour faire un zoom avant :</b><br/> {0,number,integer}. Utilisez le raccourci pour démarrer l\'agrandissement<br/> {1,number,integer}. Appuyez sur l\'écran<br/> {2,number,integer}. Faites glisser deux doigts pour vous déplacer sur l\'écran<br/> {3,number,integer}. Pincez avec deux doigts pour régler le zoom<br/> {4,number,integer}. Utilisez le raccourci pour arrêter l\'agrandissement<br/><br/> <b>Pour faire un zoom avant temporaire :</b><br/> {0,number,integer}. Assurez-vous que le type d\'agrandissement est défini sur plein écran<br/> {1,number,integer}. Utilisez le raccourci pour démarrer l\'agrandissement<br/> {2,number,integer}. Appuyez de manière prolongée n\'importe où sur l\'écran<br/> {3,number,integer}. Faites glisser un doigt pour vous déplacer sur l\'écran<br/> {4,number,integer}. Relevez le doigt pour arrêter l\'agrandissement"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Pour faire un zoom avant :</b><br/> {0,number,integer}. Utilisez le raccourci pour agrandir<br/> {1,number,integer}. Appuyez sur l\'écran<br/> {2,number,integer}. Faites glisser deux doigts pour vous déplacer sur l\'écran<br/> {3,number,integer}. Pincez avec les deux doigts pour régler le zoom<br/> {4,number,integer}. Utilisez le raccourci pour arrêter de zoomer<br/><br/> Vous pouvez également faire un zoom avant temporaire, et plus encore."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Pour faire un zoom avant :</b><br/> {0,number,integer}. Utilisez le raccourci pour agrandir<br/> {1,number,integer}. Appuyez sur l\'écran<br/> {2,number,integer}. Faites glisser un ou deux doigts pour vous déplacer sur l\'écran<br/> {3,number,integer}. Pincez avec les deux doigts pour régler le zoom<br/> {4,number,integer}. Utilisez le raccourci pour arrêter de zoomer<br/><br/> Vous pouvez également faire un zoom avant temporaire, et plus encore."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Lorsque l\'option \"Agrandissement\" est activée, vous pouvez effectuer un zoom avant sur votre écran.\n\n"<b>"Pour zoomer"</b>", activez l\'option \"Agrandissement\", puis appuyez n\'importe où sur l\'écran.\n"<ul><li>"Pour faire défiler l\'écran, faites glisser deux doigts ou plus dessus."</li>\n<li>"Pour régler le niveau de zoom, pincez l\'écran avec deux doigts ou plus."</li></ul>\n\n<b>"Pour faire un zoom temporaire"</b>", lancez l\'option \"Agrandissement\", puis appuyez de manière prolongée n\'importe où sur l\'écran.\n"<ul><li>"Pour vous déplacer sur l\'écran, faites glisser un doigt dessus."</li>\n<li>"Pour faire un zoom arrière, relevez le doigt."</li></ul>\n\n"Il est impossible de faire un zoom avant sur le clavier ni sur la barre de navigation."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Page <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> sur <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Raccourci du bouton Accessibilité"</string>
@@ -2189,14 +2227,14 @@
<string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"En savoir plus sur le bouton et le geste d\'accessibilité"</string>
<string name="accessibility_button_intro" msgid="2601976470525277903">"Utilisation du bouton Accessibilité. Geste indisponible avec la navigation à trois boutons."</string>
<string name="accessibility_button_summary" msgid="8510939012631455831">"Accès rapide aux fonctionnalités d\'accessibilité"</string>
- <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"<b>Pour démarrer</b><br/> {0,number,integer}. Accédez aux paramètres d\'accessibilité<br/> {1,number,integer}. Sélectionnez une fonctionnalité et appuyez sur le raccourci<br/> {2,number,integer}. Précisez si vous souhaitez utiliser un bouton ou un geste pour accéder au paramètre<br/>."</string>
+ <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"<b>Pour démarrer</b><br/> {0,number,integer}. Accédez aux paramètres d\'accessibilité<br/> {1,number,integer}. Sélectionnez une fonctionnalité et appuyez sur le raccourci<br/> {2,number,integer}. Précisez si vous souhaitez utiliser un bouton ou un geste pour accéder au paramètre<br/>"</string>
<string name="accessibility_button_description" msgid="7669538706120092399">"<b>Pour démarrer</b><br/> {0,number,integer}. Accédez aux paramètres d\'accessibilité<br/> {1,number,integer}. Sélectionnez une fonctionnalité et appuyez sur le raccourci<br/> {2,number,integer}. Choisissez le bouton pour accéder à cette fonctionnalité<br/>."</string>
<string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Utiliser bouton ou geste"</string>
<string name="accessibility_button_location_title" msgid="7182107846092304942">"Position"</string>
<string name="accessibility_button_size_title" msgid="5785110470538960881">"Taille"</string>
<string name="accessibility_button_fade_title" msgid="8081993897680588829">"Disparaît s\'il n\'est pas utilisé"</string>
<string name="accessibility_button_fade_summary" msgid="7865950833524973709">"Disparaît après quelques secondes pour que vous puissiez mieux voir l\'écran"</string>
- <string name="accessibility_button_opacity_title" msgid="4727355657530362289">"Transparent s\'il n\'est pas utilisé"</string>
+ <string name="accessibility_button_opacity_title" msgid="4727355657530362289">"Transparence quand il n\'est pas utilisé"</string>
<string name="accessibility_button_low_label" msgid="4193015407828927741">"Transparent"</string>
<string name="accessibility_button_high_label" msgid="9138077512008190896">"Opaque"</string>
<string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Texte avec contraste élevé"</string>
@@ -2883,7 +2921,7 @@
<string name="data_usage_limit_editor_title" msgid="8826855902435008518">"Définir la limite de consommation des données"</string>
<string name="data_usage_limit_dialog_title" msgid="2053134451707801439">"Limitation de la conso des données"</string>
<string name="data_usage_sweep_warning" msgid="2072854703184614828"><font size="18">"<xliff:g id="NUMBER">^1</xliff:g>"</font><font size="9">" <xliff:g id="UNIT">^2</xliff:g>"</font>\n<font size="12">"avert."</font></string>
- <string name="data_usage_sweep_limit" msgid="6947019190890086284"><font size="18">"<xliff:g id="NUMBER">^1</xliff:g>"</font><font size="9">"<xliff:g id="UNIT">^2</xliff:g>"</font>\n<font size="12">"plafond"</font></string>
+ <string name="data_usage_sweep_limit" msgid="6947019190890086284"><font size="18">"<xliff:g id="NUMBER">^1</xliff:g>"</font><font size="9">" <xliff:g id="UNIT">^2</xliff:g>"</font>\n<font size="12">"plafond"</font></string>
<string name="data_usage_uninstalled_apps" msgid="9065885396147675694">"Applications supprimées"</string>
<string name="data_usage_uninstalled_apps_users" msgid="1262228664057122983">"Applications et utilisateurs supprimés"</string>
<string name="wifi_metered_title" msgid="6623732965268033931">"Utilisation du réseau"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Recevez uniquement les notifications des personnes et applications importantes"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Sélectionner le type d\'activation"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Durée"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Exemple : \"9h30 – 17h\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Agenda"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Exemple : \"Agenda personnel\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Créer un mode"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Personnalisé"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limiter les interruptions"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activer le mode Ne pas déranger"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Les alarmes et les sons des contenus multimédias peuvent interrompre le mode Ne pas déranger"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Programmes"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Supprimer des programmes"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Supprimer"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Modifier"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Programmes"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Programme"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Ajouter un agenda"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Utiliser votre agenda"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Programmer"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Définir une programmation"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Programmation"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Activer automatiquement"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Programme"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Tél. en silence à certains moments"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Définir les règles du mode Ne pas déranger"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Autoriser les interruptions sonores"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Bloquer nuisances visuelles"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Autoriser les signaux visuels"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Notifications qui peuvent vous parvenir"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Restez concentré"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Autres actions"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Paramètres d\'affichage"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Options d\'affichage"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"activer le thème sombre"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Passer le système d\'exploitation et les applis en texte clair sur fond sombre, ce qui peut faciliter la lecture et permet d\'économiser considérablement la batterie sur certains appareils"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Aucun changement appliqué à l\'affichage}=1{{effect_1}}=2{{effect_1} et {effect_2}}=3{{effect_1}, {effect_2} et {effect_3}}one{{effect_1}, {effect_2} et # autre}other{{effect_1}, {effect_2} et # autres}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filtrer les interruptions"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Aucune interruption filtrée"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Options d\'affichage des notifications filtrées"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Lorsque Ne pas déranger est activé"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Aucune notification sonore"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"Ouvrir la notification"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Autoriser la mise en attente des notifications"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Pastille de notification sur l\'icône de l\'application"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Groupes de notifications"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Bulles"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bulles"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Afficher cette conversation sous forme de bulle"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Catégories"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Autres"</string>
<string name="no_channels" msgid="4716199078612071915">"Cette application n\'a publié aucune notification"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Afficher les catégories inutilisées"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Paramètres supplémentaires dans l\'application"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Afficher les catégories inutilisées"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Masquer les catégories inutilisées"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Toutes"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Autoriser des applications à ignorer ce mode"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Applis qui peuvent interrompre"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Sélectionnez plus d\'applications"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Ne recevoir que les alarmes pendant 1 heure jusqu\'à {time}}one{Ne recevoir que les alarmes pendant # heure jusqu\'à {time}}other{Ne recevoir que les alarmes pendant # heures jusqu\'à {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Ne recevoir que les alarmes jusqu\'à <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Toujours interrompre"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Renommer"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Changer d\'icône"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Changer d\'icône"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Avertissement"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Fermer"</string>
<string name="device_feedback" msgid="5351614458411688608">"Envoyer commentaires sur l\'appareil"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Étui de transport"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batterie"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Panneau des paramètres"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Forcer le mode ordinateur"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Forcer le mode ordinateur expérimental sur les écrans secondaires"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Activer les fenêtres de forme libre"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Permet d\'activer la compatibilité avec les fenêtres de forme libre."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Activer le fenêtrage de forme libre sur l\'écran secondaire"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Permet d\'activer les fenêtres de forme libre sur l\'écran secondaire uniquement."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Activer les applis non redimensionnables en mode multifenêtre"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Autoriser le mode multifenêtre pour les applis non redimensionnables"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Forcer l\'activation du thème sombre"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"La partition des données de cet appareil doit être convertie en ext4 avant d\'utiliser l\'option 16 kB pour les développeurs. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toute donnée stockée sur le téléphone alors que le bootloader est déverrouillé peut être exposée à un risque. L\'activation du mode 16 kB nécessitera un ou plusieurs redémarrages après cette opération. Une fois que vous êtes dans ce mode, vous pouvez passer du mode 4 kB au mode 16 kB et inversement par le biais d\'un seul redémarrage. Certaines fonctionnalités seront désactivées dans ces modes, et certaines applications sont susceptibles de ne pas fonctionner. Pour remettre l\'appareil en mode Production, il vous faut repasser en mode 4 kB, puis verrouiller le bootloader, ce qui rétablit la configuration d\'usine de l\'appareil. Une fois que l\'appareil a bien démarré sous Android, désactivez le déverrouillage OEM dans les Options pour les développeurs. Après confirmation, l\'appareil sera nettoyé et le système de fichiers sera remplacé par ext4. Une fois cette opération terminée, revenez pour repasser en mode 16 kB."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Effacer les données"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Échec du reformatage et de l\'effacement de la partition de données vers ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Déverrouillage du bootloader requis pour le mode 16 kB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Nécessite le déverrouillage du bootloader"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Le bootloader de cet appareil doit être déverrouillé pour pouvoir utiliser l\'option 16 kB pour les développeurs. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toute donnée stockée sur le téléphone alors que le bootloader est déverrouillé peut être exposée à un risque. L\'ensemble des données et paramètres de l\'utilisateur seront effacés après l\'activation du mode 16 kB. Une fois le bootloader déverrouillé, l\'activation du mode 16 kB nécessitera deux redémarrages. Une fois que vous êtes dans ce mode, vous pouvez passer du mode 4 kB au mode 16 kB et inversement par le biais d\'un seul redémarrage. Certaines fonctionnalités seront désactivées dans ces modes, et certaines applications sont susceptibles de ne pas fonctionner. Pour remettre l\'appareil en mode Production, il vous faut repasser en mode 4 kB, puis verrouiller l\'OEM/le bootloader (ce qui rétablit la configuration d\'usine de l\'appareil). Verrouillez le bootloader, puis réessayez. Vous trouverez des instructions pour vous aider à réaliser cette opération à l\'adresse <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Utilisation du mode agnostique de page mémoire 4 kB"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Vous utilisez le mode 4 kB du mode agnostique de page mémoire. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toute donnée stockée sur le téléphone alors que le bootloader est déverrouillé peut être exposée à un risque. Certaines fonctionnalités seront désactivées dans ces modes, et certaines applications sont susceptibles de ne pas fonctionner. Pour repasser en mode Production, vous devez verrouiller le bootloader de l\'appareil. Appuyez ici pour en savoir plus."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Vous utilisez le mode 4 kB du mode agnostique de page mémoire. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toute donnée stockée sur le téléphone alors que le bootloader est déverrouillé peut être exposée à un risque. Certaines fonctionnalités seront désactivées dans ces modes, et certaines applications sont susceptibles de ne pas fonctionner. Pour repasser en mode Production, vous devez verrouiller le bootloader de l\'appareil. Cela permet de rétablir la configuration d\'usine de l\'appareil à nouveau et d\'en rétablir les paramètres de production. Une fois que l\'appareil a bien démarré sous Android, désactivez le déverrouillage OEM dans les Options pour les développeurs. Si l\'appareil ne parvient pas à démarrer sous Android ou s\'il est instable, flashez de nouveau l\'appareil à l\'aide des dernières images d\'usine disponibles à l\'adresse <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ou utilisez <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> et sélectionnez \"Nettoyer l\'appareil\", \"Verrouiller le bootloader\", puis \"Forcer le flash de l\'ensemble des partitions\"."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Utilisation du mode agnostique de page mémoire 16 kB"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Vous utilisez le mode 16 kB du mode agnostique de page mémoire. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toute donnée stockée sur le téléphone alors que le bootloader est déverrouillé peut être exposée à un risque. Certaines fonctionnalités seront désactivées dans ces modes, et certaines applications sont susceptibles de ne pas fonctionner. Pour remettre l\'appareil en mode Production, vous devez repasser au mode 4 kB, puis verrouiller le bootloader de l\'appareil. Appuyez ici pour en savoir plus."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Vous utilisez le mode 16 kB du mode agnostique de page mémoire. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toute donnée stockée sur le téléphone alors que le bootloader est déverrouillé peut être exposée à un risque. Certaines fonctionnalités seront désactivées dans ces modes, et certaines applications sont susceptibles de ne pas fonctionner. Pour remettre l\'appareil en mode Production, vous devez repasser au mode 4 kB, puis verrouiller le bootloader de l\'appareil. Cela permet de rétablir la configuration d\'usine de l\'appareil à nouveau et d\'en rétablir les paramètres de production. Une fois que l\'appareil a bien démarré sous Android, désactivez le déverrouillage OEM dans les Options pour les développeurs. Si l\'appareil ne parvient pas à démarrer sous Android ou s\'il est instable, flashez de nouveau l\'appareil à l\'aide des dernières images d\'usine disponibles à l\'adresse <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ou utilisez <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> et sélectionnez \"Nettoyer l\'appareil\", \"Verrouiller le bootloader\", puis \"Forcer le flash de l\'ensemble des partitions\"."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Vous utilisez le mode 16 Ko du mode agnostique de page mémoire. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toute donnée stockée sur le téléphone alors que le bootloader est déverrouillé peut être exposée à un risque. Certaines fonctionnalités seront désactivées dans ces modes, et certaines applications sont susceptibles de ne pas fonctionner. Pour remettre l\'appareil en mode Production, vous devez repasser au mode 4 Ko, puis verrouiller le bootloader de l\'appareil. Appuyez ici pour en savoir plus."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Vous utilisez le mode 16 Ko du mode agnostique de page mémoire. L\'intégrité du logiciel ne peut pas être garantie dans ce mode, et toute donnée stockée sur le téléphone alors que le bootloader est déverrouillé peut être exposée à un risque. Certaines fonctionnalités seront désactivées dans ces modes, et certaines applications sont susceptibles de ne pas fonctionner. Pour remettre l\'appareil en mode Production, vous devez repasser au mode 4 Ko, puis verrouiller le bootloader de l\'appareil. Cela permet de rétablir la configuration d\'usine de l\'appareil à nouveau et d\'en rétablir les paramètres de production. Une fois que l\'appareil a bien démarré sous Android, désactivez le déverrouillage OEM dans les Options pour les développeurs. Si l\'appareil ne parvient pas à démarrer sous Android ou s\'il est instable, flashez de nouveau l\'appareil à l\'aide des dernières images d\'usine disponibles à l\'adresse <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ou utilisez <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> et sélectionnez \"Nettoyer l\'appareil\", \"Verrouiller le bootloader\", puis \"Forcer le flash de l\'ensemble des partitions\"."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Mode agnostique de page mémoire 16 kB"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Lire la suite"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Gestionnaire de rapport de bug"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Utiliser l\'épinglage d\'application"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Utiliser les options pour les développeurs"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Utiliser le service d\'impression"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Autoriser plusieurs utilisateurs"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"autoriser, plusieurs, utilisateur, permettre, beaucoup"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"multiples, utilisateurs, profils, personnes, comptes, transfert, nombreux"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Utiliser le débogage sans fil"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Choisissez le contenu à afficher à l\'écran quand la tablette est sur la station d\'accueil. Votre appareil peut consommer plus d\'énergie quand un économiseur d\'écran est utilisé."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Personnaliser"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Personnaliser <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Un redémarrage est nécessaire pour activer la prise en charge du format libre."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Un redémarrage est nécessaire pour forcer le mode bureau sur les écrans secondaires."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Un redémarrage est nécessaire pour activer la prise en charge de l\'ancienne fonctionnalité de fenêtrage de forme libre."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Un redémarrage est nécessaire pour modifier la prise en charge du fenêtrage de forme libre."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Un redémarrage est nécessaire pour forcer le fenêtrage de forme libre sur les écrans secondaires."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Redémarrer maintenant"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Redémarrer plus tard"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Son spatial"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Écouter le flux"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Scanner le code QR d\'un flux audio pour l\'écouter avec <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Impossible de modifier le mot de passe lors du partage. Pour modifier le mot de passe, il faut d\'abord désactiver le partage audio."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-gl/arrays.xml b/res/values-gl/arrays.xml
index aeb4b7a..ab0cc39 100644
--- a/res/values-gl/arrays.xml
+++ b/res/values-gl/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Hora de durmir"</item>
+ <item msgid="4152450357280759894">"Condución"</item>
+ <item msgid="7096549258219399423">"Envolvente"</item>
+ <item msgid="2760716776980432977">"Xestionado"</item>
+ <item msgid="601734478369121764">"Estrela"</item>
+ <item msgid="6243809315432780521">"Calendario"</item>
+ <item msgid="4913577903148415331">"Hora"</item>
+ <item msgid="3653377604690057780">"Cine"</item>
+ <item msgid="3843711267408385410">"Flor"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 458f678..10efa5f 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Configuración dos dispositivos auditivos"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Atallo, compatibilidade con audiófonos"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Configuración predeterminada"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"O audiólogo non fixo ningunha configuración predeterminada"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Non se puido actualizar a configuración predeterminada"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Saída de audio"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Acerca da saída de audio"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Engadíronse o recoñecemento facial e o dispositivo (<xliff:g id="WATCH">%s</xliff:g>)"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Engadíronse o recoñecemento facial, a impresión dixital e o dispositivo (<xliff:g id="WATCH">%s</xliff:g>)"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Engadíronse o recoñecemento facial, as impresións dixitais e o dispositivo (<xliff:g id="WATCH">%s</xliff:g>)"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Esta acción é necesaria porque está activada a comprobación de identidade"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Desbloqueo de Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Engadiuse o reloxo"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Configurar o teu reloxo"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Máis información sobre a función Desbloqueo mediante reloxo"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Engadir reloxo"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Quitar reloxo"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Impresión dixital e desbloqueo facial"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Desbloqueo facial e dactilar"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Desbloqueo dactilar e facial para o traballo"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Cómpre realizar o proceso de configuración"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Engadíronse a cara e as impresións dixitais"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Instala aplicacións"</b>\n"Instala as aplicacións que queiras manter no teu espazo privado"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Importante"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"As aplicacións desactívanse ao bloquear o espazo privado"</b>\n"Cando bloqueas o espazo, as aplicacións que están nel detéñense, polo que non che enviarán notificacións"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Os espazos privados non son axeitados para as aplicacións que deben executarse en segundo plano ou enviar notificacións esenciais, como as aplicacións médicas. A razón é que se deteñen as notificacións e a actividade en segundo plano cando bloqueas o espazo.\n\nUnha vez bloqueado, as aplicacións do espazo privado non aparecerán no xestor de permisos, no panel de privacidade nin noutras opcións de configuración.\n\nEste espazo non se pode mover a outro dispositivo. Terás que configurar un novo espazo privado se queres usalo noutro aparello.\n\nCalquera usuario que instale aplicacións daniñas no teu dispositivo ou o conecte a un ordenador poderá acceder ao teu espazo privado."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Os espazos privados non son axeitados para as aplicacións que deben executarse en segundo plano ou enviar notificacións esenciais, como as aplicacións médicas. A razón é que se deteñen as notificacións e a actividade en segundo plano cando bloqueas o espazo.\n\nUnha vez bloqueado, as aplicacións do espazo privado non aparecerán no xestor de permisos, no panel de privacidade nin noutras opcións de configuración\n\nEste espazo non se pode restaurar noutro dispositivo. Terás que configurar un novo se queres usalo noutro aparello.\n\nCalquera usuario que instale aplicacións maliciosas no teu dispositivo ou o conecte a un ordenador podería acceder ao teu espazo privado."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Máis información sobre o espazo privado"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Esta acción tardará uns intres"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Configurando espazo privado…"</string>
@@ -851,7 +851,37 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Queres reiniciar o dispositivo?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"O rexistro detallado de NFC só se utiliza para fins de programación. Os datos de NFC adicionais inclúense nos informes de erros, que poden conter información privada. Reinicia o dispositivo para cambiar esta opción de configuración."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Reiniciar"</string>
- <string name="wifi_display_settings_title" msgid="6451625615274960175">"Emisión"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
+ <string name="wifi_display_settings_title" msgid="6451625615274960175">"Emitir"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"proxección"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Activar visualización sen fíos"</string>
<string name="wifi_display_no_devices_found" msgid="7904877793677102805">"Non hai dispositivos cerca."</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Automáticas"</string>
<string name="brightness" msgid="6216871641021779698">"Nivel de brillo"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Brillo intelixente"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Acerca do brillo intelixente"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"O brillo da pantalla axustarase automaticamente segundo o ambiente e as actividades que leves a cabo. Podes mover o control desprazable de forma manual para que o brillo intelixente recoñeza as túas preferencias."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Activado"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Desactivado"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Opcións"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Accesibilidade"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Teclado físico"</string>
- <string name="show_ime" msgid="4334255501724746849">"Utilizar teclado en pantalla"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Móstrase na pantalla mentres o teclado físico estea activo"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Teclas de rebote"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"O teclado ignora as pulsacións repetidas rapidamente da mesma tecla nun intervalo de <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Selección do usuario: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Voz"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Velocidade do punteiro"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Mando do xogo"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Redirixir vibración"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Envía vibración ao mando de xogos se está conectado"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continuar igualmente"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancelar"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Configuración da ampliación"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Desprazamento cun dedo"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Mover a lupa cun dedo"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Arrastra un dedo para moverte pola pantalla"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Arrastra un dedo para mover a área de ampliación."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Arrastra dous dedos para mover a área de ampliación."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Non dispoñible cando só se amplíe unha parte da pantalla"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Toca un botón para achegar o zoom"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Se queres ampliar o contido, achégao rapidamente na pantalla usando o zoom"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Se queres achegar o contido usando o zoom, sigue estes pasos:</b><br/> {0,number,integer}. Utiliza o atallo cando queiras iniciar a ampliación<br/> {1,number,integer}. Toca a pantalla<br/> {2,number,integer}. Para moverte pola pantalla, arrastra dous dedos<br/> {3,number,integer}. Cando queiras axustar o zoom, belisca a pantalla con dous dedos<br/> {4,number,integer}. Utiliza o atallo para deter a ampliación<br/><br/> <b>Para achegar o contido temporalmente usando o zoom, sigue estes pasos:</b><br/> {0,number,integer}. Asegúrate de que o tipo de ampliación estea configurado a pantalla completa<br/> {1,number,integer}. Utiliza o atallo cando queiras iniciar a ampliación<br/> {2,number,integer}. Mantén premido calquera punto da pantalla<br/> {3,number,integer}. Para moverte pola pantalla, arrastra o dedo<br/> {4,number,integer}. Levanta o dedo para deter a ampliación"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Se queres achegar o contido usando o zoom, sigue estes pasos:</b><br/> {0,number,integer}. Utiliza o atallo cando queiras iniciar a ampliación<br/> {1,number,integer}. Toca a pantalla<br/> {2,number,integer}. Para moverte pola pantalla, arrastra dous dedos<br/> {3,number,integer}. Cando queiras axustar o zoom, belisca a pantalla con dous dedos<br/> {4,number,integer}. Usa o atallo para deter a ampliación<br/><br/> Tamén podes achegar a imaxe temporalmente, entre outras cousas."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Se queres achegar o contido usando o zoom, sigue estes pasos:</b><br/> {0,number,integer}. Utiliza o atallo cando queiras iniciar a ampliación<br/> {1,number,integer}. Toca a pantalla<br/> {2,number,integer}. Para moverte pola pantalla, arrastra un ou dous dedos<br/> {3,number,integer}. Cando queiras axustar o zoom, belisca a pantalla con dous dedos<br/> {4,number,integer}. Usa o atallo para deter a ampliación<br/><br/> Tamén podes achegar a imaxe temporalmente, entre outras cousas."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Ao activar a ampliación, podes achegar o contido da pantalla.\n\n"<b>"Para utilizar o zoom"</b>", inicia a ampliación e toca calquera parte da pantalla.\n"<ul><li>"Arrastra 2 ou máis dedos para desprazarte."</li>\n<li>"Belisca con 2 ou máis dedos para axustar o zoom."</li></ul>\n\n<b>"Para utilizar o zoom de forma temporal"</b>", inicia a ampliación e mantén premida calquera parte da pantalla.\n"<ul><li>"Arrastra o dedo para moverte pola pantalla."</li>\n<li>"Levanta o dedo para afastar a imaxe ou o texto."</li></ul>\n\n"Ten en conta que non se pode ampliar o teclado nin a barra de navegación."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Páxina <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> de <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Atallo do botón Accesibilidade"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Só se reciben notificacións de aplicacións e persoas importantes"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Seleccionar tipo de activación"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Hora"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Por exemplo: \"9:30-17:00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Calendario"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Por exemplo: \"calendario persoal\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Crear un modo"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Personalizado"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitar as interrupcións"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activar modo Non molestar"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"As alarmas e os sons multimedia poden interromper o modo Non molestar"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Planificacións"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Eliminar planificacións"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Eliminar"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Editar"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Planificacións"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Planificación"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Engadir un calendario"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Usar o teu calendario"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Programar"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Definir un horario"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Programar"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h e <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Activar automaticamente"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Planificación"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Silencia o teléfono en horas concretas"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Definir normas de Non molestar"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Permitir interrupcións que emitan son"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Bloquear ruído visual"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Permitir sinais visuais"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Notificacións que podes recibir"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Non te distraias"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Accións adicionais"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Configuración de visualización"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Opcións de visualización"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"activar tema escuro"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Cambia o sistema operativo e as aplicacións para daren preferencia a un texto claro sobre un fondo escuro, que é unha opción que pode ser máis agradable para a vista, ademais de supoñer un aforro de batería significativo nalgúns dispositivos"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Non hai ningún cambio na visualización}=1{{effect_1}}=2{{effect_1} e {effect_2}}=3{{effect_1}, {effect_2} e {effect_3}}other{{effect_1}, {effect_2} e # máis}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filtrar interrupcións"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Non hai ningunha interrupción filtrada"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opcións de visualización das notificacións filtradas"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Cando está activado o modo Non molestar"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Notificacións sen son"</string>
@@ -3486,6 +3541,8 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"abre a notificación"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Permitir adiar notificacións"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Punto de notificacións nas iconas"</string>
+ <!-- no translation found for notification_bundles (3614044525822580826) -->
+ <skip />
<string name="notification_bubbles_title" msgid="5681506665322329301">"Burbullas"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Burbullas"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Mostrar esta conversa nunha burbulla"</string>
@@ -3667,6 +3724,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Categorías"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Outros"</string>
<string name="no_channels" msgid="4716199078612071915">"Esta aplicación non emitiu notificacións"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Mostrar categorías sen usar"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Configuración adicional da aplicación"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Mostrar categorías sen usar"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Ocultar categorías sen usar"</string>
@@ -3778,6 +3836,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Todas"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permitir que as aplicacións ignoren o modo Non molestar"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplicacións que poden interromper"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Selecciona máis aplicacións"</string>
@@ -3814,12 +3874,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Cambia durante 1 hora (ata esta hora: {time}) ao modo Só alarmas}other{Cambia durante # horas (ata esta hora: {time}) ao modo Só alarmas}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Cambiar ao modo Só alarmas ata as <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Cambia a interromper sempre"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Cambiar nome"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Cambiar icona"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Cambiar a icona"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Advertencia"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Pechar"</string>
<string name="device_feedback" msgid="5351614458411688608">"Enviar comentarios do dispositivo"</string>
@@ -4290,7 +4347,7 @@
<string name="system_navigation_title" msgid="4890381153527184636">"Modo de navegación"</string>
<string name="swipe_up_to_switch_apps_title" msgid="6677266952021118342">"Navegación con 2 botóns"</string>
<string name="swipe_up_to_switch_apps_summary" msgid="1415457307836359560">"Para cambiar de aplicación, pasa o dedo cara arriba no botón Inicio. Para ver todas as aplicacións pasa o dedo cara arriba de novo. Para volver á pantalla anterior, toca o botón Atrás."</string>
- <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Seguranza e emerxencia"</string>
+ <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Seguranza persoal e emerxencia"</string>
<string name="emergency_dashboard_summary" msgid="401033951074039302">"Emerxencia SOS, información médica, alertas"</string>
<string name="edge_to_edge_navigation_title" msgid="714427081306043819">"Navegación con xestos"</string>
<string name="edge_to_edge_navigation_summary" msgid="818109176611921504">"Para ir ao inicio, pasa o dedo cara arriba desde a parte inferior da pantalla. Para cambiar de aplicación, pasa o dedo cara arriba desde a parte inferior da pantalla, mantena premida e sóltaa. Para volver á pantalla anterior, pasa o dedo desde o bordo esquerdo ou dereito."</string>
@@ -4805,8 +4862,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Carcasa"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batería"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Panel de configuración"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Forzar modo de escritorio"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Forza o modo de escritorio experimental en pantallas secundarias"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Activar ventás de forma libre"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Activa a compatibilidade coas ventás de forma libre."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Activar ventás forma libre na pantalla secundaria"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Activa as ventás de forma libre só na pantalla secundaria."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Activar aplicacións sen axuste de tamaño no modo multiventá"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Permite utilizar as aplicacións sen axuste de tamaño no modo multiventá"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Ignorar Forzar modo escuro"</string>
@@ -4874,14 +4933,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Esta partición de datos do dispositivo debe converterse a ext4 antes de utilizar a opción de programador de 16 kB. A integridade do software non se pode garantir neste modo, e os datos almacenados no teléfono mentres está desbloqueado o cargador de arranque poden correr perigo. Para activar a opción de 16 kB será necesario reiniciar o dispositivo unha vez máis. Unha vez que esteas neste modo, poderás alternar entre o modo de 4 kB e 16 kB só cun reinicio. Desactivaranse algunhas funcións nestes modos, polo que pode que non funcionen algunhas aplicacións. Para facer que o dispositivo retorne ao modo de produción, terás que volver ao modo de 4 kB e bloquear o cargador de arranque, o que restablecerá a configuración de fábrica do dispositivo. Despois de que o dispositivo se inicie correctamente en Android, desactiva o desbloqueo do fabricante do equipo orixinal en Opcións de programador. Tras a confirmación, borraranse os datos do dispositivo e cambiarase o sistema de ficheiros a ext4. Unha vez completada esta operación, volve para activar de novo o modo de 16 kB."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Borrar todos os datos"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Produciuse un erro ao borrar a partición de datos e cambiar o formato a ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"É necesario desbloquear o cargador de arranque para usar o modo de 16 kB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Cómpre desbloquear o cargador de arranque"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Cómpre desbloquear o cargador de arranque deste dispositivo antes de utilizar a opción de programador de 16 kB. A integridade do software non se pode garantir neste modo, e os datos almacenados no teléfono mentres está desbloqueado o cargador de arranque poden correr perigo. Borraranse todos os datos e opcións de configuración do usuario cando se active o modo de 16 kB. Despois de desbloquear o cargador de arranque, haberá que reiniciar o dispositivo dúas veces para activar a opción de 16 kB. Unha vez que esteas neste modo, poderás alternar entre o modo de 4 kB e 16 kB só cun reinicio. Desactivaranse algunhas funcións nestes modos, polo que pode que non funcionen algunhas aplicacións. Para facer que o dispositivo retorne ao modo de produción, terás que volver ao modo de 4 kB e bloquear o cargador de arranque ou o fabricante do equipo orixinal, o que restablecerá a configuración de fábrica do dispositivo. Desbloquea o cargador de arranque e téntao de novo. Podes consultar as instrucións deste proceso en <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Estase usando o modo independente de páxina de 4 kB"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Estás usando o modo independente de páxina de 4 kB. A integridade do software non se pode garantir neste modo, e os datos almacenados no teléfono mentres está desbloqueado o cargador de arranque poden correr perigo. Desactivaranse algunhas funcións nestes modos, polo que pode que non funcionen algunhas aplicacións. Para facer que retorne ao modo de produción, terás que bloquear o cargador de arranque do dispositivo. Toca para obter máis información."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Estás usando o modo independente de páxina de 4 kB. A integridade do software non se pode garantir neste modo, e os datos almacenados no teléfono mentres está desbloqueado o cargador de arranque poden correr perigo. Desactivaranse algunhas funcións nestes modos, polo que pode que non funcionen algunhas aplicacións. Para facer que retorne ao modo de produción, terás que bloquear o cargador de arranque do dispositivo. Esta acción restablecerá de novo a configuración de fábrica do dispositivo e restaurará a súa configuración de produción. Despois de que o dispositivo se inicie correctamente en Android, desactiva o desbloqueo do fabricante do equipo orixinal en Opcións de programador. Se o dispositivo non arranca en Android ou é inestable, volve instalar as últimas imaxes de fábrica desde <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ou usa <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> e selecciona as opcións de borrar datos do dispositivo, bloquear o cargador de arranque e forzar a instalación de todas as particións."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Estase usando o modo independente de páxina de 16 kB"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Estás na opción de 16 kB do modo independente de páxina. A integridade do software non se pode garantir neste modo, e os datos almacenados no teléfono mentres está desbloqueado o cargador de arranque poden correr perigo. Desactivaranse algunhas funcións nestes modos, polo que pode que non funcionen algunhas aplicacións. Para facer que retorne ao modo de produción, terás que volver ao modo de 4 kB e bloquear o cargador de arranque do dispositivo. Toca para obter máis información."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Estás na opción de 16 kB do modo independente de páxina. A integridade do software non se pode garantir neste modo, e os datos almacenados no teléfono mentres está desbloqueado o cargador de arranque poden correr perigo. Desactivaranse algunhas funcións nestes modos, polo que pode que non funcionen algunhas aplicacións. Para facer que retorne ao modo de produción, terás que volver ao modo de 4 kB e bloquear o cargador de arranque do dispositivo. Esta acción restablecerá de novo a configuración de fábrica do dispositivo e restaurará a súa configuración de produción. Despois de que o dispositivo se inicie correctamente en Android, desactiva o desbloqueo do fabricante do equipo orixinal en Opcións de programador. Se o dispositivo non arranca en Android ou é inestable, volve instalar as últimas imaxes de fábrica desde <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ou usa <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> e selecciona as opcións de borrar datos do dispositivo, bloquear o cargador de arranque e forzar a instalación de todas as particións."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Estás na opción de 16 kB do modo independente de páxina. A integridade do software non se pode garantir neste modo, e os datos almacenados no teléfono mentres está desbloqueado o cargador de arranque poden correr perigo. Desactivaranse algunhas funcións nestes modos, polo que pode que non funcionen algunhas aplicacións. Para facer que retorne ao modo de produción, terás que volver ao modo de 4 kB e bloquear o cargador de arranque do dispositivo. Toca para obter máis información."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Estás na opción de 16 kB do modo independente de páxina. A integridade do software non se pode garantir neste modo, e os datos almacenados no teléfono mentres está desbloqueado o cargador de arranque poden correr perigo. Desactivaranse algunhas funcións nestes modos, polo que pode que non funcionen algunhas aplicacións. Para facer que retorne ao modo de produción, terás que volver ao modo de 4 kB e bloquear o cargador de arranque do dispositivo. Esta acción restablecerá de novo a configuración de fábrica do dispositivo e restaurará a súa configuración de produción. Despois de que o dispositivo se inicie correctamente en Android, desactiva o desbloqueo do fabricante do equipo orixinal en Opcións de programador. Se o dispositivo non arranca en Android ou é inestable, volve instalar as últimas imaxes de fábrica desde <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ou usa <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> e selecciona as opcións de borrar datos do dispositivo, bloquear o cargador de arranque e forzar a instalación de todas as particións."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Modo independente de páxina de 16 kB"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Ler máis"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Controlador do Informe de erros"</string>
@@ -5013,7 +5072,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Usar fixación de aplicación"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Usar opcións para programadores"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Usar servizo de impresión"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Permitir varios usuarios"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"permitir, varios, usuario, deixar, moitos"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"múltiples, usuarios, perfís, persoas, contas, cambiar, moitos"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Usar depuración sen fíos"</string>
@@ -5127,8 +5187,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Escolle o que aparecerá na pantalla cando a tableta estea na súa base. Pode que o dispositivo utilice máis enerxía se se usa un protector de pantalla."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Personalizar"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Personalizar <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Cómpre reiniciar o dispositivo para activar a compatibilidade coa forma libre."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Cómpre reiniciar o dispositivo para forzar o modo de escritorio nas pantallas secundarias."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Cómpre reiniciar o dispositivo para activar a compatibilidade coas ventás de forma libre antigas."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Cómpre reiniciar o dispositivo para cambiar a compatibilidade coas ventás de forma libre."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Cómpre reiniciar o dispositivo para forzar o uso de ventás de forma libre nas pantallas secundarias."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reiniciar agora"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reiniciar máis adiante"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Audio espacial"</string>
@@ -5357,4 +5418,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Escoitar emisión"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Escanea o código QR dunha emisión de audio para escoitala con <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Non se pode modificar o contrasinal mentres se comparte audio. Para facelo, primeiro desactiva o audio compartido."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-gu/arrays.xml b/res/values-gu/arrays.xml
index 578a40e..0219890 100644
--- a/res/values-gu/arrays.xml
+++ b/res/values-gu/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"બેડટાઇમ"</item>
+ <item msgid="4152450357280759894">"ડ્રાઇવિંગ"</item>
+ <item msgid="7096549258219399423">"ઇમર્સિવ"</item>
+ <item msgid="2760716776980432977">"મેનેજ કરેલી"</item>
+ <item msgid="601734478369121764">"સ્ટાર"</item>
+ <item msgid="6243809315432780521">"કૅલેન્ડર"</item>
+ <item msgid="4913577903148415331">"સમય"</item>
+ <item msgid="3653377604690057780">"થિયેટર"</item>
+ <item msgid="3843711267408385410">"ફૂલ"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 6b58962..5ea12a2 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"સાંભળવામાં મદદ આપતા ડિવાઇસ સંબંધી સેટિંગ"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"શૉર્ટકટ, શ્રવણ યંત્રની સુસંગતતા"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"પ્રીસેટ"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"તમારા ઑડિયોલોજિસ્ટ દ્વારા પ્રોગ્રામ કરેલા કોઈ પ્રીસેટ નથી"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"પ્રીસેટ અપડેટ કરી શક્યા નથી"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ઑડિયો આઉટપુટ"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ઑડિયો આઉટપુટ વિશે"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"ફેસ અને <xliff:g id="WATCH">%s</xliff:g> ઉમેર્યા"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"ફેસ, ફિંગરપ્રિન્ટ અને <xliff:g id="WATCH">%s</xliff:g> ઉમેર્યા"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"ફેસ, ફિંગરપ્રિન્ટ અને <xliff:g id="WATCH">%s</xliff:g> ઉમેર્યા"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"ઓળખની તપાસ ચાલુ હોવાથી આમ કરવું જરૂરી છે"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator અનલૉક"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"વૉચ ઉમેરી"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"તમારી વૉચનું સેટઅપ કરો"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"વૉચ અનલૉક સુવિધા વિશે વધુ જાણો"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"વૉચ ઉમેરો"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"વૉચ કાઢી નાખો"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ફિંગરપ્રિન્ટ અને ફેસ અનલૉક"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ફેસ અનલૉક અને ફિંગરપ્રિન્ટ અનલૉક સુવિધા"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"ઑફિસની પ્રોફાઇલ માટે ફેસ અને ફિંગરપ્રિન્ટ અનલૉકની સુવિધા"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"સેટઅપ જરૂરી છે"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"ચહેરાનું મૉડલ અને એકથી વધુ ફિંગરપ્રિન્ટ ઉમેરી"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"ઍપ ઇન્સ્ટૉલ કરો"</b>\n"તમે તમારી સ્પેસમાં ખાનગી રાખવા માગતા હો, તે ઍપ ઇન્સ્ટૉલ કરો"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"ધ્યાનમાં રાખો"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"જ્યારે તમે તમારી સ્પેસ લૉક કરશો, ત્યારે ઍપ બંધ થઈ જશે"</b>\n"જ્યારે તમે તમારી સ્પેસ લૉક કરશો, ત્યારે તમારી સ્પેસમાંની ઍપ બંધ થઈ જશે અને તમને તેમના તરફથી કોઈ નોટિફિકેશન મળશે નહીં"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"ખાનગી સ્પેસ એવી ઍપ માટે યોગ્ય નથી કે જેને બૅકગ્રાઉન્ડમાં ચલાવવાની જરૂર પડે અથવા મેડિકલ ઍપ જેવા મહત્ત્વપૂર્ણ નોટિફિકેશન મોકલવાની જરૂર પડે. આનું કારણ એ છે કે જ્યારે તમારી સ્પેસ લૉક કરેલી હોય ત્યારે નોટિફિકેશન અને બૅકગ્રાઉન્ડ ઍક્ટિવિટી બંધ હોય છે.\n\nજ્યારે તમારી ખાનગી સ્પેસ લૉક કરેલી હોય ત્યારે તમારી ખાનગી સ્પેસમાંની ઍપ પરવાનગી મેનેજર, પ્રાઇવસી ડૅશબોર્ડ અને અન્ય સેટિંગમાં દેખાશે નહીં.\n\nતમારી ખાનગી સ્પેસ નવા ડિવાઇસ પર ખસેડી શકાશે નહીં. અન્ય કોઈ ડિવાઇસમાં ઉપયોગ કરવા માટે તમારે અન્ય કોઈ ખાનગી સ્પેસ સેટઅપ કરવી પડશે.\n\nજો કોઈ વ્યક્તિ તમારા ડિવાઇસને કોઈ કમ્પ્યૂટર સાથે જોડે કે તમારા ડિવાઇસ પર નુકસાનકારક ઍપ ઇન્સ્ટૉલ કરે, તો તેઓ તમારી ખાનગી સ્પેસને ઍક્સેસ કરી શકે એમ બને."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"ખાનગી સ્પેસ એવી ઍપ માટે યોગ્ય નથી કે જેને બૅકગ્રાઉન્ડમાં ચલાવવાની જરૂર પડે અથવા મેડિકલ ઍપ જેવા મહત્ત્વપૂર્ણ નોટિફિકેશન મોકલવાની જરૂર પડે. આનું કારણ એ છે કે જ્યારે તમારી સ્પેસ લૉક કરેલી હોય ત્યારે નોટિફિકેશન અને બૅકગ્રાઉન્ડ ઍક્ટિવિટી બંધ હોય છે.\n\nજ્યારે ખાનગી સ્પેસ લૉક કરેલી હોય ત્યારે તમારી ખાનગી સ્પેસમાંની ઍપ પરવાનગી મેનેજર, પ્રાઇવસી ડૅશબોર્ડ અને અન્ય સેટિંગમાં દેખાશે નહીં.\n\nતમારી ખાનગી સ્પેસ નવા ડિવાઇસ પર રિસ્ટોર કરી શકાશે નહીં. જો તમે કોઈ બીજા ડિવાઇસ પર તેનો ઉપયોગ કરવા માગતા હો, તો તમારે કોઈ બીજી સ્પેસનું સેટઅપ કરવું જરૂરી રહેશે.\n\nતમારા ડિવાઇસને કોઈ કમ્પ્યૂટર સાથે કનેક્ટ કરનાર કે તમારા ડિવાઇસ પર દુર્ભાવનાપૂર્ણ ઍપ ઇન્સ્ટૉલ કરનાર કોઈપણ વ્યક્તિ તમારી ખાનગી સ્પેસને ઍક્સેસ કરી શકે છે."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"ખાનગી સ્પેસ વિશે વધુ જાણો"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"આમાં થોડો સમય લાગશે"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"ખાનગી સ્પેસનું સેટઅપ કરી રહ્યાં છીએ…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"શું ડિવાઇસને ફરી શરૂ કરીએ?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"NFCનું વિગતવાર લૉગ ઇન માત્ર ડેવલપમેન્ટના હેતુઓ માટે છે. બગ રિપોર્ટમાં વધારાનો NFC ડેટા શામેલ છે, જેમાં ખાનગી માહિતી હોઈ શકે છે. આ સેટિંગમાં ફેરફાર કરવા માટે, તમારા ડિવાઇસને ફરી શરૂ કરો."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"ફરી શરૂ કરો"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"કાસ્ટ કરો"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"મીરર"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"વાયરલેસ ડિસ્પ્લે સક્ષમ કરો"</string>
@@ -1192,7 +1222,8 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"અડૅપ્ટિવ"</string>
<string name="brightness" msgid="6216871641021779698">"સ્ક્રીનની બ્રાઇટનેસનું લેવલ"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"અડૅપ્ટિવ બ્રાઇટનેસ"</string>
- <string name="auto_brightness_description" msgid="6807117118142381193">"તમારી સ્ક્રીનની બ્રાઇટનેસ તમારા પર્યાવરણ અને પ્રવૃત્તિઓ સાથે ઑટોમૅટિક રીતે ઓછું-વધતું થઈને ગોઠવાશે. તમે સ્લાઇડર મેન્યુઅલી ખસેડીને અડૅપ્ટિવ બ્રાઇટનેસને તમારી પસંદગીઓ જાણવામાં સહાય કરી શકો છો."</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"અડૅપ્ટિવ બ્રાઇટનેસ વિશે"</string>
+ <string name="auto_brightness_description" msgid="6807117118142381193">"તમારી સ્ક્રીનની બ્રાઇટનેસ તમારા પર્યાવરણ અને ઍક્ટિવિટી સાથે ઑટોમૅટિક રીતે ઓછું-વધતું થઈને ગોઠવાશે. તમે સ્લાઇડર મેન્યુઅલી ખસેડીને અડૅપ્ટિવ બ્રાઇટનેસને તમારી પસંદગીઓ જાણવામાં સહાય કરી શકો છો."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"ચાલુ કરો"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"બંધ"</string>
<string name="display_white_balance_title" msgid="2624544323029364713">"વ્હાઇટ બૅલેન્સ ડિસ્પ્લે"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"વિકલ્પો"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"ઍક્સેસિબિલિટી"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"ભૌતિક કીબોર્ડ"</string>
- <string name="show_ime" msgid="4334255501724746849">"ઑન-સ્ક્રીન કીબોર્ડનો ઉપયોગ કરો"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"જ્યારે ભૌતિક કીબોર્ડ સક્રિય હોય ત્યારે તેને સ્ક્રીન પર રાખો"</string>
<string name="bounce_keys" msgid="7419450970351743904">"બાઉન્સ કી"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> msની અંદર એક જ કીને વારંવાર ઝડપથી દબાવવાની પ્રક્રિયાની કીબોર્ડ અવગણના કરે છે"</string>
<string name="slow_keys" msgid="2891452895499690837">"ધીમી કી"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"વપરાશકર્તા દ્વારા પસંદ કરેલો: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"સ્પીચ"</string>
<string name="pointer_speed" msgid="7398649279282675718">"પૉઇન્ટરની ગતિ"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"રમત નિયંત્રક"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"વાઇબ્રેશનને રીડાયરેક્ટ કરો"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"કનેક્ટેડ હોય ત્યારે ગેમ નિયંત્રક પર વાઇબ્રેશનને મોકલો"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"તેમ છતાં ચાલુ રાખો"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"રદ કરો"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"સ્ક્રીન મોટી કરવાનું સેટિંગ"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"એક આંગળી વડે પૅન કરવાની સુવિધા"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"નાનામોટા કરવાના ભાગને 1 આંગળીથી ખસેડો"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"સ્ક્રીન પર અહીંતહીં જવા 1 આંગળીથી ખેંચો"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"એક આંગળી ખેંચીને મોટું કરવાનો વિસ્તાર ખસેડો."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"બે આંગળી ખેંચીને મોટું કરવાનો વિસ્તાર ખસેડો."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"માત્ર સ્ક્રીનના ભાગને મોટો કરતી વખતે અનુપલબ્ધ"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ઝૂમ કરવા માટે બટન ટૅપ કરો"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"કન્ટેન્ટને મોટું કરવા માટે સ્ક્રીનને ઝડપથી મોટી કરો"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>મોટું કરવા માટે:</b><br/> {0,number,integer}. મોટું કરવાનું શરૂ કરવા માટેના શૉર્ટકટનો ઉપયોગ કરો<br/> {1,number,integer}. સ્ક્રીન પર ટૅપ કરો<br/> {2,number,integer}. સ્ક્રીન પર કોઈપણ જગ્યાએ જવા માટે 2 આંગળી ખેંચો<br/> {3,number,integer}. નાનું-મોટું કરવાનું ગોઠવવા માટે 2 આંગળી વડે પિન્ચ કરો<br/> {4,number,integer}. મોટું કરવાનું રોકવા માટેના શૉર્ટકટનો ઉપયોગ કરો<br/><br/> <b>હંગામી રીતે મોટું કરવા માટે:</b><br/> {0,number,integer}. તમારા ડિવાઇસ પર મોટું કરવાના પ્રકારને પૂર્ણ સ્ક્રીન પર સેટ કરવામાં આવ્યો હોય તેની ખાતરી કરો<br/> {1,number,integer}. મોટું કરવાનું શરૂ કરવા માટેના શૉર્ટકટનો ઉપયોગ કરો<br/> {2,number,integer}. સ્ક્રીન પર ગમે-ત્યાં આંગળી ટચ કરીને થોડીવાર દબાવી રાખો<br/> {3,number,integer}. સ્ક્રીન પર કોઈપણ જગ્યાએ જવા માટે આંગળી ખેંચો<br/> {4,number,integer}. મોટું કરવાનું રોકવા માટે આંગળીને ઉઠાવી લો"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>મોટું કરવા માટે:</b><br/> {0,number,integer}. મોટું કરવાનું શરૂ કરવા માટેના શૉર્ટકટનો ઉપયોગ કરો<br/> {1,number,integer}. સ્ક્રીન પર ટૅપ કરો<br/> {2,number,integer}. સ્ક્રીન પર અહીંતહીં જવા 2 આંગળીથી ખેંચો<br/> {3,number,integer}. નાનું-મોટું કરવાનું ગોઠવવા માટે 2 આંગળી વડે પિન્ચ કરો<br/> {4,number,integer}. મોટું કરવાનું બંધ કરવા માટેના શૉર્ટકટનો ઉપયોગ કરો<br/><br/> તમે હંગામી રીતે મોટું કરવાની સાથે બીજું ઘણું કરી શકો છો."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>મોટું કરવા માટે:</b><br/> {0,number,integer}. મોટું કરવાનું શરૂ કરવા માટેના શૉર્ટકટનો ઉપયોગ કરો<br/> {1,number,integer}. સ્ક્રીન પર ટૅપ કરો<br/> {2,number,integer}. સ્ક્રીન પર અહીંતહીં જવા 1 કે 2 આંગળીથી ખેંચો<br/> {3,number,integer}. નાનું-મોટું કરવાનું ગોઠવવા માટે 2 આંગળી વડે પિન્ચ કરો<br/> {4,number,integer}. મોટું કરવાનું બંધ કરવા માટેના શૉર્ટકટનો ઉપયોગ કરો<br/><br/> તમે હંગામી રીતે મોટું કરવાની સાથે બીજું ઘણું કરી શકો છો."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"જ્યારે મેગ્નિફિકેશન ચાલુ હોય, ત્યારે તમે તમારી સ્ક્રીનને મોટી કરી શકો છો.\n\n"<b>"નાનું-મોટું કરવા માટે"</b>", મેગ્નિફિકેશન શરૂ કરો, પછી સ્ક્રીન પર ક્યાંય પણ ટૅપ કરો.\n"<ul><li>"સ્ક્રોલ કરવા માટે 2 કે તેથી વધુ આંગળી વડે ખેંચો"</li>\n<li>"નાનું-મોટું ગોઠવવા માટે 2 કે તેથી વધુ આંગળીથી પિન્ચ કરો"</li></ul>\n\n<b>"અસ્થાયી રૂપે નાનું-મોટું કરવા માટે"</b>", મેગ્નિફિકેશન શરૂ કરો, પછી સ્ક્રીન પર ગમે ત્યાં ટચ કરીને થોડીવાર દબાવી રાખો.\n"<ul><li>"સમગ્ર સ્ક્રીન પર આવવા-જવા માટે તમારી આંગળીને ખેંચો"</li>\n<li>"નાનું કરવા માટે તમારી આંગળીને ઉઠાવી લો"</li></ul>\n\n"તમે કીબોર્ડ અથવા નૅવિગેશન બાર પર મોટું કરી શકતાં નથી."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g>માંથી <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> પેજ"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"ઍક્સેસિબિલિટી બટન શૉર્ટકટ"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"ફક્ત મહત્ત્વપૂર્ણ લોકો અને ઍપ દ્વારા નોટિફિકેશન મેળવો"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"સક્રિય કરવાના મોડનો પ્રકાર પસંદ કરો"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"સમય"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"ઉદા. \"સવારે 9:30 – સાંજે 5:00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"કૅલેન્ડર"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"ઉદા. \"વ્યક્તિગત કૅલેન્ડર\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"કોઈ મોડ બનાવો"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"કસ્ટમ"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"વિક્ષેપો મર્યાદિત કરો"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"ખલેલ પાડશો નહીં ચાલુ કરો"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"અલાર્મ અને મીડિયાના સાઉન્ડ વિક્ષેપ કરી શકે છે"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"શેડ્યૂલ"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"શેડ્યૂલ ડિલીટ કરો"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"ડિલીટ કરો"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"ફેરફાર કરો"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"શેડ્યૂલ"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"શેડ્યૂલ કરો"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"શેડ્યૂલ સેટ કરો"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"શેડ્યૂલ"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> કલાક, <xliff:g id="MINUTES">%2$d</xliff:g> મિનિટ"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"ઑટોમૅટિક રીતે ચાલુ કરો"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"શેડ્યૂલ"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"ચોક્કસ સમયે ફોનના અવાજને મ્યૂટ કરો"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"ખલેલ પાડશો નહીંના નિયમો સેટ કરો"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"અવાજવાળા વિક્ષેપોને મંજૂરી આપો"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"દૃશ્ય વિક્ષેપોને બ્લૉક કરો"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"વિઝ્યુઅલ સંકેતોને મંજૂરી આપો"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"તમારા સુધી પહોંચી શકે તેવા નોટિફિકેશન"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"એકાગ્રચિત્ત રહો"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"અતિરિક્ત ક્રિયાઓ"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"ડિસ્પ્લે સેટિંગ"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"ડિસ્પ્લેનાં વિકલ્પો"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ડાર્ક થીમ ચાલુ કરો"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"OS અને ઍપ સ્વિચ કરો, જેથી ઘેરા બૅકગ્રાઉન્ડ પર લાઇટ ટેક્સ્ટની પસંદગી કરી શકાય, જેનાથી આંખો માટે વધુ સરળતા રહી શકે છે અને અમુક ડિવાઇસ પર બૅટરીની નોંધપાત્ર બચતનો લાભ મળે છે"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ડિસ્પ્લેમાં કોઈ ફેરફાર નથી}=1{{effect_1}}=2{{effect_1} અને {effect_2}}=3{{effect_1}, {effect_2} અને {effect_3}}one{{effect_1}, {effect_2} અને વધુ #}other{{effect_1}, {effect_2} અને વધુ #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"વિક્ષેપને ફિલ્ટર કરો"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"કોઈ વિક્ષેપને ફિલ્ટર કરેલા નથી"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ફિલ્ટર કરેલા નોટિફિકેશન માટેના વિકલ્પો બતાવો"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"જ્યારે ખલેલ પાડશો નહીં મોડ ચાલુ હોય"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"નોટિફિકેશનમાં કોઈ સાઉન્ડ નથી"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"નોટિફિકેશન ખોલો"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"નોટિફિકેશન સ્નૂઝ કરવાની મંજૂરી આપો"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"ઍપ આઇકન પર નોટિફિકેશનનું ચિહ્ન"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"નોટિફિકેશન બંડલ"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"બબલ"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"બબલ"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"આ વાતચીતને બબલ તરીકે બતાવો"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"કૅટેગરી"</string>
<string name="notification_channels_other" msgid="18159805343647908">"અન્ય"</string>
<string name="no_channels" msgid="4716199078612071915">"આ ઍપએ કોઈ નોટિફિકેશન પોસ્ટ કરી નથી"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"બિનવપરાયેલી કૅટેગરી બતાવો"</string>
<string name="app_settings_link" msgid="6725453466705333311">"ઍપમાંના વધારાના સેટિંગ"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"બિનવપરાયેલી કૅટેગરી બતાવો"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"બિનવપરાયેલી કૅટેગરી છુપાવો"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"બધી"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"અૅપને ઓવરરાઇડ કરવાની મંજૂરી આપો"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"વિક્ષેપ ઊભો કરી શકે તેવી ઍપ"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"વધુ ઍપ પસંદ કરો"</string>
@@ -4170,7 +4232,7 @@
<string name="unrestricted_data_saver" msgid="5913547065342097274">"અસીમિત મોબાઇલ ડેટા"</string>
<string name="restrict_background_blocklisted" msgid="2308345280442438232">"બૅકગ્રાઉન્ડ ડેટા બંધ કર્યો છે"</string>
<string name="data_saver_on" msgid="7848893946018448793">"ચાલુ"</string>
- <string name="data_saver_off" msgid="5891210864117269045">"બંધ"</string>
+ <string name="data_saver_off" msgid="5891210864117269045">"બંધ છે"</string>
<string name="data_saver_switch_title" msgid="7111538580123722959">"ડેટા સેવરનો ઉપયોગ કરો"</string>
<string name="unrestricted_app_title" msgid="8531936851059106374">"અસીમિત મોબાઇલ ડેટા વપરાશ"</string>
<string name="unrestricted_app_summary" msgid="8320813971858627624">"જ્યારે ડેટા સેવર ચાલુ હોય ત્યારે અસીમિત મોબાઇલ ડેટાના ઍક્સેસની મંજૂરી આપો"</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"કેસ"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"બૅટરી"</string>
<string name="settings_panel_title" msgid="346363079938069215">"સેટિંગ પૅનલ"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"ફરજિયાત ડેસ્કટૉપ મોડ ચાલુ કરો"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"સેકન્ડરી ડિસ્પ્લે પર ફરજિયાત પ્રયોગાત્મક ડેસ્કટૉપ મોડ ચાલુ કરો"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"ફ્રીફોર્મ વિન્ડો ચાલુ કરો"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"ફ્રીફોર્મ વિન્ડો માટે સપોર્ટ મેળવવાની સુવિધા ચાલુ કરો."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"બીજા ડિસ્પ્લે પર ફ્રીફોર્મ વિન્ડો ચાલુ કરો"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"માત્ર સેકન્ડરી ડિસ્પ્લે પર ફ્રીફોર્મ વિન્ડો ચાલુ કરો."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"એકથી વધુ વિન્ડોમાં ફરીથી કદ ન બદલી શકવાનો વિકલ્પ ચાલુ કરો"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"ફરીથી કદ ન બદલી શકે તેવી ઍપને એકથી વધુ વિન્ડોમાં દેખાવાની મંજૂરી આપે છે"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"ફરજિયાત ઘેરા મોડની સુવિધાને ઓવરરાઇડ કરો"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"ડેવલપરના 16KB વિકલ્પનો ઉપયોગ કરતા પહેલાં આ ડિવાઇસના ડેટા પાર્ટીશનને ext4માં રૂપાંતરિત કરવાની જરૂર છે. આ મોડમાં સૉફ્ટવેરની સંપૂર્ણતાની ગૅરંટી આપી શકાતી નથી, અને જ્યારે બૂટલોડર અનલૉક કરેલું હોય ત્યારે ફોન પર સ્ટોર કરેલો કોઈપણ ડેટા જોખમમાં હોઈ શકે છે. 16KB વિકલ્પને સક્રિય કરવાથી આ પછી વધુ એક વખત રીબૂટ કરવાની જરૂર પડશે. એકવાર તમે આ મોડમાં આવી ગયા પછી, એક જ વખત રીબૂટ કરીને તમે 4KB અને 16KB મોડ વચ્ચે આગળ અને પાછળ સ્વિચ કરી શકો છો. આ મોડમાં અમુક સુવિધાઓ બંધ કરવામાં આવશે, તેથી અમુક ઍપ્લિકેશન કામ કરશે નહીં. ડિવાઇસને પ્રોડક્શન મોડમાં પાછું લાવવા માટે, તમારે 4KB મોડ પર પાછા સ્વિચ કરવાની અને પછી બૂટલોડરને લૉક કરવાની જરૂર પડશે, જે ડિવાઇસને ફેક્ટરી રીસેટ કરે છે. ડિવાઇસ સફળતાપૂર્વક Androidમાં બૂટ થાય તે પછી, ડેવલપરના વિકલ્પોમાં OEM અનલૉક કરવાની સુવિધાને ચાલુ કરો. ડિવાઇસને વાઇપ કરવામાં આવશે અને કન્ફર્મેશન પછી ફાઇલસિસ્ટમને ext4માં બદલવામાં આવશે. આ પૂર્ણ થયા પછી, 16KB ફરીથી ચાલુ કરવા માટે કૃપા કરીને પાછા આવો."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"બધો ડેટા કાઢી નાખો"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"ડેટા પાર્ટિશનને ext4 પર ફરીથી ફૉર્મેટ અને વાઇપ કરી શક્યા નહીં."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16KB મોડ માટે બૂટલોડરને અનલૉક કરવાની જરૂર છે"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"બૂટલોડર અનલૉક કરવું આવશ્યક છે"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"ડેવલપરના 16KB વિકલ્પનો ઉપયોગ કરતા પહેલાં આ ડિવાઇસ દ્વારા બૂટલોડરને અનલૉક કરવાની જરૂર છે. આ મોડમાં સૉફ્ટવેરની સંપૂર્ણતાની ગૅરંટી આપી શકાતી નથી, અને જ્યારે બૂટલોડર અનલૉક કરેલું હોય ત્યારે ફોન પર સ્ટોર કરેલો કોઈપણ ડેટા જોખમમાં હોઈ શકે છે. 16KB મોડ સક્રિય કરતી વખતે વપરાશકર્તાનો તમામ ડેટા અને સેટિંગ વાઇપ થઈ જશે. એકવાર બૂટલોડર અનલૉક કરવામાં આવે, પછી 16KB વિકલ્પને સક્રિય કરવા માટે બે વખત રીબૂટ કરવાની જરૂર પડશે. એકવાર તમે આ મોડમાં આવી ગયા પછી, એક જ વખત રીબૂટ કરીને તમે 4KB અને 16KB મોડ વચ્ચે આગળ અને પાછળ સ્વિચ કરી શકો છો. આ મોડમાં અમુક સુવિધાઓ બંધ કરવામાં આવશે, તેથી અમુક ઍપ્લિકેશન કામ કરશે નહીં. ડિવાઇસને પ્રોડક્શન મોડમાં પાછું લાવવા માટે, તમારે 4KB મોડ પર પાછા સ્વિચ કરવાની જરૂર પડશે અને પછી OEM/બૂટલોડર ડિવાઇસને લૉક (જે ફેક્ટરી રીસેટ કરે છે) કરે છે. કૃપા કરીને બૂટલોડરને અનલૉક કરો અને ફરી પ્રયાસ કરો. તમે આ કેવી રીતે કરવું તે માટેની સૂચનાઓ <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a> પર જોઈ શકો છો"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"4KB પેજ-એગ્નોસ્ટિક મોડનો ઉપયોગ કરીને"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"તમે પેજ-એગ્નોસ્ટિક મોડના 4KB મોડમાં છો. આ મોડમાં સૉફ્ટવેરની સંપૂર્ણતાની ગૅરંટી આપી શકાતી નથી, અને જ્યારે બૂટલોડર અનલૉક કરેલું હોય ત્યારે ફોન પર સ્ટોર કરેલો કોઈપણ ડેટા જોખમમાં હોઈ શકે છે. આ મોડમાં અમુક સુવિધાઓ બંધ કરવામાં આવશે, તેથી અમુક ઍપ્લિકેશન કામ કરશે નહીં. પ્રોડક્શન મોડમાં ફરીથી દાખલ થવા માટે, તમારે ડિવાઇસના બૂટલોડરને લૉક કરવું આવશ્યક છે. વધુ વાંચવા ટૅપ કરો."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"તમે પેજ-એગ્નોસ્ટિક મોડના 4KB મોડમાં છો. આ મોડમાં સૉફ્ટવેરની સંપૂર્ણતાની ગૅરંટી આપી શકાતી નથી, અને જ્યારે બૂટલોડર અનલૉક કરેલું હોય ત્યારે ફોન પર સ્ટોર કરેલો કોઈપણ ડેટા જોખમમાં હોઈ શકે છે. આ મોડમાં અમુક સુવિધાઓ બંધ કરવામાં આવશે, તેથી અમુક ઍપ્લિકેશન કામ કરશે નહીં. પ્રોડક્શન મોડમાં ફરીથી દાખલ થવા માટે, તમારે ડિવાઇસના બૂટલોડરને લૉક કરવું આવશ્યક છે. આ ડિવાઇસને ફરીથી ફેક્ટરી રીસેટ કરશે અને તેને પ્રોડક્શન સેટિંગમાં રિસ્ટોર કરશે. ડિવાઇસ સફળતાપૂર્વક Androidમાં બૂટ થાય તે પછી, ડેવલપરના વિકલ્પોમાં OEM અનલૉક કરવાની સુવિધાને ચાલુ કરો. જો ડિવાઇસ Androidમાં બૂટ કરવામાં નિષ્ફળ જાય અથવા અસ્થિર હોય, તો <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> પરથી નવીનતમ ફેક્ટરી છબીઓ સાથે ડિવાઇસને ફરીથી ફ્લૅશ કરો અથવા <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a>નો ઉપયોગ કરો અને \'ડિવાઇસ વાઇપ કરો\', \'બૂટલોડર લૉક કરો\' અને \'તમામ પાર્ટિશનને ફરજિયાત ફ્લૅશ કરો\' પસંદ કરો."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"16KB પેજ-એગ્નોસ્ટિક મોડનો ઉપયોગ કરીને"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"તમે પેજ-એગ્નોસ્ટિક મોડના 16KB મોડમાં છો. આ મોડમાં સૉફ્ટવેરની સંપૂર્ણતાની ગૅરંટી આપી શકાતી નથી, અને જ્યારે બૂટલોડર અનલૉક કરેલું હોય ત્યારે ફોન પર સ્ટોર કરેલો કોઈપણ ડેટા જોખમમાં હોઈ શકે છે. આ મોડમાં અમુક સુવિધાઓ બંધ કરવામાં આવશે, તેથી અમુક ઍપ્લિકેશન કામ કરશે નહીં. પ્રોડક્શન મોડમાં ફરીથી દાખલ થવા માટે, તમારે 4K મોડ પર પાછા સ્વિચ કરવું આવશ્યક છે અને પછી ડિવાઇસના બૂટલોડરને લૉક કરો. વધુ વાંચવા ટેપ કરો."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"તમે પેજ-એગ્નોસ્ટિક મોડના 16KB મોડમાં છો. આ મોડમાં સૉફ્ટવેરની સંપૂર્ણતાની ગૅરંટી આપી શકાતી નથી, અને જ્યારે બૂટલોડર અનલૉક કરેલું હોય ત્યારે ફોન પર સ્ટોર કરેલો કોઈપણ ડેટા જોખમમાં હોઈ શકે છે. આ મોડમાં અમુક સુવિધાઓ બંધ કરવામાં આવશે, તેથી અમુક ઍપ્લિકેશન કામ કરશે નહીં. પ્રોડક્શન મોડમાં ફરીથી દાખલ થવા માટે, તમારે 4K મોડ પર પાછા સ્વિચ કરવું આવશ્યક છે અને પછી ડિવાઇસના બૂટલોડરને લૉક કરો. આ ડિવાઇસને ફરીથી ફેક્ટરી રીસેટ કરશે અને તેને પ્રોડક્શન સેટિંગમાં રિસ્ટોર કરશે. ડિવાઇસ સફળતાપૂર્વક Androidમાં બૂટ થાય તે પછી, ડેવલપરના વિકલ્પોમાં OEM અનલૉક કરવાની સુવિધાને ચાલુ કરો. જો ડિવાઇસ Androidમાં બૂટ કરવામાં નિષ્ફળ જાય અથવા અસ્થિર હોય, તો <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> પરથી નવીનતમ ફેક્ટરી છબીઓ સાથે ડિવાઇસને ફરીથી ફ્લૅશ કરો અથવા <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a>નો ઉપયોગ કરો અને \'ડિવાઇસ વાઇપ કરો\', \'બૂટલોડર લૉક કરો\' અને \'તમામ પાર્ટિશનને ફરજિયાત ફ્લૅશ કરો\' પસંદ કરો."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"તમે પેજ-એગ્નોસ્ટિક મોડના 16KB મોડમાં છો. આ મોડમાં સૉફ્ટવેરની સંપૂર્ણતાની ગૅરંટી આપી શકાતી નથી અને જ્યારે બૂટલોડર અનલૉક કરેલું હોય ત્યારે ફોનમાં સ્ટોર કરેલો કોઈપણ ડેટા જોખમમાં હોઈ શકે છે. આ મોડમાં અમુક સુવિધાઓ બંધ કરવામાં આવશે, તેથી અમુક ઍપ્લિકેશનો કામ ન કરે એવું બની શકે છે. પ્રોડક્શન મોડમાં ફરીથી દાખલ થવા માટે, તમારે 4KB મોડ પર પાછા સ્વિચ કરવું આવશ્યક છે અને પછી ડિવાઇસના બૂટલોડરને લૉક કરો. વધુ વાંચવા માટે ટૅપ કરો."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"તમે પેજ-એગ્નોસ્ટિક મોડના 16KB મોડમાં છો. આ મોડમાં સૉફ્ટવેરની સંપૂર્ણતાની ગૅરંટી આપી શકાતી નથી અને જ્યારે બૂટલોડર અનલૉક કરેલું હોય ત્યારે ફોનમાં સ્ટોર કરેલો કોઈપણ ડેટા જોખમમાં હોઈ શકે છે. આ મોડમાં અમુક સુવિધાઓ બંધ કરવામાં આવશે, તેથી અમુક ઍપ્લિકેશનો કામ ન કરે એવું બની શકે છે. પ્રોડક્શન મોડમાં ફરીથી દાખલ થવા માટે, તમારે 4KB મોડ પર પાછા સ્વિચ કરવું આવશ્યક છે અને પછી ડિવાઇસના બૂટલોડરને લૉક કરો. આ ડિવાઇસને ફરીથી ફેક્ટરી રીસેટ કરશે અને તેને પ્રોડક્શન સેટિંગમાં રિસ્ટોર કરશે. ડિવાઇસ સફળતાપૂર્વક Androidમાં બૂટ થાય તે પછી, ડેવલપરના વિકલ્પોમાં OEM અનલૉક કરવાના સેટિંગને બંધ કરો. જો ડિવાઇસ Android OSથી બૂટ થવાનું નિષ્ફળ રહે અથવા અસ્થિર હોય, તો ડિવાઇસને <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>ની નવીનતમ ફેક્ટરી છબીઓથી OS ફરીથી ફ્લૅશ કરો અથવા <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a>નો ઉપયોગ કરો તેમજ \'ડિવાઇસનો ડેટા વાઇપ કરો\', \'બૂટલોડર લૉક કરો\' અને \'તમામ પાર્ટિશન ફરજિયાત રીતે ફલૅશ કરો\' પસંદ કરો."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16KB પેજ એગ્નોસ્ટિક મોડ"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"વધુ વાંચો"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"બગ રિપોર્ટ હૅન્ડલ કરનાર"</string>
@@ -5007,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ઍપ પિનિંગનો ઉપયોગ કરો"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"ડેવલપરના વિકલ્પોનો ઉપયોગ કરો"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"પ્રિન્ટ સેવાનો ઉપયોગ કરો"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"એકથી વધુ વપરાશકર્તાઓને મંજૂરી આપો"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"મંજૂરી આપો, એકથી વધુ, વપરાશકર્તા, પરવાનગી આપો, અનેક"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"એકથી વધુ, વપરાશકર્તાઓ, પ્રોફાઇલ, લોકો, એકાઉન્ટ, સ્વિચ કરો, ઘણા"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"વાયરલેસ ડિબગીંગનો ઉપયોગ કરો"</string>
@@ -5121,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"જ્યારે તમારું ટૅબ્લેટ ડૉક કરેલું હોય, ત્યારે તમે તમારી સ્ક્રીન પર શું જોશો તે પસંદ કરો. જ્યારે સ્ક્રીનસેવરનો ઉપયોગ કરવામાં આવે, ત્યારે તમારું ડિવાઇસ વધુ ઊર્જાનો ઉપયોગ કરી શકે છે."</string>
<string name="customize_button_title" msgid="1110284655990203359">"કસ્ટમાઇઝ કરો"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>ને કસ્ટમાઇઝ કરો"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"ફ્રીફોર્મ સપોર્ટ ચાલુ કરવા માટે રીબૂટ કરવું જરૂરી છે."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"ગૌણ ડિસ્પ્લે પર ડેસ્કટૉપ મોડ લાગુ થવાની ફરજ પાડવા માટે રીબૂટ કરવું જરૂરી છે."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"જૂની ફ્રીફોર્મ વિન્ડો માટે સપોર્ટ મેળવવાની સુવિધા ચાલુ કરવા રીબૂટ કરવું જરૂરી છે."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"ફ્રીફોર્મ વિન્ડો માટે સપોર્ટ મેળવવાની સુવિધા બદલવા રીબૂટ કરવું જરૂરી છે."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"સેકન્ડરી ડિસ્પ્લે પર ફ્રીફોર્મ વિન્ડો ફરજિયાત રીતે ચાલુ કરવા માટે રીબૂટ કરવું જરૂરી છે."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"હમણાં રીબૂટ કરો"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"પછીથી રીબૂટ કરો"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"સ્પેશલ ઑડિયો"</string>
@@ -5351,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"સ્ટ્રીમ સાંભળો"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> વડે સાંભળવા માટે, ઑડિયો સ્ટ્રીમનો QR કોડ સ્કૅન કરો"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"શેર કરતી વખતે પાસવર્ડમાં ફેરફાર કરી શકાતો નથી. પાસવર્ડ બદલવા માટે, પહેલાં ઑડિયો શેરિંગ બંધ કરો."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-hi/arrays.xml b/res/values-hi/arrays.xml
index efd3e64..3db8312 100644
--- a/res/values-hi/arrays.xml
+++ b/res/values-hi/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"बेडटाइम"</item>
+ <item msgid="4152450357280759894">"ड्राइविंग"</item>
+ <item msgid="7096549258219399423">"इमर्सिव"</item>
+ <item msgid="2760716776980432977">"मैनेज किया गया"</item>
+ <item msgid="601734478369121764">"स्टार"</item>
+ <item msgid="6243809315432780521">"कैलेंडर"</item>
+ <item msgid="4913577903148415331">"समय"</item>
+ <item msgid="3653377604690057780">"थिएटर"</item>
+ <item msgid="3843711267408385410">"फूल"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 79969c8..6bf9210 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"कान की मशीन की सेटिंग"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"शॉर्टकट, कान की मशीन के साथ काम करने की सुविधा"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"प्रीसेट"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"आपके ऑडियोलॉजिस्ट ने कोई प्रीसेट सेट नहीं किया है"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"प्रीसेट अपडेट नहीं किया जा सका"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ऑडियो आउटपुट"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ऑडियो आउटपुट की जानकारी"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"चेहरा और <xliff:g id="WATCH">%s</xliff:g> सेट अप की गई"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"चेहरा, फ़िंगरप्रिंट, और <xliff:g id="WATCH">%s</xliff:g> सेट अप की गई"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"चेहरा, फ़िंगरप्रिंट, और <xliff:g id="WATCH">%s</xliff:g> सेट अप की गई"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"बायोमेट्रिक्स इस्तेमाल करना ज़रूरी है, क्योंकि पहचान की पुष्टि करने की सेटिंग चालू है"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator अनलॉक करें"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"स्मार्टवॉच जोड़ दी गई"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"अपनी स्मार्ट वॉच सेट अप करें"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"स्मार्टवॉच से फ़ोन अनलॉक करने की सुविधा के बारे में ज़्यादा जानें"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"स्मार्टवॉच कनेक्ट करें"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"स्मार्टवॉच डिसकनेक्ट करें"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"फ़िंगरप्रिंट और फ़ेस अनलॉक"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"फ़िंगरप्रिंट और फ़ेस अनलॉक"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"वर्क प्रोफ़ाइल के लिए, फ़ेस और फ़िंगरप्रिंट अनलॉक की सुविधा"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"सेटअप करना होगा"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"चेहरे का मॉडल और फ़िंगरप्रिंट जोड़े गए"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"ऐप्लिकेशन इंस्टॉल करें"</b>\n"ऐसे ऐप्लिकेशन इंस्टॉल करें जिन्हें आपको अपने स्पेस में निजी रखना है"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"ध्यान रखें"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"स्पेस को लॉक करने से, ऐप्लिकेशन बंद हो जाते हैं"</b>\n"स्पेस को लॉक करने से, स्पेस में मौजूद ऐप्लिकेशन बंद हो जाते हैं, जिस वजह से आपको ऐप्लिकेशन से सूचनाएं नहीं मिलती हैं"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"प्राइवेट स्पेस उन ऐप्लिकेशन के लिए सही नहीं है जो बैकग्राउंड में गतिविधियां जारी रखते हैं या ज़रूरी सूचनाएं भेजते हैं, जैसे- चिकित्सा से जुड़े ऐप्लिकेशन. ऐसा इसलिए, क्योंकि स्पेस के लॉक होने पर सूचनाएं भेजने की सुविधा और बैकग्राउंड में चल रही गतिविधियां भी बंद हो जाती हैं.\n\nप्राइवेट स्पेस के लॉक होने पर, उसमें मौजूद ऐप्लिकेशन \'अनुमतियों को मैनेज करें\' सेक्शन, प्राइवसी डैशबोर्ड, और अन्य सेटिंग में नहीं दिखेंगे.\n\nआपका प्राइवेट स्पेस किसी नए डिवाइस में ट्रांसफ़र नहीं किया जा सकता. किसी दूसरे डिवाइस में इसका इस्तेमाल करने के लिए, आपको दूसरा प्राइवेट स्पेस सेट अप करना होगा.\n\nकोई भी ऐसा व्यक्ति जो आपके डिवाइस को कंप्यूटर से कनेक्ट कर सकता है या आपके डिवाइस में नुकसान पहुंचाने वाले ऐप्लिकेशन इंस्टॉल कर सकता है, वह आपके प्राइवेट स्पेस को ऐक्सेस कर सकता है."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"प्राइवेट स्पेस उन ऐप्लिकेशन के लिए सही नहीं है जो बैकग्राउंड में गतिविधियां जारी रखते हैं या ज़रूरी सूचनाएं भेजते हैं, जैसे- चिकित्सा से जुड़े ऐप्लिकेशन. ऐसा इसलिए, क्योंकि स्पेस के लॉक होने पर सूचनाएं भेजने की सुविधा और बैकग्राउंड में चल रही गतिविधियां भी बंद हो जाती हैं.\n\nप्राइवेट स्पेस के लॉक होने पर, उसमें मौजूद ऐप्लिकेशन \'अनुमतियों को मैनेज करें\' सेक्शन, प्राइवसी डैशबोर्ड, और अन्य सेटिंग में नहीं दिखेंगे.\n\nआपके प्राइवेट स्पेस को किसी नए डिवाइस पर नहीं ले जाया जा सकता. किसी दूसरे डिवाइस में इसका इस्तेमाल करने के लिए, आपको दूसरा स्पेस सेट अप करना होगा.\n\nकोई भी ऐसा व्यक्ति जो आपके डिवाइस को कंप्यूटर से कनेक्ट कर सकता है या आपके डिवाइस में नुकसान पहुंचाने वाले ऐप्लिकेशन इंस्टॉल कर सकता है, वह आपके प्राइवेट स्पेस को ऐक्सेस कर सकता है."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"प्राइवेट स्पेस के बारे में ज़्यादा जानें"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"इसमें कुछ समय लगेगा"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"प्राइवेट स्पेस सेट अप किया जा रहा है…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"क्या आपको डिवाइस रीस्टार्ट करना है?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"एनएफ़सी का लाॅग सिर्फ़ डेवलपमेंट के मकसद से बनाया गया है. गड़बड़ी की रिपोर्ट में एनएफ़सी का अतिरिक्त डेटा शामिल होता है. इसमें निजी जानकारी भी शामिल हो सकती है. इस सेटिंग को बदलने के लिए, डिवाइस को रीस्टार्ट करें."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"रीस्टार्ट करें"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"कास्ट करने की सेटिंग"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"स्क्रीन शेयर करें"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"बिना वायर के स्क्रीन दिखाना (वायरलेस डिसप्ले) चालू करें"</string>
@@ -1174,7 +1204,7 @@
<string name="accessibility_personal_account_title" msgid="8535265881509557013">"व्यक्तिगत खाता - <xliff:g id="MANAGED_BY">%s</xliff:g>"</string>
<string name="search_settings" msgid="7573686516434589771">"खोजें"</string>
<string name="display_settings" msgid="7197750639709493852">"डिसप्ले"</string>
- <string name="accelerometer_title" msgid="7745991950833748909">"स्क्रीन की ओरिएंटेशन अपने-आप बदलना (ऑटो-रोटेट)"</string>
+ <string name="accelerometer_title" msgid="7745991950833748909">"ऑटो-रोटेट"</string>
<string name="auto_rotate_option_off" msgid="2788096269396290731">"बंद है"</string>
<string name="auto_rotate_option_on" msgid="5776678230808498171">"चालू है"</string>
<string name="auto_rotate_option_face_based" msgid="3438645484087953174">"चालू है - चेहरे के हिसाब से"</string>
@@ -1189,9 +1219,10 @@
<string name="color_mode_option_natural" msgid="6192875655101283303">"बिना किसी बदलाव के"</string>
<string name="color_mode_option_boosted" msgid="4698797857766774289">"बूस्ट किया गया"</string>
<string name="color_mode_option_saturated" msgid="3413853820158447300">"रंग को गहरा या फीका किया गया"</string>
- <string name="color_mode_option_automatic" msgid="2281217686509980870">"ज़रूरत के हिसाब से स्क्रीन की चमक बदलता है"</string>
+ <string name="color_mode_option_automatic" msgid="2281217686509980870">"आस-पास की रोशनी के हिसाब से रंग बदल जाता है"</string>
<string name="brightness" msgid="6216871641021779698">"स्क्रीन की रोशनी का लेवल"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"आस-पास की लाइट के हिसाब से स्क्रीन की रोशनी"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"आस-पास की लाइट के हिसाब से स्क्रीन की रोशनी से जुड़ी जानकारी"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"आपकी गतिविधियों और आस-पास मौजूद लाइट के हिसाब से, डिवाइस की स्क्रीन की रोशनी अपने-आप अडजस्ट हो जाएगी. स्लाइडर को मैन्युअल तरीके से अडजस्ट करें. ऐसा करने से इस सुविधा को आपकी पसंद का पता चलेगा और अगली बार स्क्रीन की रोशनी आपके हिसाब से अडजस्ट करने में मदद मिलेगी."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"चालू है"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"बंद"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"अन्य विकल्प"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"सुलभता सुविधा"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"सामान्य कीबोर्ड"</string>
- <string name="show_ime" msgid="4334255501724746849">"ऑन-स्क्रीन कीबोर्ड का इस्तेमाल करें"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"इसे सामान्य कीबोर्ड चालू रहने के दौरान भी स्क्रीन पर दिखाएं"</string>
<string name="bounce_keys" msgid="7419450970351743904">"बाउंस बटन"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"एक ही कुंजी को <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> मि॰से॰ के अंदर बार-बार दबाने पर, कीबोर्ड उसे अनदेखा कर देता है"</string>
<string name="slow_keys" msgid="2891452895499690837">"स्लो बटन"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"उपयोगकर्ता का चुना गया: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"बोली"</string>
<string name="pointer_speed" msgid="7398649279282675718">"पॉइंटर स्पीड"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"गेमनियंत्रक"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"वाइब्रेशन रिडायरेक्ट करें"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"कनेक्ट होने पर, गेम कंट्रोलर पर वाइब्रेशन हो"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"जारी रखें"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"अभी नहीं"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"ज़ूम करने की सुविधा की सेटिंग"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"ज़ूम वाले हिस्से को एक उंगली से ड्रैग करने की सुविधा"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"ज़ूम वाले हिस्से को एक उंगली से ड्रैग करके इधर-उधर ले जाएं"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"स्क्रीन पर मूव करने के लिए उसे एक उंगली से खींचें और छोड़ें"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"ज़ूम वाला हिस्सा एक उंगली से ड्रैग करके इधर-उधर ले जाएं."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"ज़ूम वाला हिस्सा दो उंगलियों से ड्रैग करके इधर-उधर ले जाएं."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"स्क्रीन का एक हिस्सा ज़ूम करने के दौरान, यह सुविधा उपलब्ध नहीं होगी"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ज़ूम करने के लिए किसी बटन पर टैप करें"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"कॉन्टेंट को बड़े साइज़ में देखने के लिए, स्क्रीन पर तेज़ी से ज़ूम इन करें"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>ज़ूम इन करने के लिए:</b><br/> {0,number,integer}. ज़ूम करने की सुविधा को शुरू करने के लिए, शॉर्टकट का इस्तेमाल करें<br/> {1,number,integer}. स्क्रीन पर टैप करें<br/> {2,number,integer}. स्क्रीन पर इधर-उधर जाने के लिए, दो उंगलियों से खींचें और छोड़ें<br/> {3,number,integer}. ज़ूम को कम या ज़्यादा करने के लिए, दो उंगलियों से पिंच करें<br/> {4,number,integer}. ज़ूम करने की सुविधा को बंद करने के लिए, शॉर्टकट का इस्तेमाल करें<br/><br/> <b>कुछ समय तक ज़ूम इन करने के लिए:</b><br/> {0,number,integer}. पक्का करें कि आपके डिवाइस पर, पूरी स्क्रीन को ज़ूम करने का विकल्प चुना गया हो<br/> {1,number,integer}. ज़ूम करने की सुविधा को शुरू करने के लिए, शॉर्टकट का इस्तेमाल करें<br/> {2,number,integer}. स्क्रीन पर कहीं भी उंगली से दबाकर रखें<br/> {3,number,integer}. स्क्रीन पर इधर-उधर जाने के लिए, उंगली से खींचें और छोड़ें<br/> {4,number,integer}. ज़ूम करने की सुविधा बंद करने के लिए, स्क्रीन से अपनी उंगली हटाएं"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>ज़ूम इन करने के लिए:</b><br/> {0,number,integer}. ज़ूम करने की सुविधा को शुरू करने के लिए, शॉर्टकट का इस्तेमाल करें<br/> {1,number,integer}. स्क्रीन पर टैप करें<br/> {2,number,integer}. स्क्रीन पर इधर-उधर जाने के लिए, उसे दो उंगलियों से खींचें और छोड़ें<br/> {3,number,integer}. ज़ूम को कम या ज़्यादा करने के लिए, दो उंगलियों से पिंच करें<br/> {4,number,integer}. ज़ूम करने की सुविधा को रोकने के लिए, शॉर्टकट का इस्तेमाल करें<br/><br/> आपके पास कुछ समय के लिए ज़ूम इन करने और अन्य काम करने का भी विकल्प है."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>ज़ूम इन करने के लिए:</b><br/> {0,number,integer}. ज़ूम करने की सुविधा को शुरू करने के लिए, शॉर्टकट का इस्तेमाल करें<br/> {1,number,integer}. स्क्रीन पर टैप करें<br/> {2,number,integer}. स्क्रीन पर इधर-उधर जाने के लिए, उसे एक या दो उंगली से खींचें और छोड़ें<br/> {3,number,integer}. ज़ूम को कम या ज़्यादा करने के लिए, दो उंगलियों से पिंच करें<br/> {4,number,integer}. ज़ूम करने की सुविधा को रोकने के लिए, शॉर्टकट का इस्तेमाल करें<br/><br/> आपके पास कुछ समय के लिए ज़ूम इन करने और अन्य काम करने का भी विकल्प है."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"बड़ा करके देखने की सुविधा चालू होने पर, आप स्क्रीन को ज़ूम इन कर सकते हैं.\n\n"<b>"ज़ूम करने के लिए"</b>", बड़ा करके देखने की सुविधा चालू करें और फिर स्क्रीन पर कहीं भी टैप करें.\n"<ul><li>"स्क्रोल करने के लिए दो या ज़्यादा उंगलियों से खींचें और छोड़ें"</li>\n<li>"ज़ूम नियंत्रित करने के लिए दो या ज़्यादा उंगलियों से पिंच करें"</li></ul>\n\n<b>"थोड़ी देर तक ज़ूम करने के लिए"</b>", बड़ा करके देखने की सुविधा चालू करें, फिर स्क्रीन पर कहीं भी दबाकर रखें.\n"<ul><li>"स्क्रीन के दूसरे हिस्सों पर जाने के लिए, उंगलियों से खींचें और छोड़ें"</li>\n<li>"ज़ूम घटाने के लिए उंगलियों को स्क्रीन से हटाएं"</li></ul>\n\n"आप कीबोर्ड या नेविगेशन बार को ज़ूम इन नहीं कर सकते."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"पेज <xliff:g id="NUM_PAGES">%2$d</xliff:g> में से <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"सुलभता बटन का शॉर्टकट"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"सिर्फ़ ज़रूरी लोगों और ऐप्लिकेशन की सूचनाएं पाएं"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"मोड अपने-आप चालू होने का शेड्यूल चुनें"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"समय"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"उदाहरण के लिए, \"सुबह 9:30 से शाम 5:00 बजे तक\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"कैलेंडर"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"उदाहरण के लिए, \"निजी कैलेंडर\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"कोई मोड बनाएं"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"कस्टम मोड"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"रुकावटों को कम करें"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'परेशान न करें\' चालू करें"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"अलार्म और मीडिया की आवाज़ें \'परेशान न करें\' मोड को बायपास कर सकती हैं"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"शेड्यूल"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"शेड्यूल मिटाएं"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"मिटाएं"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"बदलाव करें"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"शेड्यूल"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"शेड्यूल"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"कैलेंडर जोड़ें"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"कैलेंडर का इस्तेमाल करें"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"शेड्यूल"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"शेड्यूल सेट करें"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"शेड्यूल"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> घंटे <xliff:g id="MINUTES">%2$d</xliff:g> मिनट"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"अपने-आप चालू करें"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"शेड्यूल"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"कुछ खास समय पर फ़ोन साइलेंट करें"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"\'परेशान न करें\' सुविधा के नियम सेट करें"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"उन सूचनाओं की अनुमति दें जिनके लिए आवाज़ होती है"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"मैसेज पर स्क्रीन चमकने से रोकें"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"संकेत दिखाए जाने की अनुमति दें"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"वे सूचनाएं जो आपको मिल सकती हैं"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"फ़ोकस बनाए रखें"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"अन्य कार्रवाइयां"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"डिसप्ले की सेटिंग"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"डिसप्ले के विकल्प"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"इससे गहरे रंग वाली थीम चालू होती है"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"गहरे रंग के बैकग्राउंड पर हल्के रंग के टेक्स्ट को प्राथमिकता देने के लिए, ओएस और ऐप्लिकेशन पर स्विच करें. ऐसा करके, टेक्स्ट को देख पाना आसान हो जाता है. साथ ही, कुछ डिवाइसों पर बैटरी की काफ़ी बचत होती है"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{डिसप्ले में कोई बदलाव नहीं किया गया}=1{{effect_1}}=2{{effect_1} और {effect_2}}=3{{effect_1}, {effect_2}, और {effect_3}}one{{effect_1}, {effect_2}, और # अन्य}other{{effect_1}, {effect_2}, और # अन्य}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"सूचना, साउंड वगैरह को रोकें"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"किसी भी सूचना, साउंड वगैरह को रोका नहीं जा रहा है"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"फ़िल्टर की गई सूचनाओं के लिए विकल्प"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"\'परेशान न करें\' मोड चालू होने पर"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"सूचनाएं आने पर कोई आवाज़ सुनाई न दे"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"सूचना खोलें"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"सूचनाएं स्नूज़ करने की अनुमति दें"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"ऐप्लिकेशन आइकॉन पर सूचनाएं बताने वाला डॉट"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"सूचनाओं के बंडल"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"बबल्स"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"बबल्स"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"इस बातचीत को बबल के रूप में दिखाएं"</string>
@@ -3506,7 +3562,7 @@
<string name="bubble_app_setting_bubble_conversation" msgid="1461981680982964285">"इस बातचीत के लिए बबल्स चालू करें"</string>
<string name="swipe_direction_ltr" msgid="5137180130142633085">"खारिज करने के लिए दाईं ओर स्वाइप करें और मेन्यू दिखाने के लिए बाईं ओर"</string>
<string name="swipe_direction_rtl" msgid="1707391213940663992">"खारिज करने के लिए बाईं ओर स्वाइप करें और मेन्यू दिखाने के लिए दाईं ओर"</string>
- <string name="silent_notifications_status_bar" msgid="6113307620588767516">"साइलेंट मोड पर सेट की गई सूचनाएं, स्टेटस बार में न दिखाएं"</string>
+ <string name="silent_notifications_status_bar" msgid="6113307620588767516">"साइलेंट मोड में मिली सूचनाएं, स्टेटस बार में न दिखाएं"</string>
<string name="notification_pulse_title" msgid="8013178454646671529">"ब्लिंक लाइट"</string>
<string name="lock_screen_notifications_title" msgid="2876323153692406203">"निजता सेटिंग"</string>
<string name="lockscreen_bypass_title" msgid="6519964196744088573">"पिछली खुली स्क्रीन पर जाएं"</string>
@@ -3518,7 +3574,7 @@
<string name="lock_screen_notifs_title" msgid="3412042692317304449">"लॉक स्क्रीन पर दिखने वाली सूचनाएं"</string>
<string name="lock_screen_notifs_show_all_summary" msgid="4226586018375762117">"डिफ़ॉल्ट और साइलेंट, दोनों मोड वाली सूचनाएं और बातचीत दिखाएं"</string>
<string name="lock_screen_notifs_show_all" msgid="1300418674456749664">"बातचीत, डिफ़ॉल्ट, और साइलेंट मोड पर सेट की गई सूचनाएं दिखाएं"</string>
- <string name="lock_screen_notifs_show_alerting" msgid="6584682657382684566">"साइलेंट मोड पर सेट की गई सूचनाएं और बातचीत छिपाएं"</string>
+ <string name="lock_screen_notifs_show_alerting" msgid="6584682657382684566">"साइलेंट मोड में मिली सूचनाएं और बातचीत छिपाएं"</string>
<string name="lock_screen_notifs_show_none" msgid="1941044980403067101">"कोई भी सूचना न दिखाएं"</string>
<string name="lock_screen_notifs_redact" msgid="9024158855454642296">"संवेदनशील सूचनाएं"</string>
<string name="lock_screen_notifs_redact_summary" msgid="1395483766035470612">"स्क्रीन लॉक रहने पर भी संवेदनशील कॉन्टेंट दिखाएं"</string>
@@ -3590,10 +3646,10 @@
<string name="notification_listener_security_warning_title" msgid="5791700876622858363">"क्या आपको <xliff:g id="SERVICE">%1$s</xliff:g> को सूचना ऐक्सेस करने की अनुमति देनी है?"</string>
<string name="notification_listener_security_warning_summary" msgid="1131986567509818121">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> ऐप्लिकेशन, सभी सूचनाओं को पढ़ पाएगा. इसमें आपकी निजी जानकारी शामिल है. जैसे, संपर्कों के नाम, फ़ोटो, और आपको मिलने वाले मैसेज. यह ऐप्लिकेशन, सूचनाओं के साथ दिखने वाले बटन से कार्रवाई कर सकता है या सूचनाओं को स्नूज़/खारिज भी कर पाएगा. यह फ़ोन कॉल का जवाब भी दे पाएगा. \n\nइससे यह ऐप्लिकेशन, \'परेशान न करें\' मोड चालू या बंद कर पाएगा और इससे जुड़ी सेटिंग भी बदल पाएगा."</string>
<string name="nls_warning_prompt" msgid="1486887096703743841">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> ऐप्लिकेशन ये काम कर पाएगा:"</string>
- <string name="nls_feature_read_title" msgid="7629713268744220437">"आपकी सूचनाएं पढ़ना"</string>
- <string name="nls_feature_read_summary" msgid="1064698238110273593">"यह ऐप्लिकेशन आपकी सूचनाओं को पढ़ सकता है. इनमें आपकी निजी जानकारी, जैसे कि संपर्कों के नाम, आपको मिलने वाले मैसेज, और फ़ोटो शामिल हैं."</string>
+ <string name="nls_feature_read_title" msgid="7629713268744220437">"आपकी सूचनाएं ऐक्सेस करना"</string>
+ <string name="nls_feature_read_summary" msgid="1064698238110273593">"यह ऐप्लिकेशन आपकी सूचनाओं को ऐक्सेस कर सकता है. साथ ही, आपके संपर्क, मैसेज, और फ़ोटो जैसी निजी जानकारी को भी ऐक्सेस कर सकता है."</string>
<string name="nls_feature_reply_title" msgid="7925455553821362039">"मैसेज का जवाब देना"</string>
- <string name="nls_feature_reply_summary" msgid="4492543411395565556">"यह ऐप्लिकेशन मैसेज के जवाब दे सकता है और सूचनाओं में मौजूद बटन से कार्रवाई कर सकती है. जैसे, सूचनाओं को स्नूज़ (थोड़ी देर के लिए बंद करना) या उन्हें खारिज करना और फ़ोन कॉल का जवाब देना."</string>
+ <string name="nls_feature_reply_summary" msgid="4492543411395565556">"यह ऐप्लिकेशन मैसेज के जवाब दे सकता है. साथ ही, सूचनाओं में दिखने वाले बटन से कार्रवाइयां भी कर सकता है, जैसे- सूचनाओं को स्नूज़ (थोड़ी देर के लिए बंद) या खारिज करना. यह फ़ोन कॉल के जवाब भी दे सकता है."</string>
<string name="nls_feature_settings_title" msgid="8208164329853194414">"सेटिंग में बदलाव करना"</string>
<string name="nls_feature_settings_summary" msgid="3770028705648985689">"यह ऐप्लिकेशन \'परेशान न करें\' मोड को चालू या बंद कर सकता है और इससे जुड़ी सेटिंग में बदलाव कर सकता है."</string>
<string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"अगर <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> के लिए सूचना का ऐक्सेस बंद किया जाता है, तो \'परेशान न करें\' सेवा का ऐक्सेस भी बंद हो सकता है."</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"कैटगरी"</string>
<string name="notification_channels_other" msgid="18159805343647908">"अन्य"</string>
<string name="no_channels" msgid="4716199078612071915">"इस ऐप्लिकेशन ने कोई भी सूचना पोस्ट नहीं की है"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"इस्तेमाल नहीं की गई कैटगरी दिखाएं"</string>
<string name="app_settings_link" msgid="6725453466705333311">"ऐप्लिकेशन की दूसरी सेटिंग"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"इस्तेमाल न हुई कैटगरी दिखाएं"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"इस्तेमाल न हुई कैटगरी छिपाएं"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"सभी"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ऐप्लिकेशन को ओवरराइड करने की मंज़ूरी दें"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ऐप्लिकेशन जो \'परेशान न करें\' मोड को बायपास कर सकते हैं"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"और ऐप्लिकेशन चुनें"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} तक, सिर्फ़ एक घंटे के लिए अलार्म मोड पर स्विच करें}one{{time} तक, सिर्फ़ # घंटे के लिए अलार्म मोड पर स्विच करें}other{{time} तक, सिर्फ़ # घंटों के लिए अलार्म मोड पर स्विच करें}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"केवल <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> तक के लिए अलार्म को बदलें"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"हमेशा बाधित करें में बदलें"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"नाम बदलें"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"आइकॉन बदलें"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"आइकॉन बदलें"</string>
<string name="warning_button_text" msgid="1274234338874005639">"चेतावनी"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"बंद करें"</string>
<string name="device_feedback" msgid="5351614458411688608">"इस डिवाइस के बारे में सुझाव भेजें"</string>
@@ -4027,8 +4083,8 @@
<string name="app_list_preference_none" msgid="1635406344616653756">"कोई नहीं"</string>
<string name="work_profile_usage_access_warning" msgid="3477719910927319122">"इस ऐप के इस्तेमाल का ऐक्सेस बंद करने के बाद भी आपका एडमिन आपकी वर्क प्रोफ़ाइल के ऐप का डेटा खर्च ट्रैक कर सकते हैं"</string>
<string name="draw_overlay" msgid="7902083260500573027">"दूसरे ऐप्लिकेशन के ऊपर दिखाएं"</string>
- <string name="system_alert_window_settings" msgid="6458633954424862521">"दूसरे ऐप्लिकेशन के ऊपर दिखाने की अनुमति"</string>
- <string name="permit_draw_overlay" msgid="4468994037192804075">"दूसरे ऐप्लिकेशन के ऊपर दिखाने की अनुमति दें"</string>
+ <string name="system_alert_window_settings" msgid="6458633954424862521">"दूसरे ऐप्लिकेशन के ऊपर दिखाएं"</string>
+ <string name="permit_draw_overlay" msgid="4468994037192804075">"दूसरे ऐप्लिकेशन के ऊपर दिखने की अनुमति दें"</string>
<string name="allow_overlay_description" msgid="1607235723669496298">"इस ऐप्लिकेशन को, उन सभी ऐप्लिकेशन के ऊपर दिखने की अनुमति दें जो इस्तेमाल में हैं. यह ऐप्लिकेशन देख पाएगा कि आपने कहां टैप किया है. इसके अलावा, स्क्रीन पर दिखने वाली चीज़ों को भी बदल पाएगा."</string>
<string name="media_routing_control_title" msgid="6402800638960066807">"मीडिया आउटपुट बदलने की अनुमति"</string>
<string name="allow_media_routing_control" msgid="4907036637509360616">"ऐप को मीडिया आउटपुट बदलने की अनुमति दें"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"चार्ज करने वाला डिब्बा"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"बैटरी"</string>
<string name="settings_panel_title" msgid="346363079938069215">"सेटिंग पैनल"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"डेस्कटॉप मोड चालू करें"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"दूसरी स्क्रीन पर डेस्कटॉप मोड आज़माने की सुविधा चालू करें"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"फ़्रीफ़ॉर्म विंडो मोड चालू करें"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"फ़्रीफ़ॉर्म विंडो मोड के लिए सेटिंग चालू करें."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"सेकंडरी डिसप्ले पर फ़्रीफ़ॉर्म विंडो मोड चालू करें"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"सिर्फ़ सेकंडरी डिसप्ले पर फ़्रीफ़ॉर्म विंडो चालू करें."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"मल्टी-विंडो में विंडो का साइज़ न बदलने का विकल्प चालू करें"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"साइज़ न बदलने वाले ऐप्लिकेशन को मल्टी-विंडो (एक से ज़्यादा ऐप्लिकेशन, एक साथ) में दिखाने की अनुमति दें"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"गहरे रंग वाली थीम को तुरंत लागू करने की सुविधा ओवरराइड करें"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"16 केबी मोड का इस्तेमाल करने से पहले, इस डिवाइस के डेटा पार्टिशन को ext4 में बदलना होगा. इस मोड में सॉफ़्टवेयर के रखरखाव की गारंटी नहीं है. साथ ही, बूटलोडर अनलॉक रहने पर आपके फ़ोन में सेव डेटा की सुरक्षा खतरे में पड़ सकती है. अगर आपने 16 केबी मोड चालू किया है, तो इसके बाद डिवाइस को एक और बार चालू करना होगा. इस मोड में आ जाने के बाद, डिवाइस को फिर से चालू करके 4 केबी और 16 केबी मोड के बीच स्विच किया जा सकता है. इन मोड में कुछ सुविधाएं बंद हो जाएंगी. इसलिए, हो सकता है कि कुछ ऐप्लिकेशन काम न करें. डिवाइस को प्रोडक्शन मोड में वापस लाने के लिए, आपको फिर से 4 केबी मोड पर स्विच करना होगा और बूटलोडर लॉक करना होगा. ऐसा करने पर, डिवाइस फ़ैक्ट्री रीसेट हो जाता है. डिवाइस का Android ऑपरेटिंग सिस्टम चालू हो जाने के बाद, \'डेवलपर के लिए सेटिंग और टूल\' में जाकर ओईएम से अनलॉक करने की सेटिंग बंद करें. इससे डिवाइस का डेटा वाइप हो जाएगा और पुष्टि करने के बाद, फ़ाइलसिस्टम ext4 में बदल दिया जाएगा. इस प्रक्रिया के बाद, कृपया फिर से 16 केबी मोड को चालू करें."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"डिवाइस का सारा डेटा हमेशा के लिए मिटाएं"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"डेटा के हिस्से को ext4 में फिर से फ़ॉर्मैट नहीं किया जा सका, न ही इसे वाइप किया जा सका."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16 केबी मोड के लिए, बूटलोडर अनलॉक करना ज़रूरी है"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"बूटलोडर को अनलॉक करना ज़रूरी है"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"16 केबी मोड इस्तेमाल करने के लिए, इस डिवाइस के बूटलोडर को अनलॉक करना ज़रूरी है. इस मोड में सॉफ़्टवेयर के रखरखाव की गारंटी नहीं है. साथ ही, बूटलोडर अनलॉक रहने पर आपके फ़ोन में सेव डेटा की सुरक्षा खतरे में पड़ सकती है. अगर 16 केबी मोड चालू किया जाता है, तो उपयोगकर्ता का पूरा डेटा और सभी सेटिंग वाइप हो जाती हैं. बूटलोडर अनलॉक करने के बाद, 16 केबी मोड चालू करने के लिए डिवाइस को दो बार फिर से चालू करने की ज़रूरत होती है. इस मोड के चालू हो जाने के बाद, डिवाइस को फिर से चालू करके 4 केबी और 16 केबी मोड के बीच स्विच किया जा सकता है. इन मोड में कुछ सुविधाएं बंद हो जाएंगी. इसलिए, हो सकता है कि कुछ ऐप्लिकेशन काम न करें. डिवाइस को प्रोडक्शन मोड में वापस लाने के लिए, आपको 4 केबी मोड पर स्विच करना होगा. इसके बाद, ओईएम/बूटलोडर लॉक करना होगा. इससे डिवाइस फ़ैक्ट्री रीसेट हो जाएगा. कृपया बूटलोडर अनलॉक करें और फिर से कोशिश करें. बूटलोडर अनलॉक करने के निर्देश यहां देखे जा सकते हैं: <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"4 केबी पेज-एग्नोस्टिक मोड का इस्तेमाल किया जा रहा है"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"आप 4 केबी पेज साइज़ के साथ काम करने वाले मोड (पेज-ऐग्नोस्टिक मोड) में है. इस मोड में सॉफ़्टवेयर के रखरखाव की गारंटी नहीं है. साथ ही, बूटलोडर अनलॉक रहने पर आपके फ़ोन में सेव डेटा की सुरक्षा खतरे में पड़ सकती है. इन मोड में कुछ सुविधाएं बंद हो जाएंगी. इसलिए, हो सकता है कि कुछ ऐप्लिकेशन काम न करें. इसे वापस प्रोडक्शन मोड पर सेट करने के लिए, आपको डिवाइस का बूटलोडर लॉक करना होगा. ज़्यादा पढ़ने के लिए टैप करें."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"आप 4 केबी पेज साइज़ के साथ काम करने वाले मोड (पेज-ऐग्नोस्टिक मोड) में है. इस मोड में सॉफ़्टवेयर के रखरखाव की गारंटी नहीं है. साथ ही, बूटलोडर अनलॉक रहने पर आपके फ़ोन में सेव डेटा की सुरक्षा खतरे में पड़ सकती है. इन मोड में कुछ सुविधाएं बंद हो जाएंगी. इसलिए, हो सकता है कि कुछ ऐप्लिकेशन काम न करें. प्रोडक्शन मोड में वापस जाने के लिए, आपको डिवाइस का बूटलोडर लॉक करना होगा. ऐसा करने पर, डिवाइस फिर से फ़ैक्ट्री रीसेट हो जाएगा और इसकी प्रोडक्शन सेटिंग पहले जैसी हो जाएंगी. डिवाइस का Android ऑपरेटिंग सिस्टम चालू हो जाने के बाद, \'डेवलपर के लिए सेटिंग और टूल\' में जाकर ओईएम से अनलॉक करने की सेटिंग बंद करें. अगर Android ऑपरेटिंग सिस्टम चालू नहीं होता है या ठीक से काम नहीं करता है, तो <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> पर मौजूद नई फ़ैक्ट्री इमेज की मदद से डिवाइस को फिर से फ़्लैश करें या <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> का इस्तेमाल करें. इसके बाद, \'डिवाइस वाइप करें\', \'बूटलोडर को लॉक करें\', और \'सभी हिस्सों को ज़बरदस्ती फ़्लैश करें\' को चुनें."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"16 केबी पेज-ऐग्नोस्टिक मोड का इस्तेमाल किया जा रहा है"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"आप 16 केबी पेज साइज़ के साथ काम करने वाले मोड (पेज-ऐग्नोस्टिक मोड) में है. इस मोड में सॉफ़्टवेयर के रखरखाव की गारंटी नहीं है. साथ ही, बूटलोडर अनलॉक रहने पर आपके फ़ोन में सेव डेटा की सुरक्षा खतरे में पड़ सकती है. इन मोड में कुछ सुविधाएं बंद हो जाएंगी. इसलिए, हो सकता है कि कुछ ऐप्लिकेशन काम न करें. इसे वापस प्रोडक्शन मोड पर सेट करने के लिए, आपको 4 केबी मोड पर फिर से स्विच करना होगा. इसके बाद, डिवाइस का बूटलोडर लॉक करना होगा. ज़्यादा पढ़ने के लिए टैप करें."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"आप 16 केबी पेज साइज़ के साथ काम करने वाले मोड (पेज-ऐग्नोस्टिक मोड) में है. इस मोड में सॉफ़्टवेयर के रखरखाव की गारंटी नहीं है. साथ ही, बूटलोडर अनलॉक रहने पर आपके फ़ोन में सेव डेटा की सुरक्षा खतरे में पड़ सकती है. इन मोड में कुछ सुविधाएं बंद हो जाएंगी. इसलिए, हो सकता है कि कुछ ऐप्लिकेशन काम न करें. इसे प्रोडक्शन मोड में वापस लाने के लिए, आपको 4 केबी मोड पर फिर से स्विच करना होगा. इसके बाद, डिवाइस का बूटलोडर लॉक करना होगा. ऐसा करने पर, डिवाइस फिर से फ़ैक्ट्री रीसेट हो जाएगा और इसकी प्रोडक्शन सेटिंग पहले जैसी हो जाएंगी. डिवाइस का Android ऑपरेटिंग सिस्टम चालू हो जाने के बाद, \'डेवलपर के लिए सेटिंग और टूल\' में जाकर ओईएम से अनलॉक करने की सेटिंग बंद करें. अगर Android ऑपरेटिंग सिस्टम चालू नहीं होता या ठीक से काम नहीं करता है, तो <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> पर मौजूद नई फ़ैक्ट्री इमेज की मदद से डिवाइस को फिर से फ़्लैश करें या <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> का इस्तेमाल करें. इसके बाद, \'डिवाइस वाइप करें\', \'बूटलोडर को लॉक करें\', और \'सभी हिस्सों को ज़बरदस्ती फ़्लैश करें\' को चुनें."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"आप पेज-ऐग्नोस्टिक मोड के 16 केबी मोड में हैं. इस मोड में, सॉफ़्टवेयर के रखरखाव की गारंटी नहीं है. साथ ही, बूटलोडर अनलॉक होने के दौरान आपके फ़ोन में सेव डेटा की सुरक्षा खतरे में हो सकती है. इन मोड में, कुछ सुविधाएं बंद हो जाएंगी. इसलिए, ऐसा हो सकता है कि कुछ ऐप्लिकेशन काम न करें. प्रोडक्शन मोड पर वापस जाने के लिए, आपको 4 केबी मोड पर फिर से स्विच करना होगा. इसके बाद, आपको डिवाइस का बूटलोडर लॉक करना होगा. ज़्यादा पढ़ने के लिए टैप करें."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"आप पेज-ऐग्नोस्टिक मोड के 16 केबी मोड में हैं. इस मोड में, सॉफ़्टवेयर के रखरखाव की गारंटी नहीं है. साथ ही, बूटलोडर अनलॉक होने के दौरान आपके फ़ोन में सेव डेटा की सुरक्षा खतरे में हो सकती है. इन मोड में, कुछ सुविधाएं बंद हो जाएंगी. इसलिए, ऐसा हो सकता है कि कुछ ऐप्लिकेशन काम न करें. प्रोडक्शन मोड पर वापस जाने के लिए, आपको 4 केबी मोड पर फिर से स्विच करना होगा. इसके बाद, आपको डिवाइस का बूटलोडर लॉक करना होगा. ऐसा करने पर, डिवाइस फिर से फ़ैक्ट्री रीसेट हो जाएगा और इसकी प्रोडक्शन सेटिंग पहले जैसी हो जाएंगी. डिवाइस के Android में बूट हो जाने के बाद, \'डेवलपर के लिए सेटिंग और टूल\' में जाकर ओईएम से अनलॉक करने की सेटिंग बंद करें. अगर डिवाइस Android में बूट नहीं होता या ठीक से काम नहीं करता, तो <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> पर जाकर नई फ़ैक्ट्री इमेज का इस्तेमाल करके डिवाइस को फिर से फ़्लैश करें या <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> पर दिए गए टूल का इस्तेमाल करें. इसके बाद, \'डिवाइस वाइप करें\', \'बूटलोडर को लॉक करें\', और \'सभी हिस्से ज़बरदस्ती फ़्लैश करें\' को चुनें."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16 केबी पेज-एग्नोस्टिक मोड"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"ज़्यादा पढ़ें"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"गड़बड़ी की रिपोर्ट हैंडल करने वाला"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ऐप्लिकेशन पिन करने की सुविधा का इस्तेमाल करें"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"डेवलपर के लिए सेटिंग और टूल का इस्तेमाल करें"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"प्रिंट करने की सेवा का इस्तेमाल करें"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"एक से ज़्यादा उपयोगकर्ताओं को अनुमति दें"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"अनुमति दें, कई, इस्तेमाल करने वाले, मंज़ूरी दें, कई सारे"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"कई, उपयोगकर्ता, प्रोफ़ाइलें, लोग, खाते, स्विच, बहुत"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"वॉयरलेस डीबगिंग का इस्तेमाल करें"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"चुनें कि डॉक से टैबलेट के जुड़े होने के दौरान, आपको स्क्रीन पर क्या दिखे. स्क्रीन सेवर का इस्तेमाल करने पर, आपके डिवाइस की बैटरी ज़्यादा खर्च हो सकती है."</string>
<string name="customize_button_title" msgid="1110284655990203359">"मनमुताबिक बनाएं"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> को पसंद के मुताबिक बनाएं"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"फ़्रीफ़ॉर्म सहायता मोड को चालू करने के लिए, डिवाइस को फिर से चालू करना होगा."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"दूसरे डिसप्ले पर डेस्कटॉप मोड को ज़बरदस्ती चलाने के लिए, डिवाइस को फिर से चालू करना होगा."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"फ़्रीफ़ॉर्म विंडो वाला लेगसी मोड चालू करने के लिए, डिवाइस को फिर चालू करना होगा."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"फ़्रीफ़ॉर्म विंडो मोड की सेटिंग बदलने के लिए, डिवाइस को फिर से चालू करना होगा."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"सेकंडरी डिसप्ले पर फ़्रीफ़ॉर्म विंडो मोड ज़बरदस्ती चालू करने के लिए, डिवाइस को फिर से चालू करना होगा."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"अभी रीबूट (फिर से चालू) करें"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"बाद में रीबूट (फिर से चालू) करें"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"स्पेशल ऑडियो"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"स्ट्रीम सुनें"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> पर सुनने के लिए, ऑडियो स्ट्रीम का क्यूआर कोड स्कैन करें"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"शेयर करने के दौरान पासवर्ड में बदलाव नहीं किया जा सकता. पासवर्ड बदलने के लिए, पहले ऑडियो शेयर करने की सुविधा बंद करें."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-hr/arrays.xml b/res/values-hr/arrays.xml
index c92a5e5..ce1770d 100644
--- a/res/values-hr/arrays.xml
+++ b/res/values-hr/arrays.xml
@@ -364,8 +364,8 @@
<item msgid="6922258575853746220">"Pokret"</item>
</string-array>
<string-array name="accessibility_button_size_selector_titles">
- <item msgid="7482952318152486459">"Malen"</item>
- <item msgid="1666628329913333563">"Velik"</item>
+ <item msgid="7482952318152486459">"Maleno"</item>
+ <item msgid="1666628329913333563">"Veliko"</item>
</string-array>
<string-array name="vpn_proxy_settings">
<item msgid="7165538292837266997">"Nijedan"</item>
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Vrijeme za spavanje"</item>
+ <item msgid="4152450357280759894">"Vožnja"</item>
+ <item msgid="7096549258219399423">"Angažirajuće"</item>
+ <item msgid="2760716776980432977">"Upravljano"</item>
+ <item msgid="601734478369121764">"Zvijezda"</item>
+ <item msgid="6243809315432780521">"Kalendar"</item>
+ <item msgid="4913577903148415331">"Vrijeme"</item>
+ <item msgid="3653377604690057780">"Kazalište"</item>
+ <item msgid="3843711267408385410">"Cvijet"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index d275f4f..adcea4a 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Postavke slušnih pomagala"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Prečac, kompatibilnost sa slušnim pomagalima"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Unaprijed definirana postavka"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Nema zadanih postavki koje je definirao vaš audiolog"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Ažuriranje unaprijed definiranih postavki nije uspjelo"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audioizlaz"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"O audioizlazu"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Dodano je lice i sat <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Dodani su lice, otisak prsta i sat <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Dodani su lice, otisci prstiju i sat <xliff:g id="WATCH">%s</xliff:g>"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"To je potrebno jer je uključena provjera identiteta"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Otključavanje apl. Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Sat je dodan"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Postavite telefon"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Saznajte više o otključavanju satom"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Dodaj sat"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Uklonite sat"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Otisak prsta i otključavanje licem"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Otključavanje licem i otiskom prsta"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Otključavanje licem i otiskom prsta za posao"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Potrebno je postavljanje"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Dodano je lice i otisci prsta"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Instalirajte aplikacije"</b>\n"Instalirajte aplikacije koje želite da ostanu privatne u vašem prostoru"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Napomena"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Aplikacije se zaustavljaju kad zaključate prostor"</b>\n"Kad zaključate prostor, aplikacije u vašem prostoru zaustavljaju se i nećete primati obavijesti od njih"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Privatni prostori nisu prikladni za aplikacije koje moraju raditi u pozadini ili slati važne obavijesti, primjerice medicinske aplikacije. To je zato što se obavijesti i pozadinska aktivnost zaustavljaju kad je vaš prostor zaključan.\n\nAplikacije u vašem privatnom prostoru neće se prikazivati u upravitelju dopuštenja, na nadzornoj ploči za privatnost i u drugim postavkama kad je privatni prostor zaključan.\n\nVaš se privatni prostor ne može premjestiti na novi uređaj. Trebat ćete postaviti novi privatni prostor ako ga želite koristiti na drugom uređaju.\n\nSvatko tko poveže vaš uređaj s računalom ili instalira štetne aplikacije na vaš uređaj možda će moći pristupiti vašem privatnom prostoru."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Privatni prostori nisu prikladni za aplikacije koje moraju raditi u pozadini ili slati važne obavijesti, primjerice medicinske aplikacije. To je zato što se obavijesti i pozadinska aktivnost zaustavljaju kad je vaš prostor zaključan.\n\nAplikacije u vašem privatnom prostoru neće se prikazivati u upravitelju dopuštenja, na nadzornoj ploči za privatnost i u drugim postavkama kad je privatni prostor zaključan.\n\nVaš se privatni prostor ne može vratiti na novom uređaju. Trebat ćete postaviti novi prostor ako ga želite koristiti na drugom uređaju.\n\nSvatko tko poveže vaš uređaj s računalom ili instalira zlonamjerne aplikacije na vaš uređaj možda će moći pristupiti vašem privatnom prostoru."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Saznajte više o privatnom prostoru"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"To će potrajati nekoliko trenutaka"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"U tijeku je postavljanje privatnog prostora…"</string>
@@ -652,7 +652,7 @@
<string name="encrypted_summary" msgid="545623487587251207">"Šifrirano"</string>
<string name="no_screen_lock_issue_title" msgid="1814109590692792891">"Postavljanje zaključavanja zaslona"</string>
<string name="no_screen_lock_issue_summary" msgid="2383217853510608406">"Za dodatnu sigurnost postavite PIN, uzorak ili zaporku za ovaj uređaj."</string>
- <string name="no_screen_lock_issue_action_label" msgid="2691229130486382863">"Postavite zaključavanje zaslona"</string>
+ <string name="no_screen_lock_issue_action_label" msgid="2691229130486382863">"Postavi zaključavanje zaslona"</string>
<string name="no_screen_lock_issue_notification_title" msgid="1214876733592830628">"Postavi zaključavanje zaslona"</string>
<string name="no_screen_lock_issue_notification_text" msgid="8696194459170873345">"Za dodatnu sigurnost postavite PIN, uzorak ili zaporku za ovaj uređaj."</string>
<string name="suggested_lock_settings_title" msgid="7836065447159730217">"Zaštitite telefon"</string>
@@ -666,7 +666,7 @@
<string name="lock_settings_picker_biometric_message" msgid="2609666443527262781">"Odaberite dodatni način zaključavanja zaslona"</string>
<string name="lock_settings_picker_admin_restricted_personal_message" msgid="3532653662159888328">"Ako zaboravite radnju za zaključavanje zaslona, IT administrator ga ne može poništiti."</string>
<string name="lock_settings_picker_admin_restricted_personal_message_action" msgid="5956615234246626264">"Postavite zasebno zaključavanje za poslovne aplikacije"</string>
- <string name="lock_settings_picker_profile_message" msgid="9142379549980873478">"Ako zaboravite čime ste ih zaključali, recite administratoru da poništi zaključavanje"</string>
+ <string name="lock_settings_picker_profile_message" msgid="9142379549980873478">"Ako zaboravite čime ste ga zaključali, recite administratoru da poništi zaključavanje"</string>
<string name="setup_lock_settings_options_button_label" msgid="6098297461618298505">"Opcije zaključavanja zaslona"</string>
<string name="setup_lock_settings_options_dialog_title" msgid="7985107300517468569">"Opcije zaključavanja zaslona"</string>
<string name="lock_screen_auto_pin_confirm_title" msgid="3012128112186088375">"Automatska potvrda otključavanja"</string>
@@ -779,7 +779,7 @@
<string name="lockpassword_password_too_short" msgid="1938086368137797700">"{count,plural, =1{Mora sadržavati najmanje # znak}one{Mora sadržavati najmanje # znak}few{Mora sadržavati najmanje # znaka}other{Mora sadržavati najmanje # znakova}}"</string>
<string name="lockpassword_password_too_short_all_numeric" msgid="4301294924022401502">"{count,plural, =1{Ako upotrebljavate samo brojeve, potrebna je najmanje jedna znamenka}one{Ako upotrebljavate samo brojeve, potrebna je najmanje # znamenka}few{Ako upotrebljavate samo brojeve, potrebne su najmanje # znamenke}other{Ako upotrebljavate samo brojeve, potrebno je najmanje # znamenki}}"</string>
<string name="lockpassword_pin_too_short" msgid="8910105226463085689">"{count,plural, =1{PIN mora sadržavati najmanje # znamenku}one{PIN mora sadržavati najmanje # znamenku}few{PIN mora sadržavati najmanje # znamenke}other{PIN mora sadržavati najmanje # znamenki}}"</string>
- <string name="lockpassword_pin_too_short_autoConfirm_extra_message" msgid="3271351502900762571">"{count,plural, =1{PIN mora sadržavati najmanje # znamenku, no radi dodatne sigurnosti preporučuje se {minAutoConfirmLen}-znamenkasti PIN}one{PIN mora sadržavati najmanje # znamenku, no radi dodatne sigurnosti preporučuje se {minAutoConfirmLen}-znamenkasti PIN}few{PIN mora sadržavati najmanje # znamenke, no radi dodatne sigurnosti preporučuje se {minAutoConfirmLen}-znamenkasti PIN}other{PIN mora sadržavati najmanje # znamenki, no radi dodatne sigurnosti preporučuje se {minAutoConfirmLen}-znamenkasti PIN}}"</string>
+ <string name="lockpassword_pin_too_short_autoConfirm_extra_message" msgid="3271351502900762571">"{count,plural, =1{PIN mora sadržavati najmanje # znamenku, no preporučuje se {minAutoConfirmLen}-znamenkasti PIN radi dodatne sigurnosti}one{PIN mora sadržavati najmanje # znamenku, no preporučuje se {minAutoConfirmLen}-znamenkasti PIN radi dodatne sigurnosti}few{PIN mora sadržavati najmanje # znamenke, no preporučuje se {minAutoConfirmLen}-znamenkasti PIN radi dodatne sigurnosti}other{PIN mora sadržavati najmanje # znamenki, no preporučuje se {minAutoConfirmLen}-znamenkasti PIN radi dodatne sigurnosti}}"</string>
<string name="lockpassword_password_too_long" msgid="1940345313260498308">"{count,plural, =1{Mora sadržavati manje od # znaka}one{Mora sadržavati manje od # znaka}few{Mora sadržavati manje od # znaka}other{Mora sadržavati manje od # znakova}}"</string>
<string name="lockpassword_pin_too_long" msgid="1678212054564388576">"{count,plural, =1{Mora sadržavati manje od # znamenke}one{Mora sadržavati manje od # znamenke}few{Mora sadržavati manje od # znamenke}other{Mora sadržavati manje od # znamenki}}"</string>
<string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Administrator uređaja ne dopušta upotrebu nedavnog PIN-a"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Ponovo pokrenuti?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Detaljno zapisivanje za NFC namijenjeno je samo u razvojne svrhe. Dodatni podaci NFC-a uključeni su u izvješća o programskim pogreškama koja mogu sadržavati privatne podatke. Ponovo pokrenite uređaj da biste promijenili tu postavku."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Ponovno pokreni"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Emitiranje"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"zrcalo"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Omogući bežični prikaz"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Prilagodljivo"</string>
<string name="brightness" msgid="6216871641021779698">"Svjetlina zaslona"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Prilagodljiva svjetlina"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"O prilagodljivoj svjetlini"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Svjetlina zaslona automatski će se prilagoditi vašoj okolini i aktivnostima. Klizač možete pomicati ručno kako bi prilagodljiva svjetlina dobila podatke o tome što vam odgovara."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Uključeno"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Isključeno"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Opcije"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Pristupačnost"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Fizička tipkovnica"</string>
- <string name="show_ime" msgid="4334255501724746849">"Koristi tipkovnicu na zaslonu"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Zadržava se na zaslonu dok je fizička tipkovnica aktivna"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Slučajni pritisci tipki"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Tipkovnica zanemaruje brzo ponovljene pritiske iste tipke unutar <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Spore tipke"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Izgled koji je odabrao korisnik: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Govor"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Brzina pokazivača"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Upravljač igrama"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Preusmjeri vibraciju"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Pošalji vibraciju igraćem kontroleru kada su povezani"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Ipak nastavi"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Odustani"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Postavke povećavanja"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Pomicanje jednim prstom"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Premjestite povećalo jednim prstom"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Povlačite prstom da biste se kretali zaslonom"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Pomičite područje povećanja jednim prstom."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Pomičite područje povećanja dvama prstima."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Nije dostupno kad se povećava samo dio zaslona"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Dodirnite gumb za zumiranje"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Brzo povećajte zaslon da bi se povećao prikaz sadržaja"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Da biste povećali prikaz:</b><br/> {0,number,integer}. Upotrijebite prečac da biste pokrenuli povećavanje.<br/> {1,number,integer}. Dodirnite zaslon.<br/> {2,number,integer}. Povlačite dva prsta da biste se pomicali po zaslonu.<br/> {3,number,integer}. Spojite dva prsta da biste prilagodili povećanje.<br/> {4,number,integer}. Upotrijebite prečac da biste zaustavili povećavanje.<br/><br/> <b>Da biste privremeno povećali prikaz:</b><br/> {0,number,integer}. Provjerite je li odabrano povećavanje cijelog zaslona.<br/> {1,number,integer}. Upotrijebite prečac da biste pokrenuli povećavanje.<br/> {2,number,integer}. Dodirnite i zadržite bilo gdje na zaslonu.<br/> {3,number,integer}. Povlačite prst da biste se pomicali po zaslonu.<br/> {4,number,integer}. Podignite prst da biste zaustavili povećavanje."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Da biste povećali prikaz:</b><br/> {0,number,integer}. Upotrijebite prečac da biste pokrenuli povećavanje.<br/> {1,number,integer}. Dodirnite zaslon.<br/> {2,number,integer}. Povlačite dva prsta da biste se pomicali po zaslonu.<br/> {3,number,integer}. Spojite dva prsta da biste prilagodili povećanje.<br/> {4,number,integer}. Uz pomoć prečaca zaustavite povećavanje<br/><br/> Možete privremeno povećati itd."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Da biste povećali prikaz:</b><br/> {0,number,integer}. Upotrijebite prečac da biste pokrenuli povećavanje.<br/> {1,number,integer}. Dodirnite zaslon.<br/> {2,number,integer}. Povucite jednim prstom ili dvama prstima oko zaslona<br/> {3,number,integer}. Spojite dva prsta da biste prilagodili povećanje.<br/> {4,number,integer}. Uz pomoć prečaca zaustavite povećavanje<br/><br/> Možete privremeno povećati itd."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Kad je povećanje uključeno, možete povećati prikaz na zaslonu.\n\n"<b>"Da biste zumirali"</b>", pokrenite povećanje, a zatim dodirnite bilo gdje na zaslonu.\n"<ul><li>"Povlačite s dva prsta ili više njih da biste se pomicali."</li>\n<li>"Spojite dva prsta ili više njih da biste prilagodili zumiranje."</li></ul>\n\n<b>"Da biste nešto privremeno zumirali"</b>", pokrenite povećanje, a zatim dodirnite bilo gdje na zaslonu i zadržite pritisak.\n"<ul><li>"Povlačite prstom da biste se kretali zaslonom."</li>\n<li>"Podignite prst da biste smanjili prikaz."</li></ul>\n\n"Tipkovnica i navigacijska traka ne mogu se povećati."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Stranica <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> od <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Prečac gumba za pristupačnost"</string>
@@ -2194,8 +2232,8 @@
<string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Upotreba gumba ili pokreta"</string>
<string name="accessibility_button_location_title" msgid="7182107846092304942">"Lokacija"</string>
<string name="accessibility_button_size_title" msgid="5785110470538960881">"Veličina"</string>
- <string name="accessibility_button_fade_title" msgid="8081993897680588829">"Blijedi kad se ne koristi"</string>
- <string name="accessibility_button_fade_summary" msgid="7865950833524973709">"Nakon nekoliko sekundi blijedi kako biste lakše mogli vidjeti zaslon"</string>
+ <string name="accessibility_button_fade_title" msgid="8081993897680588829">"Izblijedi kad se ne koristi"</string>
+ <string name="accessibility_button_fade_summary" msgid="7865950833524973709">"Nakon nekoliko sekundi blijedi kako biste lakše vidjeli ono što je na zaslonu"</string>
<string name="accessibility_button_opacity_title" msgid="4727355657530362289">"Prozirnost kad se ne koristi"</string>
<string name="accessibility_button_low_label" msgid="4193015407828927741">"Prozirno"</string>
<string name="accessibility_button_high_label" msgid="9138077512008190896">"Neprozirno"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Primajte obavijesti samo od važnih osoba i aplikacija"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Odaberite vrstu aktivacije"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Vrijeme"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Npr. \"9:30 – 17:00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Kalendar"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Npr. \"Osobni kalendar\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Izrada načina"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Prilagođeno"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ograničavanje prekida"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Uključite opciju Ne uznemiravaj."</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Zvukovi alarma i medija mogu prekidati"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Rasporedi"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Brisanje rasporeda"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Brisanje"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Uredi"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Rasporedi"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Raspored"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Postavite raspored"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Raspored"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Uključi automatski"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Raspored"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Utišaj telefon u određeno vrijeme"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Postavite pravila za način Ne uznemiravaj"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Dopusti ometanja koja proizvode zvuk"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokiranje vizualnih ometanja"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Dopusti vizualne signale"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Obavijesti koje možete dobiti"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Usredotočite se"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Dodatne radnje"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Postavke zaslona"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Opcije zaslona"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"omogući tamnu temu"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Prebacuje OS i aplikacije da koriste svijetli tekst na tamnoj pozadini, što omogućuje manje naprezanje očiju i značajnu uštedu baterije na nekim uređajima"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Bez promjena na zaslonu}=1{{effect_1}}=2{{effect_1} i {effect_2}}=3{{effect_1}, {effect_2} i {effect_3}}one{{effect_1}, {effect_2} i još #}few{{effect_1}, {effect_2} i još #}other{{effect_1}, {effect_2} i još #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filtriraj prekide"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Nijedan prekid se ne filtrira"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opcije prikaza za filtrirane obavijesti"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Kad je uključena značajka Ne uznemiravaj"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Bez zvuka obavijesti"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"otvaranje obavijesti"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Dopusti odgodu obavijesti"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Točka obavijesti na ikoni aplikacije"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Paketi obavijesti"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Oblačići"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Oblačići"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Prikaži ovaj razgovor u oblačiću"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Kategorije"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Drugo"</string>
<string name="no_channels" msgid="4716199078612071915">"Ova aplikacija nije objavila nijednu obavijest"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Prikaži nekorištene kategorije"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Dodatne postavke u aplikaciji"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Prikaži nekorištene kategorije"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Sakrij nekorištene kategorije"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Sve"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Dopusti aplikacijama da nadjačaju"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikacije koje mogu prekidati"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Odaberite više aplikacija"</string>
@@ -4284,7 +4346,7 @@
<string name="system_navigation_title" msgid="4890381153527184636">"Način navigacije"</string>
<string name="swipe_up_to_switch_apps_title" msgid="6677266952021118342">"Navigacija pomoću dva gumba"</string>
<string name="swipe_up_to_switch_apps_summary" msgid="1415457307836359560">"Da biste promijenili aplikaciju, prijeđite prstom prema gore na početnom zaslonu. Da biste vidjeli sve aplikacije, ponovo prijeđite prstom prema gore. Da biste se vratili, dodirnite gumb Natrag."</string>
- <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Sigurnost i hitni slučajevi"</string>
+ <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Osobna sigurnost i hitni slučajevi"</string>
<string name="emergency_dashboard_summary" msgid="401033951074039302">"SOS poziv, zdravstveni podaci, upozorenja"</string>
<string name="edge_to_edge_navigation_title" msgid="714427081306043819">"Navigacija pokretima"</string>
<string name="edge_to_edge_navigation_summary" msgid="818109176611921504">"Da biste otvorili početni zaslon, prijeđite prstom od dna zaslona prema gore. Da biste promijenili aplikaciju, prijeđite prstom od dna prema gore, zadržite i otpustite. Da biste se vratili, prijeđite prstom od lijevog ili desnog ruba."</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Futrola"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Baterija"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Ploča postavki"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Nametni način rada na računalu"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Nameće eksperimentalni stolni način rada na sekundarnim zaslonima"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Omogući prozore slobodnog oblika"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Omogućite podršku za prozore slobodnog oblika."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Omogući prikaz u prozorima slobodnog oblika"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Omogućite prikaz u prozorima slobodnog oblika samo na sekundarnom zaslonu."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Omogući aplikacije nepromjenjive veličine u više prozora"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Omogućuje prikaz aplikacija nepromjenjive veličine u više prozora"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Nadjačaj nametanje tamne teme"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Podatkovna particija ovog uređaja treba se konvertirati u ext4 prije upotrebe opcije za razvojne programere od 16 KB. U ovom se načinu ne može zajamčiti integritet softvera, a svi podaci pohranjeni na telefonu mogu biti ugroženi dok je pokretač operativnog sustava otključan. Za aktiviranje opcije od 16 KB bit će potrebno još jedno ponovno pokretanje nakon konvertiranja podatkovne particije uređaja. Nakon što prijeđete na ovaj način, možete se prebacivati između načina od 4 KB i 16 KB uz jedno ponovno pokretanje. Neke će značajke biti onemogućene u tim načinima, pa neke aplikacije možda neće funkcionirati. Da biste uređaj vratili na produkcijski način rada, trebat ćete se vratiti na način od 4 KB, a zatim zaključati pokretač operativnog sustava, čime će se uređaj vratiti na tvorničke postavke. Nakon što uređaj uspješno pokrene Android, onemogućite otključavanje OEM-a u opcijama za razvojne programere. Podaci s uređaja će se izbrisati, a nakon potvrde datotečni sustav promijenit će se u ext4. Nakon što se to dovrši, vratite se da biste ponovno omogućili način od 16 KB."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Izbriši sve podatke"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Formatiranje i čišćenje podatkovne particije u ext4 nije uspjelo."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Za način od 16 KB potrebno je otključati pokretač operativnog sustava"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Potrebno je otključavanje pokretača operativnog sustava"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Ovaj uređaj mora imati otključan pokretač operativnog sustava prije upotrebe opcije za razvojne programere od 16 KB. U ovom se načinu ne može zajamčiti integritet softvera, a svi podaci pohranjeni na telefonu mogu biti ugroženi dok je pokretač operativnog sustava otključan. Svi korisnički podaci i postavke izbrisat će se nakon aktiviranja načina od 16 KB. Nakon što se pokretač operativnog sustava otključa, za aktiviranje opcije od 16 KB bit će potrebno dva puta pokrenuti ponovno pokretanje. Nakon što prijeđete na ovaj način, možete se prebacivati između načina od 4 KB i 16 KB uz jedno ponovno pokretanje. Neke će značajke biti onemogućene u tim načinima, pa neke aplikacije možda neće funkcionirati. Da biste uređaj vratili na produkcijski način rada, trebat ćete se vratiti na način od 4 KB, a zatim zaključati OEM/pokretač operativnog sustava (čime će se uređaj vratiti na tvorničke postavke). Otključajte pokretač operativnog sustava i pokušajte ponovno. Upute kako to učiniti možete pronaći na web-lokaciji <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Upotreba načina od 4 KB koji ne ovisi o veličini stranice"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Aktivan je način od 4 KB koji ne ovisi o veličini stranice. U ovom se načinu ne može zajamčiti integritet softvera, a svi podaci pohranjeni na telefonu mogu biti ugroženi dok je pokretač operativnog sustava otključan. Neke će značajke biti onemogućene u tim načinima, pa neke aplikacije možda neće funkcionirati. Da biste se vratili u produkcijski način rada, morate zaključati pokretač operativnog sustava. Dodirnite za više informacija."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Aktivan je način od 4 KB koji ne ovisi o veličini stranice. U ovom se načinu ne može zajamčiti integritet softvera, a svi podaci pohranjeni na telefonu mogu biti ugroženi dok je pokretač operativnog sustava otključan. Neke će značajke biti onemogućene u tim načinima, pa neke aplikacije možda neće funkcionirati. Da biste ponovno ušli u produkcijski način rada, morate zaključati pokretač operativnog sustava uređaja. To će ponovno vratiti uređaj na tvorničke postavke i vratiti ga na produkcijske postavke. Nakon što uređaj uspješno pokrene Android, onemogućite otključavanje OEM-a u opcijama za razvojne programere. Ako uređaj ne uspije pokrenuti Android ili ako nije stabilan, ponovno instalirajte sliku sustava na uređaju s najnovijim tvorničkim verzijama firmwarea s web-lokacije <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ili upotrijebite web-lokaciju <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a>, a zatim odaberite opcije Izbriši uređaj, Zaključaj pokretač operativnog sustava i Prisilno instaliraj sliku sustava na svim particijama."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Upotreba načina od 16 KB koji ne ovisi o veličini stranice"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Aktivan je način od 16 KB koji ne ovisi o veličini stranice. U ovom se načinu ne može zajamčiti integritet softvera, a svi podaci pohranjeni na telefonu mogu biti ugroženi dok je pokretač operativnog sustava otključan. Neke će značajke biti onemogućene u tim načinima, pa neke aplikacije možda neće funkcionirati. Da biste ponovno ušli u produkcijski način rada, morate se vratiti na način od 4 KB, a zatim zaključati pokretač operativnog sustava uređaja. Dodirnite da biste pročitali više."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Aktivan je način od 16 KB koji ne ovisi o veličini stranice. U ovom se načinu ne može zajamčiti integritet softvera, a svi podaci pohranjeni na telefonu mogu biti ugroženi dok je pokretač operativnog sustava otključan. Neke će značajke biti onemogućene u tim načinima, pa neke aplikacije možda neće funkcionirati. Da biste ponovno ušli u produkcijski način rada, morate se vratiti na način od 4 KB, a zatim zaključati pokretač operativnog sustava uređaja. To će ponovno vratiti uređaj na tvorničke odnosno produkcijske postavke. Nakon što uređaj uspješno pokrene Android, onemogućite otključavanje OEM-a u opcijama za razvojne programere. Ako uređaj ne uspije pokrenuti Android ili ako nije stabilan, ponovno instalirajte sliku sustava na uređaju s najnovijim tvorničkim verzijama firmwarea s web-lokacije <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ili upotrijebite web-lokaciju <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a>, a zatim odaberite opcije Izbriši uređaj, Zaključaj pokretač operativnog sustava i Prisilno instaliraj sliku sustava na svim particijama."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Aktivan je način rada od 16 KB koji ne ovisi o veličini stranice. U ovom se načinu ne može zajamčiti integritet softvera, a svi podaci pohranjeni na telefonu mogu biti ugroženi dok je pokretač operativnog sustava otključan. Neke će značajke biti onemogućene u tim načinima, pa neke aplikacije možda neće funkcionirati. Da biste ponovno ušli u produkcijski način rada, morate se vratiti na način od 4 KB, a zatim zaključati pokretač operativnog sustava. Dodirnite da biste pročitali više."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Aktivan je način rada od 16 KB koji ne ovisi o veličini stranice. U ovom se načinu ne može zajamčiti integritet softvera, a svi podaci pohranjeni na telefonu mogu biti ugroženi dok je pokretač operativnog sustava otključan. Neke će značajke biti onemogućene u tim načinima, pa neke aplikacije možda neće funkcionirati. Da biste ponovno ušli u produkcijski način rada, morate se vratiti na način od 4 KB, a zatim zaključati pokretač operativnog sustava. To će ponovno vratiti uređaj na tvorničke postavke i vratiti ga na produkcijske postavke. Nakon što uređaj uspješno pokrene Android, onemogućite OEM otključavanje u opcijama za razvojne programere. Ako uređaj ne uspije pokrenuti Android ili ako nije stabilan, ponovno instalirajte sliku sustava na uređaju s najnovijim tvorničkim verzijama firmwarea s web-lokacije <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ili upotrijebite web-lokaciju <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a>, a zatim odaberite opcije Izbriši uređaj, Zaključaj pokretač operativnog sustava i Prisilno instaliraj sliku sustava na svim particijama."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Način 16 od KB koji ne ovisi o veličini stranice"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Pročitajte više"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Rukovatelj izvješćem o programskim pogreškama"</string>
@@ -5008,7 +5072,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Koristi prikvačivanje aplikacije"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Koristi opcije za razvojne programere"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Koristi uslugu ispisa"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Dopusti više korisnika"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"dopustiti, više, korisnik, dopuštenje, mnogo"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"više, korisnici, profili, osobe, računi, prebaci, mnogi"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Upotreba bežičnog otklanjanja pogrešaka"</string>
@@ -5122,8 +5187,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Odaberite što će se prikazivati na zaslonu kad se tablet nalazi na priključnoj stanici. Uređaj može trošiti više energije kad se koristi čuvar zaslona."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Prilagodite"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Prilagodite <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Za omogućivanje podrške slobodnom obliku potrebno je ponovno pokretanje."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Za prisilno uključivanje načina radne površine na sekundarnim zaslonima potrebno je ponovno pokretanje."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Za omogućivanje podrške za prikaz u naslijeđenim prozorima slobodnog oblika potrebno je ponovno pokretanje."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Za izmjenu podrške za prikaz u prozorima slobodnog oblika potrebno je ponovno pokretanje."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Za prisilno uključivanje prikaza u prozorima slobodnog oblika na sekundarnim zaslonima potrebno je ponovno pokretanje."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Ponovno pokreni sada"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Ponovno pokreni kasnije"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Prostorni zvuk"</string>
@@ -5352,4 +5418,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Slušajte stream"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Skenirajte QR kôd audiostreama da biste slušali s uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Nije moguće urediti zaporku dok je zajedničko slušanje u tijeku. Da biste promijenili zaporku, prvo isključite zajedničko slušanje."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-hu/arrays.xml b/res/values-hu/arrays.xml
index b9c1b63..109259a 100644
--- a/res/values-hu/arrays.xml
+++ b/res/values-hu/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Alvásidő"</item>
+ <item msgid="4152450357280759894">"Vezetés"</item>
+ <item msgid="7096549258219399423">"Magával ragadó"</item>
+ <item msgid="2760716776980432977">"Kezelt"</item>
+ <item msgid="601734478369121764">"Csillag"</item>
+ <item msgid="6243809315432780521">"Naptár"</item>
+ <item msgid="4913577903148415331">"Idő"</item>
+ <item msgid="3653377604690057780">"Színház"</item>
+ <item msgid="3843711267408385410">"Virág"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 86aaae7..632991c 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Hallókészülék-beállítások"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Gyorsparancs, hallókészülék-kompatibilitás"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Beállításkészlet"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Audiológusa nem programozott be beállításkészleteket"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Nem sikerült frissíteni a beállításkészletet"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Hangkimenet"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"A hangkimenetről"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Arc és <xliff:g id="WATCH">%s</xliff:g> hozzáadva"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Arc, ujjlenyomat és <xliff:g id="WATCH">%s</xliff:g> hozzáadva"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Arc, ujjlenyomatok és <xliff:g id="WATCH">%s</xliff:g> hozzáadva"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Ez szükséges, mert a személyazonosság-ellenőrzés be van kapcsolva"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Távoli hitelesítő alapú feloldás"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Óra hozzáadva"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Az óra beállítása"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"További információ a Feloldás órával funkcióról"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Óra hozzáadása"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Óra eltávolítása"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Feloldás ujjlenyomattal és Arcalapú feloldás"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Arc- és ujjlenyomat-alapú feloldás"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Arc- és ujjlenyomat-alapú feloldás a munkaprofilban"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Beállítás szükséges"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Arc és ujjlenyomatok hozzáadva"</string>
@@ -614,11 +616,9 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Alkalmazások telepítése"</b>\n"Telepítse azokat az alkalmazásokat, amelyeket privát területén szeretne tartani."</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Fontos tudnivalók"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Az alkalmazások leállnak, amikor zárolja a területét"</b>\n"A területe zárolásakor a benne található alkalmazások leállnak, és nem fog tőlük értesítéseket kapni."</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
- <string name="private_space_learn_more_text" msgid="5314198983263277586">"További információ a magánterületről"</string>
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"A privát területek nem alkalmasak olyan alkalmazások számára, amelyeknek a háttérben kell futniuk, vagy kulcsfontosságú értesítéseket kell küldeniük (ilyenek például az egészségügyi appok). Ez azért van így, mert az értesítések és a háttértevékenységek le vannak állítva, amikor zárolva van a terület.\n\nA privát területen lévő alkalmazások nem jelennek meg az Engedélykezelőben, az adatvédelmi irányítópulton és más beállításokban, amikor a privát terület zárolva van.\n\nA privát terület nem helyezhető át új eszközre. Ha másik eszközön szeretné használni, akkor másik privát területet kell beállítania.\n\nBárki, aki az Ön eszközét számítógéphez csatlakoztatja, vagy kártékony alkalmazást telepít az Ön eszközére, hozzá tud férni a privát területhez."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"A privát területek nem alkalmasak olyan alkalmazások számára, amelyeknek a háttérben kell futniuk, vagy kulcsfontosságú értesítéseket kell küldeniük (ilyenek például az egészségügyi appok). Ez azért van így, mert az értesítések és a háttértevékenységek le vannak állítva, amikor zárolva van a terület.\n\nA privát területen lévő alkalmazások nem jelennek meg az Engedélykezelőben, az adatvédelmi irányítópulton és más beállításokban, amikor a privát terület zárolva van.\n\nA privát terület nem állítható vissza új eszközön. Ha másik eszközön szeretné használni, akkor másik területet kell beállítania.\n\nBárki, aki az Ön eszközét számítógéphez csatlakoztatja, vagy rosszindulatú alkalmazást telepít az eszközére, hozzá tud férni az Ön privát területéhez."</string>
+ <string name="private_space_learn_more_text" msgid="5314198983263277586">"További információ a privát területről"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Ez eltart egy kis ideig"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"A privát terület beállítása…"</string>
<string name="private_space_error_screen_title" msgid="739381738044418346">"Nem sikerült a privát terület beállítása"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Újraindítja az eszközt?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"A részletes NFC-naplózás csak fejlesztési célokra szolgál. A hibajelentésekben további NFC-adatok is szerepelnek, amelyek között privát információk is lehetnek. A beállítás módosításához indítsa újra eszközét."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Újraindítás"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Tartalomátküldés"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"tükrözés"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Vezeték nélküli kijelző engedélyezése"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptív"</string>
<string name="brightness" msgid="6216871641021779698">"Fényerőszint"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Alkalmazkodó fényerő"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Az alkalmazkodó fényerőről"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"A képernyő fényerőssége automatikusan alkalmazkodik a környezethez és az adott tevékenységhez. A csúszka mozgatásával segíthet az alkalmazkodó fényerő funkciónak, hogy megtanulja az Ön személyes preferenciáit."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Bekapcsolva"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Kikapcsolva"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Opciók"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Kisegítő lehetőségek"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Fizikai billentyűzet"</string>
- <string name="show_ime" msgid="4334255501724746849">"Képernyő-billentyűzet használata"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Maradjon a képernyőn, amíg a fizikai billentyűzet aktív"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Billentyűblokkolás"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"A billentyűzet nem veszi figyelembe, ha ugyanazt a billentyűt többször is lenyomják <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms-on belül"</string>
<string name="slow_keys" msgid="2891452895499690837">"Lassú billentyűk"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Felhasználó által kiválasztva: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Beszéd"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Mutató sebessége"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Játékvezérlő"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Rezgés átirányítása"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Rezgés küldése a játékvezérlőre kapcsolódáskor"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Folytatás mégis"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Mégse"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Nagyítási beállítások"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Egyujjas pásztázás"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"A nagyító mozgatása egy ujjal"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Egy ujjal húzva mozgathatja a képernyő tartalmát"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"A nagyítási terület mozgatása egy ujj húzásával."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"A nagyítási terület mozgatása két ujj húzásával."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Nem áll rendelkezésre, ha a nagyítás csak a képernyő egy részére terjed ki"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Nagyításhoz koppintson a gombra"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Gyorsan nagyíthat a képernyőn a tartalom felnagyítása érdekében"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>A nagyításhoz:</b><br/> {0,number,integer}. Használja a gyorsparancsot a nagyítás megkezdéséhez.<br/> {1,number,integer}. Koppintson a képernyőre.<br/> {2,number,integer}. Két ujjának húzásával mozoghat a képernyőn.<br/> {3,number,integer}. Két ujjának összehúzásával módosíthatja a nagyítási szintet.<br/> {4,number,integer}. A gyorsparancs segítségével leállíthatja a nagyítási funkciót.<br/><br/><b>Az ideiglenes nagyításhoz:</b><br/> {0,number,integer}. Ellenőrizze, hogy a nagyítás típusa teljes képernyőre van-e beállítva.<br/> {1,number,integer}. Használja a gyorsparancsot a nagyítás megkezdéséhez.<br/> {2,number,integer}. Tartsa lenyomva egyik ujját bárhol a képernyőn.<br/> {3,number,integer}. Ujjának húzásával mozoghat a képernyőn.<br/> {4,number,integer}. Emelje fel ujját a nagyítás befejezéséhez."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>A nagyításhoz:</b><br/> {0,number,integer}. Használja a gyorsparancsot a nagyítás megkezdéséhez.<br/> {1,number,integer}. Koppintson a képernyőre.<br/> {2,number,integer}. Két ujjal húzva mozgathatja a képernyő tartalmát.<br/> {3,number,integer}. Két ujjának összehúzásával módosíthatja a nagyítási szintet.<br/> {4,number,integer}. A gyorsparancs használatával leállíthatja a nagyítást<br/><br/> Egyebek mellett ideiglenesen is nagyíthat."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>A nagyításhoz:</b><br/> {0,number,integer}. Használja a gyorsparancsot a nagyítás megkezdéséhez.<br/> {1,number,integer}. Koppintson a képernyőre.<br/> {2,number,integer}. Egy vagy két ujjal húzva mozgathatja a képernyő tartalmát<br/> {3,number,integer}. Két ujjának összehúzásával módosíthatja a nagyítási szintet.<br/> {4,number,integer}. A gyorsparancs használatával leállíthatja a nagyítást<br/><br/> Egyebek mellett ideiglenesen is nagyíthat."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Ha be van kapcsolva a nagyítás funkció, ránagyíthat a képernyő tartalmára.\n\nA "<b>"nagyításhoz"</b>", indítsa el a funkciót, majd koppintson a kívánt területre a képernyőn.\n"<ul><li>"Görgetéshez húzza legalább két ujját a képernyőn."</li>\n<li>"A nagyítás mértékét két vagy több ujjának össze- vagy széthúzásával módosíthatja."</li></ul>\n\n<b>"Ideiglenes nagyításhoz"</b>" indítsa el a funkciót, majd tartsa lenyomva a kívánt területet a képernyőn.\n"<ul><li>"Ujját lenyomva tartva mozoghat a képernyőn."</li>\n<li>"A méret visszaállításához emelje fel ujját a képernyőről."</li></ul>\n\n"A billentyűzeten és a navigációs sávon nem lehetséges a nagyítás."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g>/<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>. oldal"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Gyorsparancs a Kisegítő lehetőségek gombhoz"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Értesítés fogadása csak fontos személyektől és alkalmazásoktól"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Aktiválástípus kiválasztása"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Idő"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Pl.: „9:30 – 17:00”"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Naptár"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Pl.: „Személyes naptár”"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Mód létrehozása"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Egyéni"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"A megszakítások korlátozása"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"A Ne zavarjanak mód bekapcsolása"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Az ébresztések és médiahangok megszakíthatják a „Ne zavarjanak” módot"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Ütemezések"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Ütemezések törlése"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Törlés"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Szerkesztés"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Ütemezések"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Ütemezés"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Naptár hozzáadása"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Naptár használata"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Ütemezés"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Állítson be ütemezést"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Ütemezés"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ó, <xliff:g id="MINUTES">%2$d</xliff:g> p"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Automatikus bekapcsolás"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Ütemezés"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Telefonnémítás ütemezése"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"A Ne zavarjanak szabályai"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Hanggal járó jelzések engedélyezése"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Megjelenő értesítések tiltása"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Vizuális jelek engedélyezése"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Értesítések, amelyek eljuthatnak Önhöz"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Folyamatosan figyeljen"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"További műveletek"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Megjelenítési beállítások"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Megjelenítési beállítások"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"sötét téma engedélyezése"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Módosíthatja az operációs rendszer és az alkalmazások beállításait úgy, hogy a sötét háttér előtti világos szöveget részesítsék előnyben, ami kevésbé megterhelő a szemnek, valamint jóval energiatakarékosabb használatot eredményez egyes eszközökön."</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Nincs megjelenítésmódosítás}=1{{effect_1}}=2{{effect_1} és {effect_2}}=3{{effect_1}, {effect_2} és {effect_3}}other{{effect_1}, {effect_2}, és # további}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Megszakítások szűrése"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"A rendszer nem szűrt ki megszakításokat"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"A szűrt értesítések megjelenítési beállításai"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Ha a „Ne zavarjanak” mód aktív"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Nincs hang az értesítéseknél"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"értesítés megnyitása"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Értesítés halasztásának engedélyezése"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Értesítési pötty az alkalmazásikonon"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Értesítéscsomagok"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Buborékok"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Buborékok"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Beszélgetés buborékba helyezése"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Kategóriák"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Egyéb"</string>
<string name="no_channels" msgid="4716199078612071915">"Ez az alkalmazás nem küldött semmilyen értesítést"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Nem használt kategóriák mutatása"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Az alkalmazás további beállításai"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Nem használt kategóriák mutatása"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Nem használt kategóriák elrejtése"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Összes"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Felülbírálás engedélyezése az alkalmazások számára"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Azok az alkalmazások, amelyeknél engedélyezve van a megszakítás"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"További alkalmazások kiválasztása"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Módosítás csak ébresztésekre egy órára, eddig: {time}}other{Módosítás csak ébresztésekre # órára, eddig: {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Váltás „Csak ébresztésekre” eddig: <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Módosítás a bármikor történő megszakításra"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Átnevezés"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Ikon megváltoztatása"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Ikon megváltoztatása"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Figyelmeztetés"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Bezárás"</string>
<string name="device_feedback" msgid="5351614458411688608">"Visszajelzés küldése az eszközről"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Tok"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Akkumulátor"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Beállítások panel"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Asztali mód kényszerítése"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Kísérleti asztali mód kényszerítése a másodlagos kijelzőkön"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Szabad formájú ablakok engedélyezése"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Szabad formájú ablakok támogatásának engedélyezése."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Szabad formájú ablakkezelés engedélyezése 2. kijelzőn"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Szabad formájú ablakok engedélyezése csak a másodlagos kijelzőn."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Nem átméretezhető appok engedélyezése többablakos nézetben"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Engedélyezi a nem átméretezhető alkalmazásokat a többablakos nézetben"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"A kényszerített sötétítés felülírása"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"A 16 kB-os fejlesztői opció használata előtt konvertálja ext4 fájlrendszerre az eszköz adatpartícióját. A szoftverek integritása nem garantálható ebben a módban, és a telefonon tárolt összes adat veszélyben lehet, amíg a rendszerindító zárolása fel van oldva. A 16 kB-os opció aktiválásával még egy újraindításra van szükség ezután. Ebben a módban egyetlen újraindítással válthat oda és vissza a 4 kB-os és a 16 kB-os mód között. Egyes funkciók le lesznek tiltva ezekben a módokban, ezért előfordulhat, hogy néhány alkalmazás nem működik. Ha szeretné az eszközt éles üzemmódba visszaállítani, akkor annyit kellene tennie, hogy visszavált 4 kB-os módra, majd zárolja a rendszerindítót, ezzel ugyanis visszaállítja az eszközt a gyári beállításokra. Miután az eszköz sikeresen elindította az Android rendszert, tiltsa le az OEM-feloldást a Fejlesztői beállítások funkcióban. A rendszer ekkor törli az eszköz adatait, a fájlrendszer pedig a megerősítést követően ext4 rendszerre módosul. Miután a folyamat befejeződött, próbálja újra engedélyezni a 16 kB-os módot."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Minden adat törlése"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Nem sikerült az ext4 fájlrendszerre való újraformatálás és az adatpartíció adatainak visszaállíthatatlan törlése."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"A 16 kB-os módhoz a rendszerindító zárolásának feloldása szükséges"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Fel kell oldani a rendszerindítót"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"A 16 kB-os fejlesztői opció használata előtt fel kell oldani ezen az eszközön a rendszerindító zárolását. A szoftverek integritása nem garantálható ebben a módban, és a telefonon tárolt összes adat veszélyben lehet, amíg rendszerindító zárolása fel van oldva. A 16 kB-os mód aktiválásakor a rendszer minden felhasználói adatot és beállítást töröl. A rendszerindító zárolásának feloldása után két újraindítás szükséges a 16 kB-os opció aktiválásához. Ebben a módban egyetlen újraindítással válthat oda és vissza a 4 kB-os és a 16 kB-os mód között. Egyes funkciók le lesznek tiltva ezekben a módokban, ezért előfordulhat, hogy néhány alkalmazás nem működik. Ha szeretné az eszközt éles üzemmódba visszaállítani, akkor annyit kellene tennie, hogy visszavált 4 kB-os módra, majd zárolja az eszközön az OEM-et/rendszerindítót (ezzel visszaállítja az eszközt a gyári beállításokra). Oldja fel a rendszerindító zárolását, majd próbálkozzon újra. A művelettel kapcsolatos utasításokat itt találja: <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"4 kB-os, lapmérettől független módot használ"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Ön jelenleg a lapmérettől független mód 4 kB-os módjában van. A szoftverek integritása nem garantálható ebben a módban, és a telefonon tárolt összes adat veszélyben lehet, amíg a rendszerindító zárolása fel van oldva. Egyes funkciók le lesznek tiltva ezekben a módokban, ezért előfordulhat, hogy néhány alkalmazás nem működik. Ha szeretne visszalépni az éles üzemmódba, zárolja az eszköz rendszerindítóját. Koppintson a további információk megtekintéséhez."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Ön jelenleg a lapmérettől független mód 4 kB-os módjában van. A szoftverek integritása nem garantálható ebben a módban, és a telefonon tárolt összes adat veszélyben lehet, amíg a rendszerindító zárolása fel van oldva. Egyes funkciók le lesznek tiltva ezekben a módokban, ezért előfordulhat, hogy néhány alkalmazás nem működik. Ha szeretne visszalépni az éles üzemmódba, zárolja az eszköz rendszerindítóját. Ezzel újra visszaállítja az eszközt a gyári beállításokra, és egyúttal az éles beállításokra is. Miután az eszköz sikeresen elindította az Android rendszert, tiltsa le az OEM-feloldást a Fejlesztői beállítások funkcióban. Ha az eszköz nem indítja el az Android rendszert vagy nem stabil, telepítse újra az eszközt a legújabb gyári képfájlokkal a következő oldalon leírt módon: <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>. Másik megoldásként használhatja a <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> webhelyet is, ahol válassza a következő lehetőségeket: „Wipe Device” (Eszközadatok visszaállíthatatlan törlése), „Lock Bootloader” (Rendszerindító zárolása) és „Force Flash all partitions” (Összes partíció telepítésének kényszerítése)."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"16 kB-os, lapmérettől független módot használ"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Ön jelenleg a lapmérettől független mód 16 kB-os módjában van. A szoftverek integritása nem garantálható ebben a módban, és a telefonon tárolt összes adat veszélyben lehet, amíg a rendszerindító zárolása fel van oldva. Egyes funkciók le lesznek tiltva ezekben a módokban, ezért előfordulhat, hogy néhány alkalmazás nem működik. Ha szeretne visszalépni az éles üzemmódba, váltson vissza a 4 kB-os módra, majd zárolja az eszköz rendszerindítóját. Koppintson a további információk megtekintéséhez."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Ön jelenleg a lapmérettől független mód 16 kB-os módjában van. A szoftverek integritása nem garantálható ebben a módban, és a telefonon tárolt összes adat veszélyben lehet, amíg a rendszerindító zárolása fel van oldva. Egyes funkciók le lesznek tiltva ezekben a módokban, ezért előfordulhat, hogy néhány alkalmazás nem működik. Ha szeretne visszalépni az éles üzemmódba, váltson vissza a 4 kB-os módra, majd zárolja az eszköz rendszerindítóját. Ezzel újra visszaállítja az eszközt a gyári beállításokra, és egyúttal az éles beállításokra is. Miután az eszköz sikeresen elindította az Android rendszert, tiltsa le az OEM-feloldást a Fejlesztői beállítások funkcióban. Ha az eszköz nem indítja el az Android rendszert vagy nem stabil, telepítse újra az eszközt a legújabb gyári képfájlokkal a következő oldalon leírt módon: <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>. Másik megoldásként használhatja a <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> webhelyet is, ahol válassza a következő lehetőségeket: „Wipe Device” (Eszközadatok visszaállíthatatlan törlése), „Lock Bootloader” (Rendszerindító zárolása) és „Force Flash all partitions” (Összes partíció telepítésének kényszerítése)."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Ön jelenleg a lapmérettől független mód 16 kB-os módjában van. A szoftverek integritása nem garantálható ebben a módban, és a telefonon tárolt összes adat veszélyben lehet, amíg a rendszerindító zárolása fel van oldva. Egyes funkciók le lesznek tiltva ezekben a módokban, ezért előfordulhat, hogy néhány alkalmazás nem működik. Ha szeretne visszalépni az éles üzemmódba, váltson vissza a 4 kB-os módra, majd zárolja az eszköz rendszerindítóját. Koppintson a további információk megtekintéséhez."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Ön jelenleg a lapmérettől független mód 16 kB-os módjában van. A szoftverek integritása nem garantálható ebben a módban, és a telefonon tárolt összes adat veszélyben lehet, amíg a rendszerindító zárolása fel van oldva. Egyes funkciók le lesznek tiltva ezekben a módokban, ezért előfordulhat, hogy néhány alkalmazás nem működik. Ha szeretne visszalépni az éles üzemmódba, váltson vissza a 4 kB-os módra, majd zárolja az eszköz rendszerindítóját. Ezzel újra visszaállítja az eszközt a gyári beállításokra, és egyúttal az éles beállításokra is. Miután az eszköz sikeresen elindította az Android rendszert, tiltsa le az OEM-feloldást a Fejlesztői beállítások funkcióban. Ha az eszköz nem indítja el az Android rendszert, vagy nem stabil, telepítse újra az eszközt a legújabb gyári képfájlokkal a következő oldalon leírt módon: <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>. Másik megoldásként használhatja a <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> webhelyet is, ahol válassza a következő lehetőségeket: „Wipe Device” (Eszközadatok visszaállíthatatlan törlése), „Lock Bootloader” (Rendszerindító zárolása) és „Force Flash all partitions” (Összes partíció telepítésének kényszerítése)."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16 kB-os, lapmérettől független mód"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Továbbiak"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Hibajelentés kezelője"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Alkalmazáskitűzés használata"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Fejlesztői beállítások használata"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Nyomtatási szolgáltatás használata"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Több felhasználó engedélyezése"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"engedélyezés, több, felhasználó, engedély, sok"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"több, felhasználók, profilok, személyek, fiókok, kapcsoló, sok"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Vezeték nélküli hibakeresés használata"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Kiválaszthatja, hogy mi legyen látható a képernyőn, amikor a táblagép dokkolt állapotban van. Előfordulhat, hogy az eszköz több energiát használ, ha a képernyőkímélő be van kapcsolva."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Szerkesztés"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> személyre szabása"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"A szabad formátumú támogatás engedélyezéséhez újraindításra van szükség."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Az asztali mód másodlagos kijelzőkön való kényszerítéséhez újraindításra van szükség."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Újraindítás szükséges a régi szabad formájú ablakkezelés támogatásának engedélyezéséhez."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Újraindítás szükséges a szabad formájú ablakkezelés támogatásának módosításához."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Újraindítás szükséges a szabad formájú ablakkezelés másodlagos kijelzőre való kényszerítéséhez."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Újraindítás most"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Újraindítás később"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Térbeli hangzás"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Stream hallgatása"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Audiostream QR-kódjának beolvasása a(z) <xliff:g id="DEVICE_NAME">%1$s</xliff:g> eszközön való hallgatáshoz"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Megosztás közben a jelszó nem módosítható. Ha módosítani kívánja a jelszót, először kapcsolja ki a hang megosztását."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-hy/arrays.xml b/res/values-hy/arrays.xml
index 65b04ed..13aa275 100644
--- a/res/values-hy/arrays.xml
+++ b/res/values-hy/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Քնելու ժամը"</item>
+ <item msgid="4152450357280759894">"Մեքենայով"</item>
+ <item msgid="7096549258219399423">"Ներկայության էֆեկտով"</item>
+ <item msgid="2760716776980432977">"Կառավարվող"</item>
+ <item msgid="601734478369121764">"Աստղ"</item>
+ <item msgid="6243809315432780521">"Օրացույց"</item>
+ <item msgid="4913577903148415331">"Ժամ"</item>
+ <item msgid="3653377604690057780">"Թատրոն"</item>
+ <item msgid="3843711267408385410">"Ծաղիկ"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 8266dbc..5b2d6f5 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Լսողական սարքի կարգավորումներ"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Դյուրանցում, լսողական սարքի համատեղելիություն"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Կարգավորումների հավաքածու"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Մասնագետի կողմից կազմված կարգավորումների հավաքածուներ չկան"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Չհաջողվեց թարմացնել կարգավորումների հավաքածուն"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Աուդիո ելք"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Աուդիո ելքի մասին"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Դեմքով և ժամացույցով (<xliff:g id="WATCH">%s</xliff:g>) ապակողպումը կարգավորված է"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Դեմքով, մատնահետքով և ժամացույցով (<xliff:g id="WATCH">%s</xliff:g>) ապակողպումը կարգավորված է"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Դեմքով, մատնահետքերով և ժամացույցով (<xliff:g id="WATCH">%s</xliff:g>) ապակողպումը կարգավորված է"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Սա անհրաժեշտ է, քանի որ «Անձի նույնականացում» գործառույթը միացված է"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Authenticator-ով հեռակա ապակողպում"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Ժամացույցն ավելացված է"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Կարգավորեք ձեր ժամացույցը"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Իմանալ ավելին ժամացույցով ապակողպման մասին"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Ավելացնել ժամացույց"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Հեռացնել ժամացույցը"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Մատնահետքով և դեմքով ապակողպում"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Դեմքով և մատնահետքով ապակողպում"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Դեմքով և մատնահետքով ապակողպում աշխատանքի համար"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Պահանջվում է կարգավորում"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Դեմքի և մատնահետքի նմուշներն ավելացվեցին"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Տեղադրեք հավելվածներ"</b>\n"Ձեր տարածքում տեղադրեք հավելվածներ, որոնք չեք ուզում, որ ցուցադրվեն"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Հիշեք"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Եթե կողպեք տարածքը, հավելվածները կդադարեն աշխատել"</b>\n"Երբ կողպեք ձեր տարածքը, տարածքի հավելվածները կդադարեն աշխատել, և դուք դրանցից ծանուցումներ չեք ստանա"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Մասնավոր տարածքները հարմար չեն հավելվածների համար, որոնք պետք է աշխատեն ֆոնային ռեժիմում և ուղարկեն կարևոր ծանուցումներ, օրինակ՝ բժշկական հավելվածների։ Պատճառն այն է, որ ծանուցումները և ֆոնային ռեժիմում աշխատանքը դադարում են, երբ ձեր տարածքը կողպվում է։\n\nՁեր մասնավոր տարածքի հավելվածները չեն հայտնվի թույլտվությունների կառավարչում, թույլտվությունների կառավարման վահանակում և այլ կարգավորումներում, երբ մասնավոր տարածքը կողպված է։\n\nՄասնավոր տարածքը հնարավոր չի լինի վերականգնել նոր սարքում։ Դուք պետք է այլ մասնավոր տարածք կարգավորեք, եթե ուզում եք այն օգտագործել ուրիշ սարքում։\n\nՑանկացած մեկը, ով ձեր սարքը միացնի համակարգչի կամ վնասաբեր հավելվածներ տեղադրի ձեր սարքում, կկարողանա բացել ձեր մասնավոր տարածքը։"</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Մասնավոր տարածքները հարմար չեն հավելվածների համար, որոնք պետք է աշխատեն ֆոնային ռեժիմում և ուղարկեն կարևոր ծանուցումներ, օրինակ՝ բժշկական հավելվածների։ Պատճառն այն է, որ ծանուցումները և ֆոնային ռեժիմում աշխատանքը դադարում են, երբ ձեր տարածքը կողպվում է։\n\nՁեր մասնավոր տարածքի հավելվածները չեն հայտնվի թույլտվությունների կառավարչում, թույլտվությունների կառավարման վահանակում և այլ կարգավորումներում, երբ մասնավոր տարածքը կողպված է։\n\nՄասնավոր տարածքը հնարավոր չի լինի վերականգնել նոր սարքում։ Դուք պետք է այլ տարածք կարգավորեք, եթե ուզում եք այն օգտագործել ուրիշ սարքում։\n\nՑանկացած մեկը, ով ձեր սարքը միացնի համակարգչի կամ վնասաբեր հավելվածներ տեղադրի ձեր սարքում, կկարողանա բացել ձեր մասնավոր տարածքը։"</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Իմանալ ավելին մասնավոր տարածքի մասին"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Դա կտևի մի քանի րոպե"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Մասնավոր տարածքի կարգավորում…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Վերագործարկե՞լ սարքը"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"NFC-ի միջոցով մանրամասն մատյանի վարումը նախատեսված է ոչ միայն ծրագրավորման նպատակներով։ NFC-ի լրացուցիչ տվյալները ավելացվում են նաև վրիպակների մասին զեկույցներում, որոնք կարող են անձնական տեղեկություններ պարունակել։ Այս կարգավորումը փոխելու համար վերագործարկեք ձեր սարքը։"</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Վերագործարկել"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Հեռարձակում"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"հայելապատճենում"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Միացնել անլար էկրանը"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Հարմարվող"</string>
<string name="brightness" msgid="6216871641021779698">"Պայծառության մակարդակ"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Հարմարվող պայծառություն"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Հարմարվող պայծառության մասին"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Էկրանի պայծառությունն ավտոմատ կկարգավորվի՝ կախված միջավայրի պայմաններից և ձեր գործողություններից։ Դուք կարող եք տեղաշարժել սահիչը՝ թույլ տալով հարմարվող պայծառությանը հիշել ձեր կարգավորումները։"</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Միացված է"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Անջատված է"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Տարբերակներ"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Հատուկ գործառույթներ"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Ֆիզիկական ստեղնաշար"</string>
- <string name="show_ime" msgid="4334255501724746849">"Օգտագործել էկրանի ստեղնաշարը"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Պահել էկրանին, երբ ֆիզիկական ստեղնաշարն ակտիվ է"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Կրկնակի սեղմման անտեսում"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Ստեղնաշարը անտեսում է միևնույն ստեղնի արագ սեղմումները, որոնք կրկնվում են <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> մվ-ի ընթացքում"</string>
<string name="slow_keys" msgid="2891452895499690837">"Դանդաղ ստեղներ"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Օգտատիրոջ ընտրած՝ <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Խոսք"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Նշորդի արագությունը"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Խաղերի կարգավորիչ"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Թրթռոցի վերաուղղորդում"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Ուղարկել թրթռոցը խաղի կարգավորիչին, եթե վերջինս միացված է"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Շարունակել"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Չեղարկել"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Խոշորացման կարգավորումներ"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Մեկ մատով տեղաշարժ"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Տեղաշարժեք խոշորացույցը 1 մատով"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Քաշեք մեկ մատով՝ էկրանին տեղաշարժվելու համար"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Տեղափոխեք խոշորացման ընդգրկույթը՝ մեկ մատով քաշելով։"</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Տեղափոխեք խոշորացման ընդգրկույթը՝ երկու մատով քաշելով։"</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Հասանելի չէ, երբ միայն էկրանի մի մասն է խոշորացվում"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Հպել որևէ կոճակի՝ մեծացնելու համար"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Արագ խոշորացրեք էկրանը՝ բովանդակությունն ավելի պարզ տեսնելու համար"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Խոշորացնելու համար՝</b><br/> {0,number,integer}. Օգտագործեք դյուրանցումը<br/> {1,number,integer}. Հպեք էկրանին<br/> {2,number,integer}. Քաշեք երկու մատով՝ էկրանի վրա տեղաշարժվելու համար<br/> {3,number,integer}. Շարժեք երկու մատը՝ խոշորացումը կարգավորելու համար<br/> {4,number,integer}. Դյուրանցման միջոցով դադարեցրեք խոշորացումը<br/><br/> <b>Ժամանակավորապես խոշորացնելու համար՝</b><br/> {0,number,integer}. Համոզվեք, որ խոշորացման համար նշված է լիաէկրան ռեժիմը<br/> {1,number,integer}. Օգտագործեք դյուրանցումը<br/> {2,number,integer}. Հպեք էկրանի որևէ մասի և պահեք<br/> {3,number,integer}. Քաշեք մատով՝ էկրանի վրա տեղաշարժվելու համար<br/> {4,number,integer}. Հեռացրեք մատը էկրանից՝ խոշորացումը դադարեցնելու համար"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Մեծացնելու համար՝</b><br/> {0,number,integer}․ Օգտագործեք դյուրանցումը՝ խոշորացումը սկսելու համար<br/> {1,number,integer}. Հպեք էկրանին<br/> {2,number,integer}. Քաշեք երկու մատով՝ էկրանի վրա տեղաշարժվելու համար<br/> {3,number,integer}. Շարժեք երկու մատը՝ խոշորացումը կարգավորելու համար<br/> {4,number,integer}. Օգտագործեք դյուրանցումը՝ խոշորացումը կանգնեցնելու համար<br/><br/> Կարող եք նաև ժամանակավորապես մեծացնել և այլ գործողություններ կատարել։"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Մեծացնելու համար՝</b><br/> {0,number,integer}․ Օգտագործեք դյուրանցումը՝ խոշորացումը սկսելու համար<br/> {1,number,integer}. Հպեք էկրանին<br/> {2,number,integer}. Քաշեք մեկ կամ երկու մատով՝ էկրանի վրա տեղաշարժվելու համար<br/> {3,number,integer}. Շարժեք երկու մատը՝ խոշորացումը կարգավորելու համար<br/> {4,number,integer}. Օգտագործեք դյուրանցումը՝ խոշորացումը կանգնեցնելու համար<br/><br/> Կարող եք նաև ժամանակավորապես մեծացնել և այլ գործողություններ կատարել։"</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Երբ խոշորացումը միացված է, դուք կարող եք մեծացնել էկրանի մասշտաբը:\n\n"<b>"Մասշտաբը մեծացնելու համար"</b>"միացրեք խոշորացումը և հպեք էկրանի ցանկացած հատվածին:\n"<ul><li>"Ոլորելու համար 2 կամ ավելի մատները քաշեք էկրանի վրայով։"</li>\n<li>"Մասշտաբը փոխելու համար 2 կամ ավելի մատները մոտեցրեք միմյանց։"</li></ul>\n\n<b>"Մասշտաբը ժամանակավորապես փոխելու համար"</b>" միացրեք խոշորացումը, ապա հպեք էկրանի ցանկացած հատվածին և պահեք։\n"<ul><li>"Քաշեք՝ էկրանով մեկ շարժելու համար։"</li>\n<li>"Բարձրացրեք մատը՝ փոքրացնելու համար։"</li></ul>\n\n"Ստեղնաշարի կամ նավիգացիայի գոտու միջոցով հնարավոր չէ մեծացնել:"</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Էջ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"«Հատուկ գործառույթներ» կոճակի դյուրանցում"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Ծանուցում ստանալ միայն կարևոր մարդկանցից և հավելվածներից"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Ընտրել ակտիվացման տեսակը"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Ժամ"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Օրինակ՝ «9:30 – 17:00»"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Օրացույց"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Օրինակ՝ «Անձնական օրացույց»"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Ստեղծեք ռեժիմ"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Հատուկ"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ընդհատումների սահմանափակում"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Միացրեք «Չանհանգստացնել» ռեժիմը"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Զարթուցիչներն ու մեդիայի ձայները"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Ժամանակացույցներ"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Ժամանակացույցների ջնջում"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Ջնջել"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Փոփոխել"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Ժամանակացույցներ"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Ժամանակացույց"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Ավելացնել օրացույց"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Օգտագործել իմ օրացույցը"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Ժամանակացույց"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Սահմանեք ժամանակացույց"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Ժամանակացույց"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ժ <xliff:g id="MINUTES">%2$d</xliff:g> ր"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Ավտոմատ միացնել"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Ժամանակացույց"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Հեռախոսի ձայնի անջատում որոշակի ժամերի"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"«Չանհանգստացնել» ռեժիմի կանոնների սահմանում"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Թույլատրել ձայնային ազդանշանները"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Արգելափակել տեսողական ծանուցումները"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Թույլատրել տեսողական ազդանշանները"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Ծանուցումներ, որոնք միևնույն է կստանաք"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Կենտրոնացում"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Լրացուցիչ գործողություններ"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Ցուցադրման կարգավորումներ"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Ցուցադրման տարբերակներ"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"միացնել մուգ թեման"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Օպերացիոն համակարգն ու հավելվածները դարձրեք բաց տեքստով՝ մուգ ֆոնի վրա։ Դա կարող է աչքերին ավելի հաճելի լինել և նշանակալի կերպով տնտեսել մարտկոցի լիցքը որոշ սարքերում"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Առանց փոփոխությունների}=1{{effect_1}}=2{{effect_1} և {effect_2}}=3{{effect_1}, {effect_2} և {effect_3}}one{{effect_1}, {effect_2} ու ևս #-ը}other{{effect_1}, {effect_2} ու ևս #-ը}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Զտել ընդհատումները"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Ընդհատումները չեն զտվում"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Զտվող ծանուցումների ցուցադրման տարբերակներ"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Երբ «Չանհանգստացնել» ռեժիմը միացված է"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Անջատել ծանուցումների ձայնը"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"բացել ծանուցումը"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Թույլատրել ծանուցումների հետաձգումը"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Ծանուցման կետիկ հավելվածի պատկերակի վրա"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Ծանուցումների փաթեթներ"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Ամպիկներ"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Ամպիկներ"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Ցույց տալ այս զրույցն ամպիկներում"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Կատեգորիաներ"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Այլ"</string>
<string name="no_channels" msgid="4716199078612071915">"Այս հավելվածը ծանուցումներ չի փակցրել"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Ցույց տալ չկիրառվող կատեգորիաները"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Հավելվածի լրացուցիչ կարգավորումները"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Ցույց տալ չկիրառվող կատեգորիաները"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Թաքցնել չկիրառվող կատեգորիաները"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Բոլորը"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Թույլատրել հավելվածներին փոխել «Չանհանգստացնել» ռեժիմի կարգավորումները"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Հավելվածներ, որոնք կարող են ընդհատել"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Ընտրեք այլ հավելվածներ"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Ակտիվացնել «Միայն զարթուցիչը» ռեժիմը մեկ ժամով մինչև {time}}one{Ակտիվացնել «Միայն զարթուցիչը» ռեժիմը # ժամով մինչև {time}}other{Ակտիվացնել «Միայն զարթուցիչը» ռեժիմը # ժամով մինչև {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Ակտիվացնել «Միայն զարթուցիչը» ռեժիմը մինչև <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>-ը"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Ակտիվացնել «Միշտ ընդհատել» ռեժիմը"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Վերանվանել"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Փոխել պատկերակը"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Փոխել պատկերակը"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Նախազգուշացում"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Փակել"</string>
<string name="device_feedback" msgid="5351614458411688608">"Կարծիք հայտնել սարքի մասին"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Պատյան"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Մարտկոց"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Կարգավորումների վահանակ"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Աշխատասեղանի ռեժիմի հարկադրված միացում"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Աշխատասեղանի փորձնական ռեժիմի հարկադրված միացում լրացուցիչ էկրանների վրա"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Միացնել կամայական ձևի պատուհանները"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Միացնել կամայական ձևի պատուհանների աջակցումը։"</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Միացնել կամայական ձևի պատուհանները երկրորդ էկրանին"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Միացնել կամայական ձևի պատուհանները միայն լրացուցիչ էկրանին։"</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Միացնել չփոփոխվող մասշտաբը բազմապատուհան ռեժիմում"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Թույլ է տալիս հավելվածները բացել չփոփոխվող մասշտաբով բազմապատուհան ռեժիմում"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Չեղարկել մուգ ռեժիմի պարտադիր միացումը"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Նախքան մշակողի 16 ԿԲ ընտրանքն օգտագործելը սարքի տվյալների բաժինն անհրաժեշտ է փոխարկել ext4 ֆայլային համակարգի։ Ծրագրի ամբողջականությունը հնարավոր չէ երաշխավորել այս ռեժիմում, և ցանկացած տվյալ, որը պահվում է հեռախոսում, քանի դեռ բեռնիչը ապակողպված է, կարող է վտանգված լինել։ 16 ԿԲ ընտրանքի ակտիվացման համար կարող է պահանջվել ևս մեկ վերագործարկում։ Երբ անցնեք այս ռեժիմին, մեկ վերագործարկմամբ կկարողանաք անցում կատարել 4 ԿԲ և 16 ԿԲ ռեժիմների միջև։ Որոշ գործառույթներ կանջատվեն այս ռեժիմներում, ուստի հնարավոր է՝ ոչ բոլոր հավելվածներն աշխատեն։ Սարքն արտադրական ռեժիմին վերադարձնելու համար պետք է նորից անցնեք 4 ԿԲ ռեժիմին և կողպեք օպերացիոն համակարգի բեռնիչը, որը վերականգնում է սարքի գործարանային կարգավորումները։ Android-ը հաջողությամբ գործարկելուց հետո Մշակողի ընտրանքներում անջատեք OEM-ի ապակողպումը։ Հաստատումից հետո սարքի տվյալները կսրբվեն, և ֆայլային համակարգը կփոխարինվի ext4-ով։ Դրանից հետո նորից վերադարձեք՝ 16 ԿԲ-ը կրկին միացնելու համար։"</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Ջնջել բոլոր տվյալները"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Չհաջողվեց վերաֆորմատավորել սարքը ext4 ֆայլային համակարգի և սրբել տվյալների բաժինը։"</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16 ԿԲ ռեժիմի համար պահանջվում է ապակողպել օպերացիոն համակարգի բեռնիչը"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Պահանջվում է բեռնիչով ապակողպում"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Նախքան մշակողի 16 ԿԲ ընտրանքն օգտագործելը հարկավոր է ապակողպել օպերացիոն համակարգի բեռնիչը։ Ծրագրի ամբողջականությունը հնարավոր չէ երաշխավորել այս ռեժիմում, և ցանկացած տվյալ, որը պահվում է հեռախոսում, քանի դեռ բեռնիչը ապակողպված է, կարող է վտանգված լինել։ Երբ 16 ԿԲ ռեժիմն ակտիվացվի, օգտատիրոջ բոլոր տվյալները և կարգավորումները կսրբվեն։ Հենց որ օպերացիոն համակարգի բեռնիչն ապակողպվի, 16 ԿԲ ընտրանքի ակտիվացման համար կպահանջվի երկու վերագործարկում։ Երբ անցնեք այս ռեժիմին, մեկ վերագործարկմամբ կկարողանաք անցում կատարել 4 ԿԲ և 16 ԿԲ ռեժիմների միջև։ Որոշ գործառույթներ կանջատվեն այս ռեժիմներում, ուստի հնարավոր է՝ ոչ բոլոր հավելվածներն աշխատեն։ Սարքը արտադրական ռեժիմին վերադարձնելու համար անհրաժեշտ է նորից անցնել 4 ԿԲ ռեժիմին և կողպել OEM-ը / օպերացիոն համակարգի բեռնիչը, որը վերականգնում է սարքի գործարանային կարգավորումները։ Ապակողպեք օպերացիոն համակարգի բեռնիչը և նորից փորձեք։ Թե ինչպես կարող եք դա անել, կարդացեք այստեղ՝ <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Էջաչափից անկախ 4 ԿԲ ռեժիմի օգտագործում"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Դուք էջաչափից անկախ 4 ԿԲ ռեժիմում եք։ Ծրագրի ամբողջականությունը հնարավոր չէ երաշխավորել այս ռեժիմում, և ցանկացած տվյալ, որը պահվում է հեռախոսում, քանի դեռ բեռնիչը ապակողպված է, կարող է վտանգված լինել։ Որոշ գործառույթներ կանջատվեն այս ռեժիմներում, ուստի հնարավոր է՝ ոչ բոլոր հավելվածներն աշխատեն։ Արտադրական ռեժիմին վերադառնալու համար պետք է կողպեք սարքի օպերացիոն համակարգի բեռնիչը։ Հպեք՝ ավելին իմանալու համար։"</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Դուք էջաչափից անկախ ռեժիմի 4 ԿԲ ռեժիմում եք։ Ծրագրի ամբողջականությունը հնարավոր չէ երաշխավորել այս ռեժիմում, և ցանկացած տվյալ, որը պահվում է հեռախոսում, քանի դեռ բեռնիչը ապակողպված է, կարող է վտանգված լինել։ Որոշ գործառույթներ կանջատվեն այս ռեժիմներում, ուստի հնարավոր է՝ ոչ բոլոր հավելվածներն աշխատեն։ Արտադրական ռեժիմին վերադառնալու համար պետք է կողպեք սարքի օպերացիոն համակարգի բեռնիչը։ Սարքի գործարանային կարգավորումները նորից կվերականգնվեն, և այն կանցնի արտադրական կարգավորումների ռեժիմ։ Android-ը հաջողությամբ գործարկելուց հետո Մշակողի ընտրանքներում անջատեք OEM-ի ապակողպումը։ Եթե սարքն անկայուն է աշխատում, կամ չհաջողվի այն գործարկել Android-ով, թարմացրեք սարքը՝ օգտագործելով գործարանային պատկերներ <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> էջից կամ անցեք <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> և ընտրեք «Սրբել սարքը», «Կողպել օպերացիոն համակարգի բեռնիչը» և «Ստիպողաբար թարմացնել բոլոր բաժինները»։"</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Էջաչափից անկախ 16 ԿԲ ռեժիմի օգտագործում"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Դուք էջաչափից անկախ 16 ԿԲ ռեժիմում եք։ Ծրագրի ամբողջականությունը հնարավոր չէ երաշխավորել այս ռեժիմում, և ցանկացած տվյալ, որը պահվում է հեռախոսում, քանի դեռ բեռնիչը ապակողպված է, կարող է վտանգված լինել։ Որոշ գործառույթներ կանջատվեն այս ռեժիմներում, ուստի հնարավոր է՝ ոչ բոլոր հավելվածներն աշխատեն։ Արտադրական ռեժիմին վերադառնալու համար պետք է նորից անցնեք 4 ԿԲ ռեժիմին և կողպեք սարքի օպերացիոն համակարգի բեռնիչը։ Հպեք՝ ավելին իմանալու համար։"</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Դուք էջաչափից անկախ ռեժիմի 16 ԿԲ ռեժիմում եք։ Ծրագրի ամբողջականությունը հնարավոր չէ երաշխավորել այս ռեժիմում, և ցանկացած տվյալ, որը պահվում է հեռախոսում, քանի դեռ բեռնիչը ապակողպված է, կարող է վտանգված լինել։ Որոշ գործառույթներ կանջատվեն այս ռեժիմներում, ուստի հնարավոր է՝ ոչ բոլոր հավելվածներն աշխատեն։ Արտադրական ռեժիմին վերադառնալու համար պետք է նորից անցնեք 4 ԿԲ ռեժիմին և կողպեք սարքի օպերացիոն համակարգի բեռնիչը։ Սարքի գործարանային կարգավորումները նորից կվերականգնվեն, և այն կանցնի արտադրական կարգավորումների ռեժիմ։ Android-ը հաջողությամբ գործարկելուց հետո Մշակողի ընտրանքներում անջատեք OEM-ի ապակողպումը։ Եթե սարքն անկայուն է աշխատում, կամ չհաջողվի այն գործարկել Android-ով, թարմացրեք սարքը՝ օգտագործելով գործարանային պատկերներ <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> էջից կամ անցեք <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> և ընտրեք «Սրբել սարքը», «Կողպել օպերացիոն համակարգի բեռնիչը» և «Ստիպողաբար թարմացնել բոլոր բաժինները»։"</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Դուք էջի չափսից չկախված ռեժիմի 16 ԿԲ ռեժիմում եք։ Ծրագրի ամբողջականությունը հնարավոր չէ երաշխավորել այս ռեժիմում, և ցանկացած տվյալ, որը պահվում է հեռախոսում, քանի դեռ բեռնիչը ապակողպված է, կարող է վտանգված լինել։ Որոշ գործառույթներ կանջատվեն այս ռեժիմներում, ուստի հնարավոր է՝ ոչ բոլոր հավելվածներն աշխատեն։ Արտադրական ռեժիմին վերադառնալու համար պետք է նորից անցնեք 4 ԿԲ ռեժիմին և կողպեք սարքի օպերացիոն համակարգի բեռնիչը։ Հպեք՝ ավելին իմանալու համար։"</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Դուք էջի չափսից չկախված ռեժիմի 16 ԿԲ ռեժիմում եք։ Ծրագրի ամբողջականությունը հնարավոր չէ երաշխավորել այս ռեժիմում, և ցանկացած տվյալ, որը պահվում է հեռախոսում, քանի դեռ բեռնիչը ապակողպված է, կարող է վտանգված լինել։ Որոշ գործառույթներ կանջատվեն այս ռեժիմներում, ուստի հնարավոր է՝ ոչ բոլոր հավելվածներն աշխատեն։ Արտադրական ռեժիմին վերադառնալու համար պետք է նորից անցնեք 4 ԿԲ ռեժիմին և կողպեք սարքի օպերացիոն համակարգի բեռնիչը։ Սարքի գործարանային կարգավորումները նորից կվերականգնվեն, և այն կանցնի արտադրական կարգավորումների ռեժիմ։ Android-ը հաջողությամբ գործարկելուց հետո Մշակողի ընտրանքներում անջատեք OEM-ի ապակողպումը։ Եթե սարքն անկայուն է աշխատում, կամ չհաջողվի այն գործարկել Android-ով, թարմացրեք սարքը՝ օգտագործելով գործարանային պատկերներ <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> էջից կամ անցեք <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> և ընտրեք «Սրբել սարքը», «Կողպել օպերացիոն համակարգի բեռնիչը» և «Ստիպողաբար թարմացնել բոլոր բաժինները»։"</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Էջաչափից անկախ 16 ԿԲ ռեժիմ"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Կարդալ ավելին"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Վրիպակների մասին հաշվետվությունների մշակիչ"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Օգտագործել հավելվածների ամրացումը"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Օգտագործել մշակողի ընտրանքները"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Օգտագործել տպման ծառայությունը"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Թույլատրել մեկից ավելի օգտատերեր"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"թույլ տալ, մի քանի, օգտատեր, թույլատրել, շատ"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"մի քանի, օգտատերեր, պրոֆիլներ, մարդիկ, հաշիվներ, փոխել հաշիվը, շատ"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Օգտագործել անլար վրիպազերծումը"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Ընտրեք, թե ինչ եք ուզում տեսնել ձեր սարքի էկրանին, երբ ձեր պլանշետը դոկ-կայանում է։ Ձեր սարքը կարող է ավելի շատ էներգիա ծախսել, երբ էկրանապահ է օգտագործվում։"</string>
<string name="customize_button_title" msgid="1110284655990203359">"Հարմարեցնել"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Անհատականացնել «<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>» էկրանապահը"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Կամայական ձևի պատուհանների ստեղծման աջակցումը միացնելու համար պահանջվում է վերաբեռնում։"</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Լրացուցիչ էկրաններին համակարգչի ռեժիմը հարկադրաբար միացնելու համար պահանջվում է վերաբեռնում։"</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Կամայական ձևի պատուհանների ստեղծման հնացած գործառույթի աջակցումը միացնելու համար պահանջվում է վերաբեռնում։"</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Կամայական ձևի պատուհանների ստեղծման աջակցումը փոփոխելու համար պահանջվում է վերաբեռնում։"</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Լրացուցիչ էկրաններին կամայական ձևի պատուհանները հարկադրաբար միացնելու համար պահանջվում է վերաբեռնում։"</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Վերաբեռնել հիմա"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Վերաբեռնել ավելի ուշ"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Տարածական հնչողություն"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Լսել հոսքը"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Սկանավորեք աուդիո հոսքի QR կոդը՝ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> սարքով լսելու համար"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Փոխանցման ժամանակ հնարավոր չէ փոխել գաղտնաբառը։ Գաղտնաբառը փոխելու համար նախ անջատեք աուդիոյի փոխանցումը։"</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-in/arrays.xml b/res/values-in/arrays.xml
index 3921f1f..c5d73ab 100644
--- a/res/values-in/arrays.xml
+++ b/res/values-in/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Waktu Tidur"</item>
+ <item msgid="4152450357280759894">"Mengemudi"</item>
+ <item msgid="7096549258219399423">"Imersif"</item>
+ <item msgid="2760716776980432977">"Dikelola"</item>
+ <item msgid="601734478369121764">"Bintang"</item>
+ <item msgid="6243809315432780521">"Kalender"</item>
+ <item msgid="4913577903148415331">"Waktu"</item>
+ <item msgid="3653377604690057780">"Teater"</item>
+ <item msgid="3843711267408385410">"Bunga"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 353d97e..e1bbfe9 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Setelan alat bantu dengar"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Pintasan, kompatibilitas alat bantu dengar (HAC)"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Preset"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Tidak ada preset yang diprogram oleh ahli audiologi Anda"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Tidak dapat memperbarui preset"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Output audio"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Tentang output audio"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Wajah dan <xliff:g id="WATCH">%s</xliff:g> ditambahkan"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Wajah, sidik jari, dan <xliff:g id="WATCH">%s</xliff:g> ditambahkan"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Wajah, sidik jari, dan <xliff:g id="WATCH">%s</xliff:g> ditambahkan"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Hal ini diperlukan karena Pemeriksaan Identitas diaktifkan"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Buka Kunci Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Smartwatch ditambahkan"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Menyiapkan smartwatch"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Pelajari lebih lanjut Buka dengan Smartwatch"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Tambahkan smartwatch"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Hapus smartwatch"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Buka dengan Sidik Jari & Wajah"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Buka dengan Wajah & Sidik Jari"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Buka dengan Wajah & Sidik Jari untuk profil kerja"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Penyiapan diperlukan"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Wajah dan sidik jari ditambahkan"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Instal aplikasi"</b>\n"Instal aplikasi yang ingin Anda jadikan pribadi di ruang Anda"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Perlu diingat"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Aplikasi berhenti saat Anda mengunci ruang"</b>\n"Saat Anda mengunci ruang, aplikasi di ruang Anda akan dihentikan dan Anda tidak akan menerima notifikasi dari aplikasi tersebut"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Ruang privasi tidak cocok untuk aplikasi yang perlu berjalan di latar belakang atau mengirim notifikasi penting, seperti aplikasi medis. Hal ini dikarenakan notifikasi dan aktivitas latar belakang dihentikan saat ruang Anda dikunci.\n\nAplikasi di ruang privasi Anda tidak akan muncul di pengelola izin, dasbor privasi, dan setelan lainnya saat ruang privasi Anda dikunci.\n\nRuang privasi Anda tidak dapat dipindahkan ke perangkat baru. Anda harus menyiapkan ruang privasi baru jika ingin menggunakannya di perangkat lain.\n\nSiapa pun yang menghubungkan perangkat Anda ke komputer atau menginstal aplikasi berbahaya ke perangkat Anda mungkin dapat mengakses ruang privasi Anda."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Ruang privasi tidak cocok untuk aplikasi yang perlu berjalan di latar belakang atau mengirim notifikasi penting, seperti aplikasi medis. Hal ini dikarenakan notifikasi dan aktivitas latar belakang dihentikan saat ruang Anda dikunci.\n\nAplikasi di ruang privasi Anda tidak akan muncul di pengelola izin, dasbor privasi, dan setelan lainnya saat ruang privasi dikunci.\n\nRuang privasi Anda tidak dapat dipulihkan ke perangkat baru. Anda harus menyiapkan ruang lain jika ingin menggunakannya di perangkat lain.\n\nSiapa pun yang menghubungkan perangkat Anda ke komputer atau menginstal aplikasi berbahaya ke perangkat Anda mungkin dapat mengakses ruang privasi Anda."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Pelajari lebih lanjut ruang privasi"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Proses ini perlu waktu beberapa saat"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Menyiapkan ruang privasi…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Mulai Ulang Perangkat?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Pencatatan log NFC detail dimaksudkan hanya untuk tujuan pengembangan. Data NFC tambahan disertakan dalam laporan bug, yang mungkin berisi informasi pribadi. Mulai ulang perangkat untuk mengubah setelan ini."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Mulai ulang"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Transmisi"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"cermin"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Aktifkan layar nirkabel"</string>
@@ -1192,7 +1222,8 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptif"</string>
<string name="brightness" msgid="6216871641021779698">"Tingkat kecerahan"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Kecerahan adaptif"</string>
- <string name="auto_brightness_description" msgid="6807117118142381193">"Kecerahan layar akan disesuaikan otomatis dengan lingkungan dan aktivitas Anda. Anda dapat memindahkan penggeser secara manual untuk membantu kecerahan adaptif belajar dari preferensi Anda."</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Tentang kecerahan adaptif"</string>
+ <string name="auto_brightness_description" msgid="6807117118142381193">"Kecerahan layar akan otomatis disesuaikan dengan lingkungan dan aktivitas Anda. Anda dapat menggeser tombol kecerahan secara manual untuk membantu fitur ini mempelajari preferensi Anda."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Aktif"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Nonaktif"</string>
<string name="display_white_balance_title" msgid="2624544323029364713">"White balance layar"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Opsi"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Aksesibilitas"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Keyboard fisik"</string>
- <string name="show_ime" msgid="4334255501724746849">"Gunakan keyboard virtual"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Biarkan di layar meski keyboard fisik aktif"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Tombol pantul"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Keyboard mengabaikan penekanan tombol yang sama secara berulang dan cepat dalam <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> md"</string>
<string name="slow_keys" msgid="2891452895499690837">"Tombol lambat"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Dipilih pengguna: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Ucapan"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Kecepatan kursor"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Pengendali Game"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Mengalihkan getaran"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Kirim getaran ke pengontrol game saat terhubung"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Tetap lanjutkan"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Batal"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Setelan pembesaran"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Penggeseran satu jari"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Gerakkan pembesar dengan 1 jari"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Tarik 1 jari untuk berpindah pada layar"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Pindahkan area pembesaran dengan menarik satu jari."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Pindahkan area pembesaran dengan menarik dua jari."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Tidak tersedia ketika hanya memperbesar sebagian layar"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Ketuk tombol untuk zoom"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Perbesar layar dengan cepat untuk membuat konten terlihat lebih besar"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Untuk memperbesar:</b><br/> {0,number,integer}. Gunakan pintasan untuk memulai pembesaran<br/> {1,number,integer}. Ketuk layar<br/> {2,number,integer}. Tarik dengan 2 jari untuk berpindah pada layar<br/> {3,number,integer}. Cubit dengan 2 jari untuk menyesuaikan zoom<br/> {4,number,integer}. Gunakan pintasan untuk menghentikan pembesaran<br/><br/> <b>Untuk memperbesar sementara:</b><br/> {0,number,integer}. Pastikan jenis pembesaran disetel ke layar penuh<br/> {1,number,integer}. Gunakan pintasan untuk memulai pembesaran<br/> {2,number,integer}. Sentuh lama di mana pun pada layar<br/> {3,number,integer}. Tarik dengan jari untuk berpindah pada layar<br/> {4,number,integer}. Angkat jari untuk menghentikan pembesaran"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Untuk memperbesar:</b><br/> {0,number,integer}. Gunakan pintasan untuk memulai pembesaran<br/> {1,number,integer}. Ketuk layar<br/> {2,number,integer}. Tarik 2 jari untuk berpindah pada layar<br/> {3,number,integer}. Cubit dengan 2 jari untuk menyesuaikan zoom<br/> {4,number,integer}. Gunakan pintasan untuk menghentikan pembesaran<br/><br/> Anda juga dapat memperbesar sementara dan lainnya."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Untuk memperbesar:</b><br/> {0,number,integer}. Gunakan pintasan untuk memulai pembesaran<br/> {1,number,integer}. Ketuk layar<br/> {2,number,integer}. Tarik 1 atau 2 jari untuk berpindah pada layar<br/> {3,number,integer}. Cubit dengan 2 jari untuk menyesuaikan zoom<br/> {4,number,integer}. Gunakan pintasan untuk menghentikan pembesaran<br/><br/> Anda juga dapat memperbesar sementara dan lainnya."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Jika pembesaran diaktifkan, Anda dapat memperbesar tampilan layar.\n\n"<b>"Untuk memperbesar tampilan"</b>", mulai pembesaran, lalu ketuk di bagian mana saja pada layar.\n"<ul><li>"Tarik dengan 2 jari atau lebih untuk melakukan scroll"</li>\n<li>"Cubit dengan 2 jari atau lebih untuk menyesuaikan pembesaran"</li></ul>\n\n<b>"Untuk memperbesar tampilan sementara"</b>", mulai pembesaran, lalu sentuh lama di bagian mana saja pada layar.\n"<ul><li>"• Tarik untuk menggeser layar"</li>\n<li>"• Angkat jari untuk memperkecil tampilan"</li></ul>\n\n"Anda tidak dapat memperbesar keyboard atau menu navigasi."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Halaman <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> dari <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Pintasan tombol aksesibilitas"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Hanya dapatkan notifikasi dari aplikasi dan orang yang penting"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Pilih jenis aktivasi"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Waktu"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Misalnya, \"09:30 – 17:00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Kalender"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Misalnya, \"Kalender pribadi\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Buat mode"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Kustom"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Batasi gangguan"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Aktifkan mode Jangan Ganggu"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarm dan media boleh menginterupsi"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Jadwal"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Hapus jadwal"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Hapus"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Edit"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Jadwal"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Jadwal"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Setel jadwal"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Jadwal"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> jam, <xliff:g id="MINUTES">%2$d</xliff:g> mnt"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Aktifkan secara otomatis"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Jadwal"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Nonaktifkan notifikasi ponsel pada waktu tertentu"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Setel aturan Jangan Ganggu"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Izinkan gangguan yang mengeluarkan suara"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokir gangguan visual"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Izinkan sinyal visual"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Notifikasi yang dapat menjangkau Anda"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Tetap fokus"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Tindakan tambahan"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Setelan layar"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Opsi tampilan"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"aktifkan tema gelap"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Gunakan pilihan teks terang dengan latar belakang gelap di OS dan aplikasi, yang mungkin akan lebih nyaman di mata dan menghemat baterai secara signifikan di beberapa perangkat"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Tidak ada perubahan tampilan}=1{{effect_1}}=2{{effect_1} dan {effect_2}}=3{{effect_1}, {effect_2}, dan {effect_3}}other{{effect_1}, {effect_2}, dan # lainnya}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filter gangguan"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Tidak ada gangguan yang difilter"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opsi tampilan untuk notifikasi yang difilter"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Saat mode Jangan Ganggu diaktifkan"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Tidak ada suara dari notifikasi"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"membuka notifikasi"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Izinkan penundaan notifikasi"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Titik notifikasi di ikon aplikasi"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Paket notifikasi"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Balon"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Balon"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Tampilkan percakapan ini dalam balon"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Kategori"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Lainnya"</string>
<string name="no_channels" msgid="4716199078612071915">"Aplikasi ini belum memposting notifikasi"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Tampilkan kategori yang tidak digunakan"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Setelan tambahan di aplikasi"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Tampilkan kategori yang tidak digunakan"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Sembunyikan kategori yang tidak digunakan"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Semua"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Izinkan aplikasi mengganti"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikasi yang boleh menginterupsi"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Pilih aplikasi lain"</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Casing"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Baterai"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Panel Setelan"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Paksa mode desktop"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Paksa mode desktop eksperimental di layar sekunder"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Aktifkan jendela freeform"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Aktifkan dukungan untuk jendela freeform."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Aktifkan windowing freeform di layar sekunder"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Aktifkan jendela freeform hanya di layar sekunder."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Aktifkan ukuran tidak dapat diubah di multi-jendela"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Izinkan aplikasi yang ukurannya tidak dapat diubah di multi-jendela"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Aktifkan Gelap Otomatis"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Partisi data perangkat ini perlu dikonversi ke ext4 sebelum menggunakan opsi developer 16KB. Integritas software tidak dapat dijamin dalam mode ini, dan data apa pun yang disimpan di ponsel saat bootloader dibuka kuncinya dapat berpotensi terkena bahaya. Mengaktifkan opsi 16KB akan memerlukan mulai ulang sekali lagi setelah ini. Setelah Anda berada dalam mode ini, Anda dapat beralih antara mode 4KB dan 16KB dengan sekali mulai ulang. Beberapa fitur akan dinonaktifkan dalam mode ini, sehingga beberapa aplikasi mungkin tidak berfungsi. Untuk mengembalikan perangkat ke mode produksi, Anda perlu beralih kembali ke mode 4KB dan mengunci bootloader, yang akan mereset perangkat ke setelan pabrik. Setelah perangkat berhasil melakukan booting ke Android, nonaktifkan pembukaan kunci OEM di Opsi developer. Perangkat akan dihapus total dan sistem file akan diubah menjadi ext4 setelah konfirmasi. Setelah selesai, kembali untuk mengaktifkan 16KB lagi."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Hapus semua data"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Gagal memformat ulang dan menghapus total partisi data ke ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Buka Kunci Bootloader Diperlukan untuk menggunakan Mode 16KB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Buka Kunci Bootloader Diperlukan"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Perangkat ini harus membuka kunci bootloader sebelum menggunakan opsi developer 16KB. Integritas software tidak dapat dijamin dalam mode ini, dan data apa pun yang disimpan di ponsel saat bootloader dibuka kuncinya dapat berpotensi terkena bahaya. Semua data dan setelan pengguna akan dihapus total saat mengaktifkan mode 16KB. Setelah bootloader dibuka kuncinya, mengaktifkan opsi 16KB akan memerlukan dua kali mulai ulang. Setelah Anda berada dalam mode ini, Anda dapat beralih antara mode 4KB dan 16KB dengan sekali mulai ulang. Beberapa fitur akan dinonaktifkan dalam mode ini, sehingga beberapa aplikasi mungkin tidak berfungsi. Untuk mengembalikan perangkat ke mode produksi, Anda perlu beralih kembali ke mode 4KB dan mengunci bootloader/OEM perangkat (yang akan mereset perangkat setelan pabrik). Buka kunci bootloader dan coba lagi. Anda dapat melihat petunjuk cara melakukannya di <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Menggunakan mode agnostik halaman 4KB"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Anda berada dalam mode 4KB dari mode agnostik halaman. Integritas software tidak dapat dijamin dalam mode ini, dan data apa pun yang disimpan di ponsel saat bootloader dibuka kuncinya dapat berpotensi terkena bahaya. Beberapa fitur akan dinonaktifkan dalam mode ini, sehingga beberapa aplikasi mungkin tidak berfungsi. Agar dapat kembali masuk ke mode produksi, Anda harus mengunci bootloader perangkat. Ketuk untuk membaca selengkapnya."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Anda berada dalam mode 4KB dari mode agnostik halaman. Integritas software tidak dapat dijamin dalam mode ini, dan data apa pun yang disimpan di ponsel saat bootloader dibuka kuncinya dapat berpotensi terkena bahaya. Beberapa fitur akan dinonaktifkan dalam mode ini, sehingga beberapa aplikasi mungkin tidak berfungsi. Agar dapat kembali masuk ke mode produksi, Anda harus mengunci bootloader perangkat. Tindakan ini akan mereset perangkat ke setelan pabrik dan memulihkannya ke setelan produksi. Setelah perangkat berhasil melakukan booting ke Android, nonaktifkan pembukaan kunci OEM di Opsi developer. Jika perangkat gagal melakukan booting ke Android atau tidak stabil, flash ulang perangkat dengan setelan pabrik terbaru dari <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> atau gunakan <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> dan pilih \'Hapus Total Perangkat\', \'Kunci Bootloader\', dan \'Paksa Flash semua partisi\'."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Menggunakan mode agnostik halaman 16KB"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Anda berada dalam mode 16KB dari mode agnostik halaman. Integritas software tidak dapat dijamin dalam mode ini, dan data apa pun yang disimpan di ponsel saat bootloader dibuka kuncinya dapat berpotensi terkena bahaya. Beberapa fitur akan dinonaktifkan dalam mode ini, sehingga beberapa aplikasi mungkin tidak berfungsi. Agar dapat kembali masuk ke mode produksi, Anda harus beralih kembali ke mode 4K dan kemudian mengunci bootloader perangkat. Ketuk untuk membaca selengkapnya."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Anda berada dalam mode 16KB dari mode agnostik halaman. Integritas software tidak dapat dijamin dalam mode ini, dan data apa pun yang disimpan di ponsel saat bootloader dibuka kuncinya dapat berpotensi terkena bahaya. Beberapa fitur akan dinonaktifkan dalam mode ini, sehingga beberapa aplikasi mungkin tidak berfungsi. Agar dapat kembali masuk ke mode produksi, Anda harus beralih kembali ke mode 4K dan kemudian mengunci bootloader perangkat. Tindakan ini akan mereset perangkat ke setelan pabrik dan memulihkannya ke setelan produksi. Setelah perangkat berhasil melakukan booting ke Android, nonaktifkan pembukaan kunci OEM di Opsi developer. Jika perangkat gagal melakukan booting ke Android atau tidak stabil, flash ulang perangkat dengan setelan pabrik terbaru dari <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> atau gunakan <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> dan pilih \'Hapus Total Perangkat\', \'Kunci Bootloader\', dan \'Paksa Flash semua partisi\'."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Anda berada dalam mode 16 KB dari mode yang tidak terikat ukuran halaman. Integritas software tidak dapat dijamin dalam mode ini, dan data apa pun yang disimpan di ponsel saat bootloader dibuka kuncinya dapat berpotensi terkena bahaya. Beberapa fitur akan dinonaktifkan dalam mode ini, sehingga beberapa aplikasi mungkin tidak berfungsi. Agar dapat kembali masuk ke mode produksi, Anda harus beralih kembali ke mode 4 KB dan kemudian mengunci bootloader perangkat. Ketuk untuk membaca selengkapnya."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Anda berada dalam mode 16 KB dari mode yang tidak terikat ukuran halaman. Integritas software tidak dapat dijamin dalam mode ini, dan data apa pun yang disimpan di ponsel saat bootloader dibuka kuncinya dapat berpotensi terkena bahaya. Beberapa fitur akan dinonaktifkan dalam mode ini, sehingga beberapa aplikasi mungkin tidak berfungsi. Agar dapat kembali masuk ke mode produksi, Anda harus beralih kembali ke mode 4 KB dan kemudian mengunci bootloader perangkat. Tindakan ini akan mereset perangkat ke setelan pabrik dan memulihkannya ke setelan produksi. Setelah perangkat berhasil melakukan booting ke Android, nonaktifkan pembukaan kunci OEM di Opsi developer. Jika perangkat gagal melakukan booting ke Android atau tidak stabil, flash ulang perangkat dengan setelan pabrik terbaru dari <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> atau gunakan <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> dan pilih \'Hapus Total Perangkat\', \'Kunci Bootloader\', dan \'Paksa Flash semua partisi\'."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Mode Agnostik halaman 16KB"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Baca selengkapnya"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Pengendali laporan bug"</string>
@@ -5007,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Gunakan penyematan aplikasi"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Gunakan opsi developer"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Gunakan layanan cetak"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Izinkan multi-pengguna"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"izinkan, beberapa, pengguna, izin, banyak"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"beberapa, pengguna, profil, orang, akun, tombol akses, banyak"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Gunakan proses debug nirkabel"</string>
@@ -5121,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Pilih screensaver yang akan ditampilkan di layar saat tablet dipasang ke dok. Perangkat Anda mungkin menggunakan lebih banyak daya saat screensaver digunakan."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Sesuaikan"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Sesuaikan <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Perlu memulai ulang untuk mengaktifkan dukungan bentuk bebas."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Perlu memulai ulang untuk memaksa mode desktop di layar sekunder."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Perlu memulai ulang untuk mengaktifkan dukungan windowing freeform versi lama."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Perlu memulai ulang untuk mengubah dukungan windowing freeform."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Perlu memulai ulang untuk memaksa windowing freeform di layar sekunder."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Mulai ulang sekarang"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Mulai ulang nanti"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Audio Spasial"</string>
@@ -5351,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Dengarkan streaming"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Pindai kode QR streaming audio agar dapat mendengarkan dengan <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Tidak dapat mengedit sandi saat sedang membagikan audio. Untuk mengubah sandi, nonaktifkan berbagi audio terlebih dahulu."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-is/arrays.xml b/res/values-is/arrays.xml
index 1360f8c..c791ae1 100644
--- a/res/values-is/arrays.xml
+++ b/res/values-is/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Svefntími"</item>
+ <item msgid="4152450357280759894">"Akstur"</item>
+ <item msgid="7096549258219399423">"Umlykjandi"</item>
+ <item msgid="2760716776980432977">"Í umsjón"</item>
+ <item msgid="601734478369121764">"Stjarna"</item>
+ <item msgid="6243809315432780521">"Dagatal"</item>
+ <item msgid="4913577903148415331">"Tími"</item>
+ <item msgid="3653377604690057780">"Leikhús"</item>
+ <item msgid="3843711267408385410">"Blóm"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index bb42719..fc1702c 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Stillingar heyrnartækis"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Flýtileið, samhæfi við heyrnartæki"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Forstilling"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Heyrnarsérfræðingurinn þinn hefur ekki valið neinar forstillingar"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Tókst ekki að uppfæra forstillingu"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Hljóðúttak"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Um hljóðúttak"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Andliti og <xliff:g id="WATCH">%s</xliff:g> bætt við"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Andliti, fingrafari og <xliff:g id="WATCH">%s</xliff:g> bætt við"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Andliti, fingraförum og <xliff:g id="WATCH">%s</xliff:g> bætt við"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Þetta er nauðsynlegt þar sem kveikt er á auðkennisathugun"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Taka úr lás með Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Úri bætt við"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Setja upp úr"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Nánar um opnun með úri"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Bæta við úri"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Fjarlægja úr"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Fingrafar og andlitskenni"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Andlits- og fingrafarskenni"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Andlits- og fingrafarskenni fyrir vinnu"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Þörf er á uppsetningu"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Andliti og fingraförum bætt við"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Settu upp forrit"</b>\n"Settu upp forrit sem þú vilt halda leyndum í rýminu þínu"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Hafðu í huga"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Forrit stöðvast þegar þú læsir rýminu þínu"</b>\n"Þegar þú læsir rýminu þínu eru forrit í því rými stöðvuð og þú færð ekki tilkynningar frá þeim"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Leynirými henta ekki fyrir forrit sem þurfa að keyra í bakgrunni eða senda mikilvægar tilkynningar, s.s. forrit sem notuð eru í læknisfræðilegum tilgangi. Það er vegna þess að tilkynningar og bakgrunnsvirkni stöðvast þegar rýmið er læst.\n\nForrit í leynirýminu þínu birtast ekki í leyfisstjóra, á persónuverndarstjórnborði og í öðrum stillingum þegar leynirýmið er læst.\n\nEkki er hægt að flytja leynirými yfir í nýtt tæki. Þú þarft að setja upp nýtt leynirými ef þú vilt nota það í öðru tæki.\n\nHver sem tengir tækið þitt við tölvu eða setur upp skaðleg forrit í tækinu gæti fengið aðgang að leynirýminu."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Leynirými henta ekki fyrir forrit sem þurfa að keyra í bakgrunni eða senda mikilvægar tilkynningar, s.s. forrit sem notuð eru í læknisfræðilegum tilgangi. Það er vegna þess að tilkynningar og bakgrunnsvirkni stöðvast þegar rýmið er læst.\n\nForrit í leynirýminu þínu birtast ekki í leyfisstjóra, á persónuverndarstjórnborði og í öðrum stillingum þegar leynirýmið er læst.\n\nEkki er hægt að endurheimta leynirými í nýju tæki. Þú þarft að setja upp annað rými ef þú vilt nota það í öðru tæki.\n\nHver sem tengir tækið þitt við tölvu eða setur upp skaðleg forrit í tækinu gæti fengið aðgang að leynirýminu."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Nánar um leynirými"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Þetta tekur stutta stund"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Setur upp leynirými…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Endurræsa tæki?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Ítarleg NFC-skráning er aðeins ætluð í þróunartilgangi. Viðbótargögn um NFC fylgja villutilkynningum sem kunna að innihalda lokaðar upplýsingar. Endurræstu tækið til að breyta þessari stillingu."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Endurræsa"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Útsending"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"spegla"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Leyfa þráðlausan skjá"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Breytilegir"</string>
<string name="brightness" msgid="6216871641021779698">"Birtustig"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Aðlögun birtustigs"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Um aðlögun birtustigs"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Birtustigi skjásins verður breytt sjálfkrafa í samræmi við umhverfið og hvað þú ert að gera. Þú getur fært sleðann til að hjálpa aðlögun birtustigs að læra inn á hvernig þú vilt hafa birtuna."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Kveikt"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Slökkt"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Valkostir"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Aðgengi"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Vélbúnaðarlyklaborð"</string>
- <string name="show_ime" msgid="4334255501724746849">"Nota skjályklaborð"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Haltu því á skjánum meðan vélbúnaðarlyklaborðið er virkt"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Endurkastslyklar"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Lyklaborðið hunsar snöggan endurtekinn innslátt á sama lykilinn innan <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Hægir lyklar"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Valið af notanda: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Tal"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Hraði bendils"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Leikjafjarstýring"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Endurbeina titringi"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Senda titring í leikjafjarstýringu þegar hún er tengd"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Halda samt áfram"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Hætta við"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Stillingar stækkunar"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Hliðrun með einum fingri"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Færðu stækkunarglerið með 1 fingri"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Dragðu með 1 fingri til að fara um skjáinn"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Færðu stækkaða svæðið með því að draga einn fingur."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Færðu stækkaða svæðið með því að draga tvo fingur."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Ótiltækt þegar aðeins hluti skjásins er stækkaður"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Ýttu á hnapp til að stækka"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Auktu aðdráttinn á skjánum til að stækka efnið"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Gerðu eftirfarandi til að auka aðdrátt:</b><br/> {0,number,integer}. Notaðu flýtileið til að hefja stækkun<br/> {1,number,integer}. Ýttu á skjáinn<br/> {2,number,integer}. Dragðu 2 fingur til að ferðast um skjáinn<br/> {3,number,integer}. Færðu tvo fingur saman til að stilla aðdráttinn<br/> {4,number,integer}. Notaðu flýtileið til að hætta stækkun<br/><br/> <b>Til að auka aðdrátt tímabundið:</b><br/> {0,number,integer}. Gakktu úr skugga um að stækkunaraðferðin sé stillt til að birtast á öllum skjánum<br/> {1,number,integer}. Notaðu flýtileið til að hefja stækkun<br/> {2,number,integer}. Haltu fingri hvar sem er á skjánum<br/> {3,number,integer}. Dragðu fingurinn til að ferðast um skjáinn<br/> {4,number,integer}. Lyftu fingri til að hætta stækkun"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Gerðu eftirfarandi til að auka aðdrátt:</b><br/> {0,number,integer}. Notaðu flýtileið til að hefja stækkun<br/> {1,number,integer}. Ýttu á skjáinn<br/> {2,number,integer}. Dragðu 2 fingur til að fara um skjáinn<br/> {3,number,integer}. Færðu 2 fingur saman til að stilla aðdráttinn<br/> {4,number,integer}. Notaðu flýtileið til að stöðva stækkun<br/><br/> Þú getur líka aukið aðdrátt tímabundið og fleira."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Gerðu eftirfarandi til að auka aðdrátt:</b><br/> {0,number,integer}. Notaðu flýtileið til að hefja stækkun<br/> {1,number,integer}. Ýttu á skjáinn<br/> {2,number,integer}. Dragðu 1 eða 2 fingur til að fara um skjáinn<br/> {3,number,integer}. Færðu 2 fingur saman til að stilla aðdráttinn<br/> {4,number,integer}. Notaðu flýtileið til að stöðva stækkun<br/><br/> Þú getur líka aukið aðdrátt tímabundið og fleira."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Þegar kveikt er á stækkun geturðu aukið aðdráttinn á skjánum.\n\n"<b>"Til að stækka"</b>" skaltu hefja stækkun og ýta svo hvar sem er á skjáinn.\n"<ul><li>"Dragðu með tveimur eða fleiri fingrum til að fletta"</li>\n<li>"Færðu tvo eða fleiri fingur saman til að stilla aðdrátt"</li></ul>\n\n<b>"Til að stækka tímabundið"</b>" skaltu hefja stækkun og halda síðan fingri hvar sem er á skjánum.\n"<ul><li>"Dragðu til að fara um skjáinn"</li>\n<li>"Lyftu fingrinum til að minnka aðdrátt"</li></ul>\n\n"Þú getur ekki stækkað á lyklaborðinu eða yfirlitsstikunni."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Síða <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> af <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Flýtileið fyrir aðgengishnapp"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Fáðu aðeins tilkynningar frá mikilvægum einstaklingum og forritum"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Veldu virkjunartegund"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Tími"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"T.d. „9:30 – 17:00“"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Dagatal"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"T.d. „Persónulegt dagatal“"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Búðu til stillingu"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Sérsniðin"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Takmarka truflanir"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Kveikja á „Ónáðið ekki“"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Vekjarar og hljóð efnis mega trufla"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Tímaáætlanir"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Eyða áætlunum"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Eyða"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Breyta"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Áætlanir"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Áætlun"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Stilla áætlun"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Áætlun"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> klst. og <xliff:g id="MINUTES">%2$d</xliff:g> mín."</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Kveikja sjálfkrafa"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Áætlun"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Þagga í símanum á vissum tíma"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Stilla reglur fyrir „Ónáðið ekki“"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Leyfa truflanir sem gefa frá sér hljóð"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Útiloka sjónrænt áreiti"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Leyfa sjónræn merki"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Tilkynningar sem geta náð til þín"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Haltu einbeitingunni"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Fleiri aðgerðir"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Skjástillingar"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Birtingarvalkostir"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"kveikja á dökku þema"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Stilltu stýrikerfið og forrit á að hafa ljósan texta á dökkum bakgrunni, sem getur verið þægilegra fyrir augun og hefur í för með sér umtalsverðan rafhlöðusparnað í sumum tækjum"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Engar skjábreytingar}=1{{effect_1}}=2{{effect_1} og {effect_2}}=3{{effect_1}, {effect_2} og {effect_3}}one{{effect_1}, {effect_2} og # í viðbót}other{{effect_1}, {effect_2} og # í viðbót}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Sía truflanir"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Engar truflanir eru síaðar"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Skjávalkostir fyrir síaðar tilkynningar"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Þegar kveikt er á „Ónáðið ekki“"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Ekkert hljóð frá tilkynningum"</string>
@@ -3483,6 +3541,8 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"opna tilkynningu"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Leyfa þöggun tilkynninga"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Tilkynningapunktur á forritstákni"</string>
+ <!-- no translation found for notification_bundles (3614044525822580826) -->
+ <skip />
<string name="notification_bubbles_title" msgid="5681506665322329301">"Blöðrur"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Blöðrur"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Setja þetta samtal í blöðru"</string>
@@ -3664,6 +3724,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Flokkar"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Annað"</string>
<string name="no_channels" msgid="4716199078612071915">"Þetta forrit hefur ekki birt neinar tilkynningar"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Sýna ónotaða flokka"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Fleiri stillingar í forritinu"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Sýna ónotaða flokka"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Fela ónotaða flokka"</string>
@@ -3775,6 +3836,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Öll"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Leyfa forritum að hnekkja"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Forrit sem mega trufla"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Veldu fleiri forrit"</string>
@@ -4799,8 +4862,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Hulstur"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Rafhlaða"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Stillingasvæði"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Þvinga skjáborðsstillingu"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Þvinga tilraunaskjáborðsstillingu á öðrum skjá"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Virkja glugga á frjálsu sniði"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Virkja stuðning við glugga á frjálsu sniði."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Virkja glugga á frjálsu sniði á aukaskjá"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Virkja glugga á frjálsu sniði eingöngu á aukaskjá."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Kveikja á „Ekki hægt að breyta stærð“ í mörgum gluggum"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Leyfir forritum sem ekki er hægt að breyta stærðinni á að opnast í mörgum gluggum"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Hnekkja dökku"</string>
@@ -4868,14 +4933,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Þú þarft að breyta gagnaskiptingu tækisins í ext4 áður en þú getur valið 16 kB-forritunarkostinn. Ekki er hægt að tryggja heilleika hugbúnaðarins í þessari stillingu og öll gögn símans kunna að vera í hættu á meðan ræsiforritið er ólæst. Virkjun 16 kB-valkostsins krefst þess að tækið sé endurræst einu sinni í viðbót. Þegar þú hefur virkjað þessa stillingu geturðu skipt á milli 4 kB- og 16 kB-stillinganna með því að endurræsa tækið einu sinni. Í þessum stillingum er slökkt á tilteknum eiginleikum og því munu einhver forrit ekki virka. Til að kveikja á framleiðslustillingu tækisins á ný þarftu að núllstilla tækið með því að skipta aftur yfir í 4 kB-stillingu og læsa ræsiforritinu. Slökktu síðan á „Taka ræsiforrit úr lás“ í forritunarkostunum þegar tækið hefur ræst Android. Að lokinni staðfestingu verður tækið straujað og skráarkerfinu breytt í ext4. Að því loknu skaltu koma hingað aftur til að virkja 16 kB á ný."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Eyða öllum gögnum"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Ekki tókst að endursníða og strauja gagnaskiptinguna til að breyta henni í ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16 kB-stilling krefst þess að ræsiforritið sé tekið úr lás"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Krefst þess að ræsiforritið sé tekið úr lás"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Þú þarft að taka ræsiforrit tækisins úr lás áður en þú getur valið 16 kB-forritunarkostinn. Ekki er hægt að tryggja heilleika hugbúnaðarins í þessari stillingu og öll gögn símans kunna að vera í hættu á meðan ræsiforritið er ólæst. Öll notandagögn og stillingar verða straujaðar þegar 16 kB-stillingin er virkjuð. Þegar ræsiforritið hefur verið tekið úr lás mun virkjun 16 kB-stillingarinnar krefjast þess að tækið sé endurræst tvisvar sinnum. Þegar þú hefur virkjað þessa stillingu geturðu skipt á milli 4 kB- og 16 kB-stillinganna með því að endurræsa tækið einu sinni. Í þessum stillingum er slökkt á tilteknum eiginleikum og því munu einhver forrit ekki virka. Til að kveikja á framleiðslustillingu tækisins á ný þarftu að núllstilla tækið með því að skipta aftur yfir í 4 kB-stillingu og læsa ræsiforritinu. Taktu ræsiforritið úr lás og reyndu aftur. Leiðbeiningar um hvernig þetta er framkvæmt má finna á <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Notar 4 kB-stillingu óháðrar síðustillingar"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Þú ert að nota 4 kB-stillingu óháðrar síðustillingar. Ekki er hægt að tryggja heilleika hugbúnaðarins í þessari stillingu og öll gögn símans kunna að vera í hættu á meðan ræsiforritið er ólæst. Í þessum stillingum er slökkt á tilteknum eiginleikum og því munu einhver forrit ekki virka. Til að kveikja á framleiðslustillingu tækisins á ný þarfðu að læsa ræsiforriti tækisins. Ýttu til að lesa meira."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Þú ert að nota 4 kB-stillingu óháðrar síðustillingar. Ekki er hægt að tryggja heilleika hugbúnaðarins í þessari stillingu og öll gögn símans kunna að vera í hættu á meðan ræsiforritið er ólæst. Í þessum stillingum er slökkt á tilteknum eiginleikum og því munu einhver forrit ekki virka. Til að kveikja á framleiðslustillingu tækisins á ný þarfðu að læsa ræsiforriti tækisins. Við þetta mun tækið núllstillast og kveikja á framleiðslustillingu á ný. Slökktu síðan á „Taka ræsiforrit úr lás“ í forritunarkostunum þegar tækið hefur ræst Android. Ef tækið er óstöðugt eða því tekst ekki að ræsa Android skaltu uppfæra tækið aftur með nýjustu útgáfu núllstillingarmynda af <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> eða fara á <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> og velja „Strauja tæki“, „Læsa ræsiforriti“ og „Þvinga uppfærslu allra deilda“."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Notar 16 kB-stillingu óháðrar síðustillingar"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Þú ert að nota 16 kB-stillingu óháðrar síðustillingar. Ekki er hægt að tryggja heilleika hugbúnaðarins í þessari stillingu og öll gögn símans kunna að vera í hættu á meðan ræsiforritið er ólæst. Í þessum stillingum er slökkt á tilteknum eiginleikum og því munu einhver forrit ekki virka. Til að kveikja á framleiðslustillingu tækisins á ný þarftu að skipta aftur yfir í 4 kB-stillingu og læsa ræsiforriti tækisins. Ýttu til að lesa meira."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Þú ert að nota 16 kB-stillingu óháðrar síðustillingar. Ekki er hægt að tryggja heilleika hugbúnaðarins í þessari stillingu og öll gögn símans kunna að vera í hættu á meðan ræsiforritið er ólæst. Í þessum stillingum er slökkt á tilteknum eiginleikum og því munu einhver forrit ekki virka. Til að kveikja á framleiðslustillingu tækisins á ný þarftu að skipta aftur yfir í 4 kB-stillingu og læsa ræsiforriti tækisins. Við þetta mun tækið núllstillast og kveikja á framleiðslustillingu á ný. Slökktu síðan á „Taka ræsiforrit úr lás“ í forritunarkostunum þegar tækið hefur ræst Android. Ef tækið er óstöðugt eða því tekst ekki að ræsa Android skaltu uppfæra tækið aftur með nýjustu útgáfu núllstillingarmynda af <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> eða fara á <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> og velja „Strauja tæki“, „Læsa ræsiforriti“ og „Þvinga uppfærslu allra deilda“."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Þú ert að nota 16 kB-stillingu óháðrar síðustillingar. Ekki er hægt að tryggja heilleika hugbúnaðarins í þessari stillingu og öll gögn símans kunna að vera í hættu á meðan ræsiforritið er ólæst. Í þessum stillingum er slökkt á tilteknum eiginleikum og því munu einhver forrit ekki virka. Til að kveikja á framleiðslustillingu tækisins á ný þarftu að skipta aftur yfir í 4 kB-stillingu og læsa ræsiforriti tækisins. Ýttu til að lesa meira."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Þú ert að nota 16 kB-stillingu óháðrar síðustillingar. Ekki er hægt að tryggja heilleika hugbúnaðarins í þessari stillingu og öll gögn símans kunna að vera í hættu á meðan ræsiforritið er ólæst. Í þessum stillingum er slökkt á tilteknum eiginleikum og því munu einhver forrit ekki virka. Til að kveikja á framleiðslustillingu tækisins á ný þarftu að skipta aftur yfir í 4 kB-stillingu og læsa ræsiforriti tækisins. Við þetta mun tækið núllstillast og kveikja á framleiðslustillingu á ný. Slökktu síðan á „Taka ræsiforrit úr lás“ í forritunarkostunum þegar tækið hefur ræst Android. Ef tækið er óstöðugt eða því tekst ekki að ræsa Android skaltu uppfæra tækið aftur með nýjustu útgáfu núllstillingarmynda af <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> eða fara á <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> og velja „Strauja tæki“, „Læsa ræsiforriti“ og „Þvinga uppfærslu allra skiptinga“."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16 kB-stilling óháðrar síðustillingar"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Lesa meira"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Meðhöndlun villutilkynningar"</string>
@@ -5007,7 +5072,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Nota forritsfestingu"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Nota forritunarkosti"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Nota prentþjónustu"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Leyfa marga notendur"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"leyfa, margir, notandi, leyfi, margir"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"margir, notendur, prófílar, fólk, reikningar, skipta, margt"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Nota þráðlausa villuleit"</string>
@@ -5121,8 +5187,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Veldu það sem á að birta á skjánum á meðan spjaldtölvan er í dokkunni. Tækið kann að nota meiri orku þegar skjávarinn er notaður."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Sérsníða"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Sérsníða <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Endurræsingar er krafist til að kveikja á stuðningi við Freeform."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Endurræsingar er krafist til að þvinga skjáborðsstillingu á öðrum skjáum."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Endurræsingar er krafist fyrir virkjun stuðnings við eldri glugga á frjálsu sniði."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Endurræsingar er krafist fyrir breytingu á stuðningi við glugga á frjálsu sniði."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Endurræsingar er krafist fyrir þvingun glugga á frjálsu sniði á aukaskjáum."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Endurræsa núna"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Endurræsa seinna"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Rýmishljóð"</string>
@@ -5351,4 +5418,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Hlusta á streymi"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Skannaðu QR-kóða hljóðstreymis til að hlusta með <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Ekki hægt að breyta aðgangsorði á meðan deilt er. Til að breyta aðgangsorðinu skaltu fyrst slökkva á hljóðdeilingu."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-it/arrays.xml b/res/values-it/arrays.xml
index 8263d22..2a88c60 100644
--- a/res/values-it/arrays.xml
+++ b/res/values-it/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Riposo"</item>
+ <item msgid="4152450357280759894">"Alla guida"</item>
+ <item msgid="7096549258219399423">"Immersiva"</item>
+ <item msgid="2760716776980432977">"Gestita"</item>
+ <item msgid="601734478369121764">"Stella"</item>
+ <item msgid="6243809315432780521">"Calendario"</item>
+ <item msgid="4913577903148415331">"Tempo"</item>
+ <item msgid="3653377604690057780">"Teatro"</item>
+ <item msgid="3843711267408385410">"Fiore"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 0e76def..dab894b 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Impostazioni protesi uditive"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Scorciatoia, compatibilità con apparecchi acustici"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Preset"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Non sono presenti preset programmati dal tuo audiologo"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Impossibile aggiornare preset"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Uscita audio"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Informazioni su uscita audio"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Volto e <xliff:g id="WATCH">%s</xliff:g> aggiunti"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Volto, impronta e <xliff:g id="WATCH">%s</xliff:g> aggiunti"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Volto, impronte e <xliff:g id="WATCH">%s</xliff:g> aggiunti"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"È necessario perché la verifica dell\'identità è attiva"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Sblocco Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Smartwatch aggiunto"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Configura l\'orologio"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Scopri di più su Sblocco dall\'orologio"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Aggiungi smartwatch"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Rimuovi smartwatch"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Sblocco con il Volto e l\'Impronta"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Sblocco con il Volto e con l\'Impronta"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Sblocco con il Volto e l\'Impronta per lavoro"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Configurazione richiesta"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Impronte e volto aggiunti"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Installa le app"</b>\n"Installa le app che vuoi mantenere private nel tuo spazio"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Aspetti da considerare"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Le app vengono interrotte quando blocchi il tuo spazio"</b>\n"Quando blocchi il tuo spazio, le app al suo interno verranno interrotte e non ti invieranno notifiche"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Gli spazi privati non sono adatti per le app che devono essere eseguite in background o inviare notifiche critiche, come le app mediche. Questo perché le notifiche e le attività in background vengono interrotte quando il tuo spazio è bloccato.\n\nLe app nel tuo spazio privato non verranno visualizzate nella gestione autorizzazioni, nella dashboard della privacy e in altre impostazioni quando lo spazio privato è bloccato.\n\nIl tuo spazio privato non può essere ripristinato su un nuovo dispositivo. Dovrai configurare un altro spazio privato per poterlo usare su un altro dispositivo.\n\nChiunque colleghi il dispositivo a un computer o installi app dannose sul dispositivo può avere accesso al tuo spazio privato."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Gli spazi privati non sono adatti per le app che devono essere eseguite in background o inviare notifiche critiche, come le app mediche. Questo perché le notifiche e le attività in background vengono interrotte quando lo spazio è bloccato.\n\nLe app nel tuo spazio privato non verranno visualizzate nella gestione autorizzazioni, nella dashboard della privacy e in altre impostazioni quando lo spazio privato è bloccato.\n\nIl tuo spazio privato non può essere ripristinato su un nuovo dispositivo. Dovrai configurare un altro spazio se vuoi usarlo su un altro dispositivo.\n\nChiunque colleghi il tuo dispositivo a un computer o installi app dannose sul tuo dispositivo potrebbe accedere al tuo spazio privato."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Scopri di più sullo spazio privato"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"L\'operazione richiederà alcuni istanti"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Configurazione dello spazio privato in corso…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Vuoi riavviare il dispositivo?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Il logging NFC dettagliato è a solo scopo di sviluppo. Vengono inclusi dati NFC aggiuntivi nelle segnalazioni di bug, che potrebbero contenere informazioni private. Riavvia il dispositivo per cambiare questa impostazione."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Riavvia"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Trasmissione"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"mirroring"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Attiva display wireless"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Adattivi"</string>
<string name="brightness" msgid="6216871641021779698">"Livello di luminosità"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Luminosità adattiva"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Informazioni sulla luminosità adattiva"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"La luminosità dello schermo verrà regolata automaticamente in base all\'ambiente e alle attività. Puoi spostare manualmente il cursore per far sì che la luminosità adattiva memorizzi le tue preferenze."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"On"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Off"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Opzioni"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibilità"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Tastiera fisica"</string>
- <string name="show_ime" msgid="4334255501724746849">"Usa tastiera sullo schermo"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Tienila sullo schermo quando è attiva la tastiera fisica"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Tasti rimbalzati"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"La tastiera ignora pressioni ripetute velocemente dello stesso tasto entro <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Tasti lenti"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Selezionato dall\'utente: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Voce"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Velocità del puntatore"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Controller di gioco"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Reindirizza vibrazione"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Invia la vibrazione al controller di gioco quando è collegato"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continua comunque"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Annulla"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Impostazioni ingrandimento"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Panning con un dito"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Muovi Lente d\'ingrandimento con 1 dito"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Trascina 1 dito per spostarti nella schermata"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Sposta l\'area di ingrandimento trascinando un dito."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Sposta l\'area di ingrandimento trascinando due dita."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Non disponibile quando viene ingrandita solo una parte dello schermo"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tocca un pulsante per eseguire lo zoom"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Aumenta velocemente lo zoom sullo schermo per ingrandire i contenuti"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Per aumentare lo zoom:</b><br/> {0,number,integer}. Usa la scorciatoia per avviare l\'ingrandimento<br/> {1,number,integer}. Tocca lo schermo<br/> {2,number,integer}. Trascina 2 dita per spostarti sullo schermo<br/> {3,number,integer}. Pizzica con 2 dita per regolare lo zoom<br/> {4,number,integer}. Usa la scorciatoia per interrompere l\'ingrandimento<br/><br/> <b>Per aumentare lo zoom temporaneamente:</b><br/> {0,number,integer}. Assicurati che sia impostato il tipo di ingrandimento a schermo intero<br/> {1,number,integer}. Usa la scorciatoia per avviare l\'ingrandimento<br/> {2,number,integer}. Tocca e tieni premuto un punto qualsiasi dello schermo<br/> {3,number,integer}. Trascina il dito per spostarti sullo schermo<br/> {4,number,integer}. Solleva il dito per interrompere l\'ingrandimento"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Per aumentare lo zoom:</b><br/> {0,number,integer}. Usa la scorciatoia per avviare l\'ingrandimento.<br/> {1,number,integer}. Tocca lo schermo.<br/> {2,number,integer}. Trascina 2 dita per spostarti sullo schermo.<br/> {3,number,integer}. Pizzica con 2 dita per regolare lo zoom.<br/> {4,number,integer}. Utilizza la scorciatoia per interrompere l\'ingrandimento<br/><br/> Puoi anche aumentare lo zoom temporaneamente e altro ancora."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Per aumentare lo zoom:</b><br/> {0,number,integer}. Usa la scorciatoia per avviare l\'ingrandimento.<br/> {1,number,integer}. Tocca lo schermo.<br/> {2,number,integer}. Trascina 1 o 2 dita per spostarti sullo schermo<br/> {3,number,integer}. Pizzica con 2 dita per regolare lo zoom.<br/> {4,number,integer}. Utilizza la scorciatoia per interrompere l\'ingrandimento<br/><br/> Puoi anche aumentare lo zoom temporaneamente e altro ancora."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Quando è attivo l\'ingrandimento, puoi aumentare lo zoom sullo schermo.\n\n"<b>"Per eseguire lo zoom"</b>", avvia l\'ingrandimento, quindi tocca un punto qualsiasi sullo schermo.\n"<ul><li>"Trascina almeno due dita per scorrere"</li>\n<li>"Pizzica con almeno due dita per regolare lo zoom."</li></ul>\n\n<b>"Per ingrandire temporaneamente"</b>", avvia l\'ingrandimento, quindi tocca e tieni premuto un punto qualsiasi sullo schermo.\n"<ul><li>"Trascina per spostarti sullo schermo"</li>\n<li>"Solleva il dito per ridurre lo zoom"</li></ul>\n\n"Non puoi aumentare lo zoom sulla tastiera o nella barra di navigazione."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Pagina <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> di <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Scorciatoia pulsante Accessibilità"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Ricevi soltanto le notifiche di app e persone importanti"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Seleziona tipo di attivazione"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Ora"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Ad esempio, \"9:30 – 17:00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Calendario"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Ad esempio, \"Calendario personale\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Crea una modalità"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Personalizzato"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitare le interruzioni"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Attiva Non disturbare"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Sveglie e suoni multimediali possono interrompere"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Pianificazioni"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Elimina pianificazioni"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Elimina"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Modifica"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Pianificazioni"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Pianificazione"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Imposta una programmazione"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Programmazione"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h, <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Attiva automaticamente"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Pianificazione"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Disattiva la suoneria in orari specifici"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Imposta regole Non disturbare"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Consenti le interruzioni sonore"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blocca interruzioni visive"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Consenti segnali visivi"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Notifiche che possono arrivarti"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Mantieni la concentrazione"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Azioni aggiuntive"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Impostazioni di visualizzazione"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Opzioni di visualizzazione"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"attiva tema scuro"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Scegli l\'opzione Testo chiaro su sfondo scuro per il sistema operativo e le app per non stancare gli occhi e consentire un notevole risparmio della batteria su alcuni dispositivi"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Nessuna modifica del display}=1{{effect_1}}=2{{effect_1} e {effect_2}}=3{{effect_1}, {effect_2} e {effect_3}}other{{effect_1}, {effect_2} e altri #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filtra interruzioni"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Nessuna interruzione filtrata"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Mostra opzioni per le notifiche filtrate"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Quando è attiva la modalità Non disturbare"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Notifiche senza audio"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"viene aperta la notifica"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Consenti posticipazione delle notifiche"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Indicatore di notifica su icona app"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Bundle di notifiche"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Bolle"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bolle"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Mostra conversazione sotto forma di bolla"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Categorie"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Altro"</string>
<string name="no_channels" msgid="4716199078612071915">"L\'app non ha pubblicato alcuna notifica"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Mostra le categorie inutilizzate"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Altre impostazioni nell\'app"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Mostra le categorie inutilizzate"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Nascondi le categorie inutilizzate"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Tutti"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Consenti alle app di ignorarla"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"App che possono interrompere"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Seleziona altre app"</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Custodia"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batteria"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Riquadro delle impostazioni"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Forza la modalità desktop"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Forza la modalità desktop sperimentale su display secondari"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Attiva finestre a forma libera"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Attiva il supporto delle finestre a forma libera."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Attiva finestre a forma libera sul secondo display"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Attiva le finestre a forma libera solo sul secondo display."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Attiva app non ridimensionabili in multi-finestra"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Consente la presenza di app non ridimensionabili in modalità multi-finestra"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Esegui override modalità Buio forzata"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"La partizione dei dati del dispositivo deve essere convertita in ext4 prima di usare l\'opzione sviluppatore a 16 kB. Non è possibile garantire l\'integrità del software in questa modalità e i dati archiviati sullo smartphone potrebbero essere a rischio finché il bootloader è sbloccato. Se attivi l\'opzione a 16 kB, sarà necessario un ulteriore riavvio. Una volta che sarà attiva questa modalità, potrai passare dalla modalità a 4 kB a quella a 16 kB con un solo riavvio. Alcune funzionalità verranno disattivate in queste modalità, pertanto alcune applicazioni potrebbero non funzionare. Per far tornare il dispositivo in modalità di produzione, dovrai tornare alla modalità a 4 kB e bloccare il bootloader, il che ripristina i dati di fabbrica del dispositivo. Dopo che Android viene avviato correttamente sul dispositivo, disattiva lo sblocco OEM nelle Opzioni sviluppatore. Tutti i dati verranno cancellati dal dispositivo e il file system verrà convertito in ext4 dopo la conferma. Quando termina l\'operazione, riabilita nuovamente la modalità a 16 kB."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Resetta tutti i dati"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Impossibile riformattare e cancellare la partizione di dati in ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Sblocco del bootloader richiesto per la modalità a 16 kB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Sblocco bootloader richiesto"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"È necessario sbloccare il bootloader del dispositivo prima di usare l\'opzione sviluppatore a 16 kB. Non è possibile garantire l\'integrità del software in questa modalità e i dati archiviati sullo smartphone potrebbero essere a rischio finché il bootloader è sbloccato. Tutti i dati utente e le impostazioni verranno cancellati quando attivi la modalità a 16 kB. Dopo aver sbloccato il bootloader, l\'attivazione dell\'opzione a 16 kB richiederà due riavvii. Una volta che sarà attiva questa modalità, potrai passare dalla modalità a 4 kB a quella a 16 kB con un solo riavvio. Alcune funzionalità verranno disattivate in queste modalità, pertanto alcune applicazioni potrebbero non funzionare. Per far tornare il dispositivo in modalità di produzione, dovrai tornare alla modalità a 4 kB e bloccare il bootloader del dispositivo, il che ripristina i dati di fabbrica del dispositivo. Sblocca il bootloader e riprova. Puoi consultare le istruzioni su come fare all\'indirizzo <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Modalità indipendente dalla pagina a 4 kB in uso"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Hai attivato l\'opzione a 4 kB della modalità indipendente dalla pagina. Non è possibile garantire l\'integrità del software in questa modalità e i dati archiviati sullo smartphone potrebbero essere a rischio finché il bootloader è sbloccato. Alcune funzionalità verranno disattivate in queste modalità, pertanto alcune applicazioni potrebbero non funzionare. Per tornare alla modalità di produzione, devi bloccare il bootloader del dispositivo. Tocca per leggere altro."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Hai attivato l\'opzione a 4 kB della modalità indipendente dalla pagina. Non è possibile garantire l\'integrità del software in questa modalità e i dati archiviati sullo smartphone potrebbero essere a rischio finché il bootloader è sbloccato. Alcune funzionalità verranno disattivate in queste modalità, pertanto alcune applicazioni potrebbero non funzionare. Per tornare alla modalità di produzione, devi bloccare il bootloader del dispositivo. Questo eseguirà nuovamente il ripristino dei dati di fabbrica del dispositivo e ripristinerà le impostazioni di produzione. Dopo che Android viene avviato correttamente sul dispositivo, disattiva lo sblocco OEM nelle Opzioni sviluppatore. Se l\'avvio di Android sul dispositivo non riesce o è instabile, esegui nuovamente il flashing del dispositivo con le immagini del produttore più recenti da <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> o usa <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> e seleziona \"Cancella dati dispositivo\", \"Blocca bootloader\" e \"Esegui il flash forzato di tutte le partizioni\"."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Modalità indipendente dalla pagina a 16 kB in uso"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Hai attivato l\'opzione a 16 kB della modalità indipendente dalla pagina. Non è possibile garantire l\'integrità del software in questa modalità e i dati archiviati sullo smartphone potrebbero essere a rischio finché il bootloader è sbloccato. Alcune funzionalità verranno disattivate in queste modalità, pertanto alcune applicazioni potrebbero non funzionare. Per tornare alla modalità di produzione, devi tornare alla modalità a 4 kB e bloccare il bootloader del dispositivo. Tocca per leggere altro."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Hai attivato l\'opzione a 16 kB della modalità indipendente dalla pagina. Non è possibile garantire l\'integrità del software in questa modalità e i dati archiviati sullo smartphone potrebbero essere a rischio finché il bootloader è sbloccato. Alcune funzionalità verranno disattivate in queste modalità, pertanto alcune applicazioni potrebbero non funzionare. Per tornare alla modalità di produzione, devi tornare alla modalità a 4 kB e bloccare il bootloader del dispositivo. Questo eseguirà nuovamente il ripristino dei dati di fabbrica del dispositivo e ripristinerà le impostazioni di produzione. Dopo che Android viene avviato correttamente sul dispositivo, disattiva lo sblocco OEM nelle Opzioni sviluppatore. Se l\'avvio di Android sul dispositivo non riesce o è instabile, esegui nuovamente il flashing del dispositivo con le immagini del produttore più recenti da <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> o usa <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> e seleziona \"Cancella dati dispositivo\", \"Blocca bootloader\" e \"Esegui il flash forzato di tutte le partizioni\"."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Hai attivato l\'opzione a 16 kB della modalità page-agnostic. Non è possibile garantire l\'integrità del software in questa modalità e i dati archiviati sullo smartphone potrebbero essere a rischio finché il bootloader è sbloccato. Alcune funzionalità verranno disattivate in queste modalità, pertanto alcune applicazioni potrebbero non funzionare. Per tornare alla modalità di produzione, devi tornare alla modalità a 4 kB e bloccare il bootloader del dispositivo. Tocca per leggere altro."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Hai attivato l\'opzione a 16 kB della modalità page-agnostic. Non è possibile garantire l\'integrità del software in questa modalità e i dati archiviati sullo smartphone potrebbero essere a rischio finché il bootloader è sbloccato. Alcune funzionalità verranno disattivate in queste modalità, pertanto alcune applicazioni potrebbero non funzionare. Per tornare alla modalità di produzione, devi tornare alla modalità a 4 kB e bloccare il bootloader del dispositivo. Questo eseguirà nuovamente il ripristino dei dati di fabbrica del dispositivo e ripristinerà le impostazioni di produzione. Dopo che Android viene avviato correttamente sul dispositivo, disattiva lo sblocco OEM nelle Opzioni sviluppatore. Se l\'avvio di Android sul dispositivo non riesce o è instabile, esegui nuovamente il flashing del dispositivo con le immagini del produttore più recenti da <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> o usa <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> e seleziona \"Cancella dati dispositivo\", \"Blocca bootloader\" e \"Esegui il flash forzato di tutte le partizioni\"."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Modalità indipendente dalla pagina a 16 kB"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Leggi tutto"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Gestore segnalazione di bug"</string>
@@ -5007,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Usa Blocco app su schermo"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Usa Opzioni sviluppatore"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Usa servizio di stampa"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Consenti utenti multipli"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"consentire, multiplo, utente, autorizzare, molti"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"più, utenti, profili, persone, account, sensore, molti"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Usa debug wireless"</string>
@@ -5121,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Scegli cosa visualizzare sullo schermo quando il tablet è agganciato alla base. Il dispositivo potrebbe consumare più energia quando viene usato un salvaschermo."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Personalizza"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Personalizza <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"È necessario riavviare per attivare il supporto del formato libero."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"È necessario riavviare per forzare la modalità desktop su display secondari."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"È necessario riavviare per abilitare il supporto delle finestre a forma libera legacy."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"È necessario riavviare per modificare il supporto delle finestre a forma libera."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"È necessario riavviare per forzare le finestre a forma libera sul secondo display."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Riavvia ora"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Riavvia più tardi"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Audio spaziale"</string>
@@ -5351,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Ascolta lo stream"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Scansiona il codice QR di uno stream audio da ascoltare con <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Impossibile modificare la password durante la condivisione. Per modificarla, devi prima disattivare la condivisione audio."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-iw/arrays.xml b/res/values-iw/arrays.xml
index 5054fd8..972aaf8 100644
--- a/res/values-iw/arrays.xml
+++ b/res/values-iw/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"מנוחה"</item>
+ <item msgid="4152450357280759894">"נהיגה"</item>
+ <item msgid="7096549258219399423">"ריכוז"</item>
+ <item msgid="2760716776980432977">"בשליטה"</item>
+ <item msgid="601734478369121764">"כוכב"</item>
+ <item msgid="6243809315432780521">"יומן"</item>
+ <item msgid="4913577903148415331">"שעה"</item>
+ <item msgid="3653377604690057780">"תיאטרון"</item>
+ <item msgid="3843711267408385410">"פרח"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 8692cee..d509e34 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"ההגדרות של מכשיר השמיעה"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"קיצור דרך, תאימות למכשירי שמיעה"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"הגדרה קבועה מראש"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"לא תוכנתו הגדרות קבועות מראש על ידי האודיולוג שלך"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"לא ניתן לעדכן את ההגדרה הקבועה מראש"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"פלט אודיו"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"מידע על פלט האודיו"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"הפנים וה-<xliff:g id="WATCH">%s</xliff:g> נוספו"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"הפנים, טביעת האצבע וה-<xliff:g id="WATCH">%s</xliff:g> נוספו"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"הפנים, טביעות האצבע וה-<xliff:g id="WATCH">%s</xliff:g> נוספו"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"זה נחוץ כי בדיקת הזהות מופעלת"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"ביטול הנעילה של Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"נוסף שעון"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"הגדרת השעון"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"מידע נוסף על ביטול נעילה עם השעון"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"הוספת השעון"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"הסרת השעון"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ביטול הנעילה בטביעת אצבע ופתיחה ע\"י זיהוי הפנים"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"פתיחה ע\"י זיהוי הפנים וביטול הנעילה בטביעת אצבע"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"פתיחה ע\"י זיהוי הפנים וביטול הנעילה בטביעת אצבע בפרופיל העבודה"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"צריך להגדיר ביטול נעילה בעזרת מידע ביומטרי"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"נוספו טביעות אצבע וזיהוי פנים"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"התקנת אפליקציות"</b>\n"במרחב הפרטי אפשר להתקין אפליקציות שרוצים שיישארו פרטיות"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"חשוב לזכור"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"האפליקציות מפסיקות לפעול כשהמרחב הפרטי ננעל"</b>\n"כשנועלים את המרחב הפרטי, האפליקציות במרחב מפסיקות לפעול ולא נשלחות מהן התראות"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"מרחבים פרטיים לא מתאימים לאפליקציות שצריכות לפעול ברקע או לשלוח הודעות קריטיות, כמו אפליקציות רפואיות. הסיבה היא שההתראות והפעילות ברקע מופסקות כשהמרחב שלך נעול.\n\nהאפליקציות במרחב הפרטי שלך לא יופיעו בניהול ההרשאות, במרכז הבקרה להגדרות הפרטיות ובהגדרות אחרות כשהמרחב הפרטי שלך נעול.\n\nלא ניתן להעביר את המרחב הפרטי שלך למכשיר חדש. כדי להשתמש במרחב פרטי במכשיר אחר, צריך להגדיר מרחב פרטי חדש.\n\nכל אדם שיחבר את המכשיר שלך למחשב או יתקין אפליקציות מזיקות במכשיר שלך יוכל לגשת למרחב הפרטי שלך."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"מרחבים פרטיים לא מתאימים לאפליקציות שצריכות לפעול ברקע או לשלוח הודעות קריטיות, כמו אפליקציות רפואיות. הסיבה היא שההתראות והפעילות ברקע מופסקות כשהמרחב שלך נעול.\n\nהאפליקציות במרחב הפרטי שלך לא יופיעו בניהול ההרשאות, במרכז הבקרה להגדרות הפרטיות ובהגדרות אחרות כשהמרחב הפרטי נעול.\n\nלא ניתן לשחזר את המרחב הפרטי שלך במכשיר חדש. כדי להשתמש במרחב פרטי במכשיר אחר, צריך להגדיר מרחב חדש.\n\nכל אדם שיחבר את המכשיר שלך למחשב או יתקין אפליקציות מזיקות במכשיר שלך יוכל לגשת למרחב הפרטי שלך."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"מידע נוסף על המרחב הפרטי"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"הפעולה הזו תימשך כמה רגעים"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"הגדרת המרחב הפרטי מתבצעת…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"להפעיל את המכשיר מחדש?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"הרישום ביומן של פרטי NFC מיועד למטרות פיתוח בלבד. נתוני NFC נוספים נכללים בדוחות על באגים, שעשויים להכיל מידע פרטי. צריך להפעיל מחדש את המכשיר כדי לשנות את ההגדרה."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"הפעלה מחדש"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"הפעלת Cast"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"העברה (csat)"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"הפעלת תצוגת WiFi"</string>
@@ -1192,7 +1222,8 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"גוון ניתן להתאמה"</string>
<string name="brightness" msgid="6216871641021779698">"רמת בהירות"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"בהירות אוטומטית"</string>
- <string name="auto_brightness_description" msgid="6807117118142381193">"בהירות המסך תותאם באופן אוטומטי לסביבה ולפעילויות שלך. עדיין אפשר לכוונן את הבהירות באופן ידני מפס ההזזה, וכך הבהירות האוטומטית תותאם עם הזמן להעדפות שלך."</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"מידע על התאמה אוטומטית של הבהירות"</string>
+ <string name="auto_brightness_description" msgid="6807117118142381193">"בהירות המסך תותאם באופן אוטומטי לסביבה ולפעילויות שלך. עדיין אפשר לכוונן את הבהירות באופן ידני באמצעות פס ההזזה, וכך הבהירות האוטומטית תותאם עם הזמן להעדפות שלך."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"פועל"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"כבויה"</string>
<string name="display_white_balance_title" msgid="2624544323029364713">"הצגת איזון לבן"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"אפשרויות"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"נגישות"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"מקלדת פיזית"</string>
- <string name="show_ime" msgid="4334255501724746849">"שימוש במקלדת שמופיעה במסך"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"תישאר במסך בזמן שהמקלדת הפיזית פעילה"</string>
<string name="bounce_keys" msgid="7419450970351743904">"מקשים חוזרים"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"המקלדת מתעלמת מלחיצות מהירות חוזרות על אותו המקש שנעשות תוך <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> אלפיות השנייה"</string>
<string name="slow_keys" msgid="2891452895499690837">"מקשים איטיים"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"המשתמש שנבחר: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"דיבור"</string>
<string name="pointer_speed" msgid="7398649279282675718">"מהירות המצביע"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"בקר משחק"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"הפניה אוטומטית של רטט"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"שליחת רטט אל בקר משחק כשמחובר"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"אני רוצה להמשיך בכל זאת"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"ביטול"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"הגדרות ההגדלה"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"הזזה עם אצבע אחת"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"מזיזים את זכוכית המגדלת עם אצבע אחת"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"גוררים אצבע אחת כדי לנוע על פני המסך"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"גוררים אצבע אחת כדי להזיז את אזור ההגדלה."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"גוררים שתי אצבעות כדי להזיז את אזור ההגדלה."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"לא זמין בזמן הגדלה של רק חלק מהמסך"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"הקשה על לחצן כדי לשנות את מרחק התצוגה"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"כדי לראות טוב יותר את התוכן, אפשר להגדיל במהירות את התצוגה"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>כדי להגדיל את התצוגה:</b><br/> {0,number,integer}. משתמשים בקיצור הדרך כדי להתחיל בהגדלה<br/> {1,number,integer}. מקישים על המסך<br/> {2,number,integer}. גוררים 2 אצבעות על המסך כדי לזוז בו<br/> {3,number,integer}. עושים תנועת צביטה באמצעות 2 אצבעות כדי לשנות את מרחק התצוגה<br/> {4,number,integer}. משתמשים בקיצור הדרך כדי להפסיק את ההגדלה<br/><br/> <b>כדי להגדיל את התצוגה באופן זמני:</b><br/> {0,number,integer}. מוודאים שסוג ההגדלה הוא \'מסך מלא\'<br/> {1,number,integer}. משתמשים בקיצור הדרך כדי להתחיל בהגדלה<br/> {2,number,integer}. לוחצים לחיצה ארוכה במקום כלשהו במסך<br/> {3,number,integer}. גוררים את האצבע על המסך כדי לזוז בו<br/> {4,number,integer}. כדי להפסיק את ההגדלה, מרימים את האצבע"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>כדי להגדיל את התצוגה:</b><br/> {0,number,integer}. משתמשים במקש קיצור כדי להתחיל בהגדלה<br/> {1,number,integer}. מקישים על המסך<br/> {2,number,integer}. גוררים 2 אצבעות על המסך כדי לזוז בו<br/> {3,number,integer}. עושים תנועת צביטה עם 2 אצבעות כדי לשנות את מרחק התצוגה<br/> {4,number,integer}. אפשר להשתמש במקש קיצור כדי לעצור את ההגדלה<br/><br/> ניתן גם להגדיל את התצוגה באופן זמני ועוד."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>כדי להגדיל את התצוגה:</b><br/> {0,number,integer}. משתמשים במקש קיצור כדי להתחיל בהגדלה<br/> {1,number,integer}. מקישים על המסך<br/> {2,number,integer}. גוררים אצבע אחת או שתיים על המסך כדי לזוז בו<br/> {3,number,integer}. עושים תנועת צביטה עם 2 אצבעות כדי לשנות את מרחק התצוגה<br/> {4,number,integer}. אפשר להשתמש במקש קיצור כדי לעצור את ההגדלה<br/><br/> ניתן גם להגדיל את התצוגה באופן זמני ועוד."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"כשההגדלה מופעלת, ניתן להתקרב למסך.\n\n"<b>"כדי להתקרב,"</b>", מתחילים בהגדלה ולאחר מכן מקישים במקום כלשהו במסך.\n"<ul><li>"גוררים שתי אצבעות או יותר כדי לגלול"</li>\n<li>"עושים תנועת צביטה עם שתי אצבעות או יותר כדי לשנות את מרחק התצוגה"</li></ul>\n\n<b>"כדי להתקרב באופן זמני"</b>", מתחילים בהגדלה ולאחר מכן, לוחצים לחיצה ארוכה במקום כלשהו במסך.\n"<ul><li>"גוררים כדי לנוע במסך"</li>\n<li>"מרימים את האצבע כדי להתרחק"</li></ul>\n\n"לא ניתן להתקרב באמצעות המקלדת או סרגל הניווט."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"דף <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> מתוך <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"קיצור דרך באמצעות לחצן הנגישות"</string>
@@ -2546,7 +2584,7 @@
<string name="battery_missing_link_message" msgid="6021565067124898074"></string>
<string name="battery_missing_link_a11y_message" msgid="3310971406602316323">"יש להקיש לקבלת מידע נוסף על השגיאה הזו"</string>
<string name="power_screen" msgid="4596900105850963806">"מסך"</string>
- <string name="power_cpu" msgid="1820472721627148746">"(CPU) מעבד"</string>
+ <string name="power_cpu" msgid="1820472721627148746">"מעבד (CPU)"</string>
<string name="power_flashlight" msgid="8993388636332573202">"פנס"</string>
<string name="power_camera" msgid="4778315081581293923">"מצלמה"</string>
<string name="power_gps" msgid="6352380895542498164">"GPS"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"קבלת התראות רק מאפליקציות ומאנשים חשובים"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"בחירת סוג ההפעלה"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"שעה"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"לדוגמה: \"21:30 – 17:00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"יומן"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"לדוגמה: \"יומן אישי\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"יצירה של מצב"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"בהתאמה אישית"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"הגבלת הפרעות"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"הפעלת מצב \'נא לא להפריע\'"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"שעונים מעוררים וצלילי מדיה יכולים להפריע"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"לוחות זמנים"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"מחיקת לוחות זמנים"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"מחיקה"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"עריכה"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"לוחות זמנים"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"לוח זמנים"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"הוספת יומן"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"שימוש ביומן"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"לוח זמנים"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"הגדרת לוח זמנים"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"לוח זמנים"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> שע\', <xliff:g id="MINUTES">%2$d</xliff:g> דק\'"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"הפעלה אוטומטית"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"לוח זמנים"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"השתקת הטלפון בזמנים מסוימים"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"הגדרת כללים ל\'נא לא להפריע\'"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"אישור להפרעות עם צלילים"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"חסימת הפרעות חזותיות"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"הפעלת אותות חזותיים"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"התראות שיכולות להגיע אליך"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"שמירה על ריכוז"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"פעולות נוספות"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"הגדרות תצוגה"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"אפשרויות תצוגה"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"הפעלת העיצוב הכהה"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"במערכת ההפעלה ובאפליקציות, כדאי להחליף להעדפה של טקסט בהיר על רקע כהה. העיצוב הזה פחות מאמץ את העיניים ומוביל לחיסכון משמעותי בסוללה במכשירים מסוימים"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{לא בוצעו שינויים באפשרויות התצוגה}=1{{effect_1}}=2{{effect_1} וגם {effect_2}}=3{{effect_1}, {effect_2} וגם {effect_3}}one{{effect_1}, {effect_2} ועוד #}other{{effect_1}, {effect_2} ועוד #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"סינון של הפרעות"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"ללא סינון של הפרעות"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"אפשרויות תצוגה להתראות מסוננות"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"כשמצב \'נא לא להפריע\' פועל"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"התראות ללא צליל"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"פתיחת ההתראה"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"הפעלת האפשרות להעביר התראות למצב \'נודניק\'"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"סימן ההתראות בסמל האפליקציה"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"חבילות התראות"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"בועות"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"בועות"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"הוספת בועה לשיחה"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"קטגוריות"</string>
<string name="notification_channels_other" msgid="18159805343647908">"אחר"</string>
<string name="no_channels" msgid="4716199078612071915">"האפליקציה הזו לא שלחה התראות"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"הצגת קטגוריות שלא בשימוש"</string>
<string name="app_settings_link" msgid="6725453466705333311">"הגדרות נוספות באפליקציה"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"הצגת קטגוריות שלא בשימוש"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"הסתרת קטגוריות שלא בשימוש"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"הכול"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ניתן לאפשר לאפליקציות לבטל הגדרה זו"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"אפליקציות שיכולות להפריע"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"בחירת אפליקציות נוספות"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{החלפה למצב \'התראות בלבד\' למשך שעה אחת עד {time}}one{החלפה למצב \'התראות בלבד\' למשך # שעות עד {time}}two{החלפה למצב \'התראות בלבד\' למשך שעתיים (#) עד {time}}other{החלפה למצב \'התראות בלבד\' למשך # שעות עד {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"מעבר למצב \'התראות בלבד\' עד <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"שינוי ל\'הפרעות בכל מצב\'"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"שינוי השם"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"שינוי הסמל"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"שינוי הסמל"</string>
<string name="warning_button_text" msgid="1274234338874005639">"אזהרה"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"סגירה"</string>
<string name="device_feedback" msgid="5351614458411688608">"שליחת משוב על המכשיר הזה"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"נרתיק"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"סוללה"</string>
<string name="settings_panel_title" msgid="346363079938069215">"חלונית ההגדרות"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"אילוץ מצב שולחן עבודה"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"אילוץ מצב שולחן עבודה ניסיוני במסכים משניים"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"הפעלת האפשרות לשנות את הגודל והמיקום של החלונות"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"הפעלת תמיכה בשינוי הגודל והמיקום של החלונות."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"הפעלת שינוי הגודל והמיקום של החלונות במסך השני"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"הפעלת שינוי הגודל והמיקום של החלונות רק במסך השני."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"הפעלת אפליקציות שלא ניתן לשנות את גודלן בריבוי חלונות"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"ההגדרה מאפשרת להפעיל בריבוי חלונות אפליקציות שלא ניתן לשנות את גודלן"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"שינוי התכונה SmartDark"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"צריך להמיר את מחיצת הנתונים של המכשיר הזה ל-ext4 לפני השימוש באפשרות למפתחים של 16KB. לא ניתן להבטיח את תקינות התוכנה במצב הזה. כל הנתונים שמאוחסנים בטלפון בזמן שתוכנת האתחול לא נעולה עלולים להיות בסיכון. לאחר הפעלת האפשרות של 16KB תידרש הפעלה נוספת מחדש. מהמצב הזה, אפשר לעבור בין מצב 4KB למצב 16KB בהפעלה אחת מחדש. חלק מהתכונות יושבתו במצבים האלה, כך שחלק מהאפליקציות לא יפעלו. כדי להחזיר את המכשיר למצב ייצור, עליך לחזור למצב 4KB ולנעול את תוכנת האתחול. המכשיר יאופס להגדרות המקוריות. אחרי שהמכשיר מאותחל ל-Android, צריך להשבית את מצב OEM באפשרויות למפתחים. לאחר האישור, הנתונים במכשיר יאופסו ומערכת הקבצים תשתנה ל-ext4. לאחר השלמת הפעולה הזו, צריך לחזור כדי להפעיל את מצב 16KB שוב."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"מחיקת כל הנתונים"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"הניסיון לפרמט מחדש את המכשיר ולאפס את מחיצת הנתונים ל-ext4 נכשל."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"נדרש ביטול נעילה של תוכנת האתחול למצב 16KB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"צריך לבטל את הנעילה של תוכנת האתחול"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"לפני השימוש באפשרות למפתחים של 16KB, צריך לבטל את הנעילה של תוכנת האתחול במכשיר הזה. לא ניתן להבטיח את תקינות התוכנה במצב הזה. כל הנתונים שמאוחסנים בטלפון בזמן שתוכנת האתחול לא נעולה עלולים להיות בסיכון. כל נתוני המשתמש וההגדרות יאופסו בהפעלת מצב 16KB. לאחר ביטול הנעילה של תוכנת האתחול יידרשו שתי הפעלות מחדש כדי שמצב 16KB ייכנס לתוקף. מהמצב הזה, אפשר לעבור בין מצב 4KB למצב 16KB בהפעלה אחת מחדש. חלק מהתכונות יושבתו במצבים האלה, כך שחלק מהאפליקציות לא יפעלו. כדי להחזיר את המכשיר למצב ייצור, צריך לחזור למצב 4KB ואז לנעול את תוכנת האתחול או את מצב ה-OEM של המכשיר (המכשיר יאופס להגדרות המקוריות). צריך לבטל את הנעילה של תוכנת האתחול ולנסות שוב. הוראות לביצוע הפעולה זמינות בכתובת <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"שימוש במצב לא מותאם לדף של 4KB"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"הפעילות שלך מתרחשת במצב לא מותאם לדף של 4KB. לא ניתן להבטיח את תקינות התוכנה במצב הזה. כל הנתונים שמאוחסנים בטלפון בזמן שתוכנת האתחול לא נעולה עלולים להיות בסיכון. חלק מהתכונות יושבתו במצבים האלה, כך שחלק מהאפליקציות לא יפעלו. כדי להיכנס שוב למצב ייצור, עליך לנעול את תוכנת האתחול של המכשיר. אפשר להקיש כדי לקרוא עוד."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"הפעילות שלך מתרחשת במצב 4KB השייך למצב שבו גודל הדף לא נקבע מראש על ידי מערכת ההפעלה. לא ניתן להבטיח את תקינות התוכנה במצב הזה. כל הנתונים שמאוחסנים בטלפון בזמן שתוכנת האתחול לא נעולה עלולים להיות בסיכון. חלק מהתכונות יושבתו במצבים האלה, כך שחלק מהאפליקציות לא יפעלו. כדי להיכנס שוב למצב ייצור, עליך לנעול את תוכנת האתחול של המכשיר. הפעולה הזו תאפס שוב את המכשיר להגדרות המקוריות ותשחזר את הגדרות הייצור. אחרי שהמכשיר מאותחל ל-Android, צריך להשבית את מצב OEM באפשרויות למפתחים. אם לא ניתן לאתחל את המכשיר ל-Android או שהוא לא יציב, צריך לעדכן במכשיר את גיבויי הקושחה בכתובת <a href=\"https://developers.google.com/android/images\">https://developers .google.com/android/images</a> או להשתמש ב-<a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ולבחור באפשרות \'איפוס נתונים במכשיר\' > \'נעילת תוכנת האתחול\' > \'כפיית עדכון על כל המחיצות\'."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"שימוש במצב מותאם לדף של 16KB"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"הפעילות שלך מתרחשת במצב לא מותאם לדף של 16KB. לא ניתן להבטיח את תקינות התוכנה במצב הזה. כל הנתונים שמאוחסנים בטלפון בזמן שתוכנת האתחול לא נעולה עלולים להיות בסיכון. חלק מהתכונות יושבתו במצבים האלה, כך שחלק מהאפליקציות לא יפעלו. כדי להיכנס שוב למצב ייצור, עליך לחזור למצב 4K ואז לנעול את תוכנת האתחול של המכשיר. אפשר להקיש כדי לקרוא עוד."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"מצב העבודה הנוכחי שלך הוא 16KB של מצב עבודה לא מותאם. אי אפשר להבטיח את תקינות התוכנה במצב הזה. כל הנתונים שמאוחסנים בטלפון בזמן שתוכנת האתחול לא נעולה עלולים להיות בסיכון. חלק מהתכונות יושבתו במצבים האלה, כך שחלק מהאפליקציות לא יפעלו. כדי להיכנס שוב למצב ייצור, עליך לחזור למצב 4K ואז לנעול את תוכנת האתחול של המכשיר. הפעולה הזו תאפס שוב את המכשיר להגדרות המקוריות ותשחזר את הגדרות הייצור. אחרי שהמכשיר מאותחל ל-Android, צריך להשבית את מצב OEM באפשרויות למפתחים. אם לא ניתן לאתחל את המכשיר ל-Android או שהוא לא יציב, צריך לעדכן במכשיר את גיבויי הקושחה בכתובת <a href=\"https://developers.google.com/android/images\">https://developers .google.com/android/images</a> או להשתמש ב-<a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ולבחור באפשרות \'איפוס נתונים במכשיר\' > \'נעילת תוכנת האתחול\' > \'כפיית עדכון על כל המחיצות\'."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"הפעילות שלך מתרחשת במצב שמסתגל לגודל דף של 16KB. לא בטוח שהתוכנה תעבוד כראוי במצב הזה, וכל הנתונים שמאוחסנים בטלפון עלולים להיות בסיכון בזמן שתוכנת האתחול לא נעולה. חלק מהתכונות יושבתו במצבים האלה, כך שחלק מהאפליקציות לא יפעלו. כדי להיכנס שוב למצב ייצור, עליך לחזור למצב 4KB ואז לנעול את תוכנת האתחול של המכשיר. אפשר להקיש כדי לקרוא עוד."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"הפעילות שלך מתרחשת במצב שמסתגל לגודל דף של 16KB. לא בטוח שהתוכנה תעבוד כראוי במצב הזה, וכל הנתונים שמאוחסנים בטלפון עלולים להיות בסיכון בזמן שתוכנת האתחול לא נעולה. חלק מהתכונות יושבתו במצבים האלה, כך שחלק מהאפליקציות לא יפעלו. כדי להיכנס שוב למצב ייצור, עליך לחזור למצב 4KB ואז לנעול את תוכנת האתחול של המכשיר. הפעולה הזו תאפס שוב את המכשיר להגדרות המקוריות ותשחזר את הגדרות הייצור. אחרי שהמכשיר מאותחל ל-Android, צריך להשבית את מצב OEM באפשרויות למפתחים. אם לא ניתן לאתחל את המכשיר ל-Android או שהוא לא יציב, צריך לעדכן במכשיר את גיבויי הקושחה בכתובת <a href=\"https://developers.google.com/android/images\">https://developers .google.com/android/images</a> או להשתמש ב-<a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ולבחור באפשרות \'איפוס נתונים במכשיר\' > \'נעילת תוכנת האתחול\' > \'כפיית עדכון על כל המחיצות\'."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"מצב לא מותאם לדף של 16KB"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"עוד פרטים"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"טיפול בדוחות על באגים"</string>
@@ -5002,7 +5060,7 @@
<string name="bluetooth_phonebook_access_dialog_title" msgid="7624607995928968721">"להעניק גישה לאנשי הקשר וליומן השיחות?"</string>
<string name="bluetooth_phonebook_access_dialog_content" msgid="959658135522249170">"מכשיר Bluetooth, <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>, מבקש לקבל גישה לאנשי הקשר וליומן השיחות. הגישה תכלול גם נתונים על שיחות נכנסות ויוצאות.\n\nלא התחברת בעבר למכשיר <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g>."</string>
<string name="category_name_brightness" msgid="8520372392029305084">"בהירות"</string>
- <string name="category_name_lock_display" msgid="8310402558217129670">"מסך נעילה"</string>
+ <string name="category_name_lock_display" msgid="8310402558217129670">"תצוגת מסך נעילה"</string>
<string name="category_name_appearance" msgid="8287486771764166805">"מראה"</string>
<string name="category_name_color" msgid="937514550918977151">"צבע"</string>
<string name="category_name_display_controls" msgid="7046581691184725216">"הגדרות תצוגה נוספות"</string>
@@ -5014,7 +5072,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"שימוש בהצמדת אפליקציה"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"שימוש באפשרויות למפתחים"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"שימוש בשירות הדפסה"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"הרשאה למשתמשים מרובים"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"אפשר, משתמשים, מרובים, אישור, רבים"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"ריבוי, רבים, משתמשים, משתמשות, פרופילים, אנשים, אנשי קשר, חשבונות, חשבונות אישיים, החלפה, מעבר, שינוי, הרבה"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ניפוי באגים אלחוטי"</string>
@@ -5128,8 +5187,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"אפשר לבחור מה יוצג במסך כשהטאבלט בעגינה. יכול להיות שהמכשיר ינצל יותר אנרגיה בזמן השימוש בשומר מסך."</string>
<string name="customize_button_title" msgid="1110284655990203359">"התאמה אישית"</string>
<string name="customize_button_description" msgid="7440248477266126231">"התאמה אישית של <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"צריך להפעיל מחדש כדי להפעיל את התמיכה במצב החופשי."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"צריך להפעיל מחדש כדי לאלץ את הצגת הגרסה למחשב במסכים המשניים."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"צריך להפעיל מחדש כדי להפעיל תמיכה בשינוי הגודל והמיקום של החלונות מדור קודם."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"צריך להפעיל מחדש כדי לשנות את התמיכה בשינוי הגודל והמיקום של החלונות."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"צריך להפעיל מחדש כדי לאלץ את שינוי הגודל והמיקום של החלונות רק במסך השני."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"להפעיל מחדש עכשיו"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"להפעיל מחדש מאוחר יותר"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"אודיו מרחבי"</string>
@@ -5358,4 +5418,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"האזנה לשידור"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"סריקת קוד QR של שידור אודיו כדי להאזין עם <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"אי אפשר לערוך את הסיסמה בזמן השיתוף. כדי לשנות את הסיסמה, קודם צריך להשבית את שיתוף האודיו."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-ja/arrays.xml b/res/values-ja/arrays.xml
index 685af9f..118104f 100644
--- a/res/values-ja/arrays.xml
+++ b/res/values-ja/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"就寝"</item>
+ <item msgid="4152450357280759894">"運転中"</item>
+ <item msgid="7096549258219399423">"臨場感"</item>
+ <item msgid="2760716776980432977">"管理対象"</item>
+ <item msgid="601734478369121764">"スター"</item>
+ <item msgid="6243809315432780521">"カレンダー"</item>
+ <item msgid="4913577903148415331">"時刻"</item>
+ <item msgid="3653377604690057780">"劇場"</item>
+ <item msgid="3843711267408385410">"花"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index bff0a15..68da885 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"補聴器の設定"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"ショートカット、補聴器両立性"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"プリセット"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"言語聴覚士によってプログラムされたプリセットはありません"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"プリセットを更新できませんでした"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"音声出力"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"音声出力について"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"顔、<xliff:g id="WATCH">%s</xliff:g>を登録しました"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"顔、指紋、<xliff:g id="WATCH">%s</xliff:g>を登録しました"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"顔、指紋、<xliff:g id="WATCH">%s</xliff:g>を登録しました"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"本人確認が ON になっているため、これが必要です"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"リモート認証のロック解除"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"スマートウォッチを追加しました"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"スマートウォッチのセットアップ"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"ウォッチ認証の詳細"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"スマートウォッチを追加"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"スマートウォッチを削除"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"指紋認証と顔認証"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"顔認証と指紋認証"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"仕事用の顔認証と指紋認証"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"セットアップが必要です"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"顔と指紋を登録しました"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"アプリをインストールする"</b>\n"スペース内で非公開にするアプリをインストールします"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"注意事項"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"スペースをロックするとアプリが停止する"</b>\n"スペースをロックするとアプリが停止して、アプリからの通知が届かなくなります"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"プライベート スペースは、バックグラウンドでの実行や重要な通知の送信が必要なアプリ(医療アプリなど)には適していません。その理由は、スペースがロックされている場合、通知とバックグラウンド アクティビティが停止するためです。\n\nプライベート スペースがロックされている場合、プライベート スペース内のアプリは権限マネージャ、プライバシー ダッシュボード、その他の設定画面に表示されません。\n\nプライベート スペースはデバイスごとに設定する必要があり、新しいデバイスに移動することはできません。\n\n他のユーザーによってデバイスがパソコンに接続されたり、有害なアプリをインストールされたりすると、プライベート スペースにアクセスされる可能性があります。"</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"プライベート スペースは、バックグラウンドでの実行や重要な通知の送信が必要なアプリ(医療アプリなど)には適していません。その理由は、スペースがロックされている場合、通知とバックグラウンド アクティビティが停止するためです。\n\nプライベート スペースがロックされている場合、プライベート スペース内のアプリは権限マネージャ、プライバシー ダッシュボード、その他の設定画面に表示されません。\n\nプライベート スペースはデバイスごとに設定する必要があり、新しいデバイスに復元することはできません。\n\n他のユーザーによってデバイスがパソコンに接続されたり、有害なアプリをインストールされたりすると、プライベート スペースにアクセスされる可能性があります。"</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"プライベート スペースの詳細"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"しばらくお待ちください"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"プライベート スペースを設定しています…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"デバイスを再起動しますか?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"NFC 詳細ログは開発専用に設計されています。バグレポートには、追加の NFC データが含まれます。これには、非公開の情報が含まれることがあります。この設定を変更するには、デバイスを再起動してください。"</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"再起動"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"キャスト"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"ミラー"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"ワイヤレス ディスプレイの有効化"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"自動調整"</string>
<string name="brightness" msgid="6216871641021779698">"明るさのレベル"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"明るさの自動調節"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"明るさの自動調節について"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"環境やアクティビティに応じて画面の明るさが自動的に調整されます。スライダーを手動で動かして、明るさの自動調節機能に設定を学習させることもできます。"</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"ON"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"OFF"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"オプション"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"ユーザー補助"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"物理キーボード"</string>
- <string name="show_ime" msgid="4334255501724746849">"画面キーボードを使用"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"物理キーボードが有効になっていても画面に表示させます"</string>
<string name="bounce_keys" msgid="7419450970351743904">"バウンスキー"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ミリ秒以内にキーボードの同じキーが連続で押された場合は、その操作を無視します"</string>
<string name="slow_keys" msgid="2891452895499690837">"スローキー"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"ユーザーによる選択: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"読み上げ"</string>
<string name="pointer_speed" msgid="7398649279282675718">"ポインタの速度"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"ゲーム用コントローラ"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"リダイレクトのバイブレーション"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"接続時にバイブレーションをゲーム用コントローラに送信"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"無視して続行"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"キャンセル"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"画面の拡大設定"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"指 1 本でのパン操作"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"1 本の指で拡大鏡を移動"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"1 本の指でドラッグして画面上を移動"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"1 本の指でドラッグして拡大領域を移動します。"</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"2 本の指でドラッグして拡大領域を移動します。"</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"画面の一部のみを拡大している間は利用できません"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ボタンをタップしてズームします"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"画面をすばやくズームインして、コンテンツを拡大できます"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>ズームインするには:</b><br/> {0,number,integer}. ショートカットを使って拡大を開始します<br/> {1,number,integer}. 画面をタップします<br/> {2,number,integer}. 2 本の指でドラッグして画面上を移動します<br/> {3,number,integer}. 2 本の指でピンチ操作してズームを調整します<br/> {4,number,integer}. ショートカットを使って拡大を停止します<br/><br/> <b>一時的にズームインするには:</b><br/> {0,number,integer}. 拡大の種類が全画面に設定されていることを確認します<br/> {1,number,integer}. ショートカットを使って拡大を開始します<br/> {2,number,integer}. 画面を長押しします<br/> {3,number,integer}. 指をドラッグして画面上を移動します<br/> {4,number,integer}. 指を離して拡大を停止します"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>ズームインするには:</b><br/> {0,number,integer}. ショートカットを使って拡大を開始します<br/> {1,number,integer}. 画面をタップします<br/> {2,number,integer}. 2 本の指でドラッグして画面上を移動します<br/> {3,number,integer}. 2 本の指でピンチ操作してズームを調整します<br/> {4,number,integer}. ショートカットを使って拡大を停止します<br/><br/> 一時的にズームインするなどの操作もできます。"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>ズームインするには:</b><br/> {0,number,integer}. ショートカットを使って拡大を開始します<br/> {1,number,integer}. 画面をタップします<br/> {2,number,integer}. 1 本または 2 本の指でドラッグして画面上を移動します<br/> {3,number,integer}. 2 本の指でピンチ操作してズームを調整します<br/> {4,number,integer}. ショートカットを使って拡大を停止します<br/><br/> 一時的にズームインするなどの操作もできます。"</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"[拡大] を ON にすると、画面で拡大操作を行えます。\n\n"<b>"ズーム"</b>"するには、[拡大] を ON にして画面をタップします。\n"<ul><li>"2 本以上の指をドラッグしてスクロール"</li>\n<li>"2 本以上の指でピンチ操作して拡大率を調節"</li></ul>\n\n<b>"一時的にズーム"</b>"するには、[拡大] を ON にして画面を長押しします。\n"<ul><li>"ドラッグで画面上を移動"</li>\n<li>"指を放してズームアウト"</li></ul>\n\n"キーボードやナビゲーション バーでは拡大操作は行えません。"</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="NUM_PAGES">%2$d</xliff:g> ページ目"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"ユーザー補助機能ボタンのショートカット"</string>
@@ -2706,7 +2744,7 @@
<string name="cellular_security_settings_title" msgid="7779141923670352595">"モバイル ネットワーク セキュリティ"</string>
<string name="cellular_security_notifications" msgid="4619728340612184944">"通知"</string>
<string name="cellular_security_notifications_controller_title" msgid="4853056963523277847">"ネットワークに関する通知"</string>
- <string name="cellular_security_notifications_controller_summary" msgid="8339863845393759958">"デバイスが暗号化されていないネットワークに接続された場合や、ネットワークで一意のデバイス ID や SIM ID が記録された場合に、お知らせします"</string>
+ <string name="cellular_security_notifications_controller_summary" msgid="8339863845393759958">"デバイスが暗号化されていないネットワークに接続された場合や、一意のデバイス ID や SIM ID がネットワークで記録された場合に、お知らせします"</string>
<string name="cellular_security_settings_encryption_title" msgid="4013084091666375780">"暗号化"</string>
<string name="cellular_security_network_generations_title" msgid="2343026988833783854">"ネットワークの世代"</string>
<string name="cellular_security_network_generations_summary" msgid="139087814553929402">"挿入した SIM カードごとに、3G、4G、5G 対応のネットワークにのみ接続するように設定できます。旧式の安全でない 2G ネットワークには接続できなくなります。この設定により、2G ネットワークしか利用できない場合に接続が制限されることがあります。緊急の場合は 2G が使用されることがあります。"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"大切な人やアプリからの通知のみ受け取ります"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"有効化の種類を選択する"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"時刻"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"例: 「9 時 30 分~午後 5 時」"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"カレンダー"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"例: 「個人用のカレンダー」"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"モードの作成"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"カスタム"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"割り込みを制限する"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"サイレント モードを ON にする"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"アラームとメディア サウンドが割り込み可能"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"スケジュール"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"スケジュールを削除"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"削除"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"編集"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"スケジュール"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"スケジュール"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"カレンダーの追加"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"カレンダーを使用する"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"スケジュール"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"スケジュールを設定してください"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"スケジュールを設定"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> 時間 <xliff:g id="MINUTES">%2$d</xliff:g> 分"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"自動的に ON"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"スケジュール"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"一時的にスマートフォンを消音"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"サイレント モード ルールの設定"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"音が出る割り込みの許可"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"視覚的な通知のブロック"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"視覚的な割り込みを許可"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"確認できる通知"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"集中しましょう"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"その他の操作"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"表示の設定"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"表示オプション"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ダークモードを有効にする"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"暗い背景に明るいテキストを表示するよう OS やアプリを切り替えると、見やすくなることがあり、デバイスによってはバッテリーの大幅な節約につながります"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{表示の変更なし}=1{{effect_1}}=2{{effect_1}、{effect_2}}=3{{effect_1}、{effect_2}、{effect_3}}other{{effect_1}、{effect_2}、他 # 件}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"割り込みをフィルタする"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"フィルタしている割り込みはありません"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"フィルタした通知の表示オプション"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"サイレント モードが ON のとき"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"通知音なし"</string>
@@ -3486,6 +3541,8 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"通知を開く"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"通知のスヌーズを許可する"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"アプリアイコン上の通知ドット"</string>
+ <!-- no translation found for notification_bundles (3614044525822580826) -->
+ <skip />
<string name="notification_bubbles_title" msgid="5681506665322329301">"バブル"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"バブル"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"この会話をバブルで表示"</string>
@@ -3619,8 +3676,7 @@
<skip />
<!-- no translation found for notification_polite_main_control_title (7267191551379543859) -->
<skip />
- <!-- no translation found for notification_polite_description (7749280535620291610) -->
- <skip />
+ <string name="notification_polite_description" msgid="7749280535620291610">"短時間に多くの通知が届いた場合に、通知と音の頻度を最小限に抑えます。通話、アラーム、優先度の高い会話については、通常どおり通知が届きます。受け取った通知はすべて、画面を上から下にスワイプして簡単に確認できます。"</string>
<string name="notification_polite_work" msgid="8823596456640216391">"仕事用プロファイルに適用する"</string>
<string name="notification_polite_work_summary" msgid="5014189280132951378">"仕事用プロファイルのアプリに適用する"</string>
<string name="vr_listeners_title" msgid="4960357292472540964">"VR ヘルパー サービス"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"カテゴリ"</string>
<string name="notification_channels_other" msgid="18159805343647908">"その他"</string>
<string name="no_channels" msgid="4716199078612071915">"このアプリの通知はありません"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"使用していないカテゴリを表示"</string>
<string name="app_settings_link" msgid="6725453466705333311">"アプリ内のその他の設定"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"使用していないカテゴリを表示"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"使用していないカテゴリを非表示"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"すべて"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"アプリのオーバーライドを許可"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"割り込み可能なアプリ"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"他のアプリを選択"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time}まで1時間、アラームのみに変更します}other{{time}まで#時間、アラームのみに変更します}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>までアラームのみに変更します"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"常に割り込みに変更します"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"名前を変更"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"アイコンを変更"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"アイコンの変更"</string>
<string name="warning_button_text" msgid="1274234338874005639">"警告"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"閉じる"</string>
<string name="device_feedback" msgid="5351614458411688608">"このデバイスについてフィードバックを送信"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"ケース"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"バッテリー"</string>
<string name="settings_panel_title" msgid="346363079938069215">"設定パネル"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"デスクトップ モードに強制的に切り替え"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"セカンダリ ディスプレイで試験運用版デスクトップ モードに強制的に切り替えます"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"フリーフォーム ウィンドウを有効にする"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"フリーフォーム ウィンドウのサポートを有効にします。"</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"2 つ目のディスプレイでフリーフォーム ウィンドウを有効にする"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"2 つ目のディスプレイでのみフリーフォーム ウィンドウを有効にします。"</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"マルチウィンドウでのサイズ変更不可を有効にする"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"サイズ変更できないアプリをマルチウィンドウでも使用可能にします"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"フォースダークのオーバーライド"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"16 KB デベロッパー オプションを使用するには、このデバイスのデータ パーティションを ext4 に変換する必要があります。ソフトウェアの完全性はこのモードでは保証されないため、ブートローダーのロック解除中にスマートフォンに保存されているデータが失われる恐れがあります。16 KB オプションを有効にするには、この操作の後でもう 1 回再起動が必要です。このモードになったら、4 KB モードと 16 KB モードの間で切り替えることができます(切り替えのたびに 1 回再起動します)。これらのモードで無効になる機能があるため、一部のアプリが動作しないことがあります。デバイスを本番環境モードに戻すには、4 KB モードに戻してからブートローダーをロックする必要があります。この操作でデバイスは出荷時の設定にリセットされます。デバイスが Android で起動したら、開発者向けオプションで [OEM のロック解除] を無効にします。デバイスがワイプされて、確認後にファイルシステムが ext4 に変更されます。完了したら、戻って 16 KB を再度有効にしてください。"</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"すべてのデータを消去"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"データ パーティションを ext4 に再フォーマットしてワイプすることができませんでした。"</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16KB モードを使用するにはブートローダーのロック解除が必要です"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"ブートローダーのロック解除が必要です"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"このデバイスで 16KB デベロッパー オプションを使用するには、ブートローダーのロックを解除しておく必要があります。ソフトウェアの完全性はこのモードでは保証されないため、ブートローダーのロック解除中にスマートフォンに保存されているデータが失われる恐れがあります。16KB モードの有効化中にユーザーデータと設定はすべてワイプされます。ブートローダーのロックが解除されたら、16KB オプションを有効にするために再起動が 2 回必要です。このモードになったら、4KB モードと 16KB モードの間で切り替えることができます(切り替えのたびに 1 回再起動します)。これらのモードで無効になる機能があるため、一部のアプリが動作しないことがあります。デバイスを本番環境モードに戻すには、4KB モードに戻してから、OEM / ブートローダーをロックする必要があります。この操作で、デバイスは出荷時の設定にリセットされます。ブートローダーのロックを解除してから、もう一度お試しください。この手順については、<a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a> をご覧ください。"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"4 KB のページ非依存モードを使用中"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"4KB のページ非依存モードです。ソフトウェアの完全性はこのモードでは保証されないため、ブートローダーのロック解除中にスマートフォンに保存されているデータが失われる恐れがあります。これらのモードで無効になる機能があるため、一部のアプリが動作しないことがあります。再び本番環境モードにするには、デバイスのブートローダーをロックする必要があります。タップすると詳細が表示されます。"</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"4 KB のページ非依存モードです。ソフトウェアの完全性はこのモードでは保証されないため、ブートローダーのロック解除中にスマートフォンに保存されているデータが失われる恐れがあります。これらのモードで無効になる機能があるため、一部のアプリが動作しないことがあります。再び本番環境モードにするには、デバイスのブートローダーをロックする必要があります。この操作で、デバイスは再び出荷時の設定にリセットされ、製品版の設定に復元されます。デバイスが Android で起動したら、開発者向けオプションで [OEM のロック解除] を無効にします。デバイスが Android で起動しなかった場合や不安定な場合は、<a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> の最新のファクトリー イメージでデバイスの再書き込みを行うか、<a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> を使用し、[Wipe Device]、[Lock Bootloader]、[Force Flash all partitions] を選択してください。"</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"16 KB のページ非依存モードを使用中"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"16 KB のページ非依存モードです。ソフトウェアの完全性はこのモードでは保証されないため、ブートローダーのロック解除中にスマートフォンに保存されているデータが失われる恐れがあります。これらのモードで無効になる機能があるため、一部のアプリが動作しないことがあります。再び本番環境モードにするには、4 KB モードに戻してからデバイスのブートローダーをロックする必要があります。タップすると詳細が表示されます。"</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"16KB のページ非依存モードです。ソフトウェアの完全性はこのモードでは保証されないため、ブートローダーのロック解除中にスマートフォンに保存されているデータが失われる恐れがあります。これらのモードで無効になる機能があるため、一部のアプリが動作しないことがあります。再び本番環境モードにするには、4KB モードに戻してから、デバイスのブートローダーをロックする必要があります。この操作で、デバイスは再び出荷時の設定にリセットされ、製品版の設定に復元されます。デバイスが Android で起動したら、開発者向けオプションで [OEM のロック解除] を無効にします。デバイスが Android で起動しなかった場合や不安定な場合は、<a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> の最新のファクトリー イメージでデバイスの再書き込みを行うか、<a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> を使用し、[Wipe Device]、[Lock Bootloader]、[Force Flash all partitions] を選択してください。"</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"16KB のページ非依存モードです。ソフトウェアの完全性はこのモードでは保証されないため、ブートローダーのロック解除中にスマートフォンに保存されているデータが失われる恐れがあります。これらのモードで無効になる機能があるため、一部のアプリが動作しないことがあります。再び本番環境モードにするには、4KB モードに戻してから、デバイスのブートローダーをロックする必要があります。タップすると詳細が表示されます。"</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"16KB のページ非依存モードです。ソフトウェアの完全性はこのモードでは保証されないため、ブートローダーのロック解除中にスマートフォンに保存されているデータが失われる恐れがあります。これらのモードで無効になる機能があるため、一部のアプリが動作しないことがあります。再び本番環境モードにするには、4KB モードに戻してから、デバイスのブートローダーをロックする必要があります。この操作で、デバイスは再び出荷時の設定にリセットされ、製品版の設定に復元されます。デバイスが Android で起動したら、開発者向けオプションで [OEM のロック解除] を無効にします。デバイスが Android で起動しなかった場合や不安定な場合は、<a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> の最新のファクトリー イメージでデバイスの再書き込みを行うか、<a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> を使用し、[Wipe Device]、[Lock Bootloader]、[Force Flash all partitions] を選択してください。"</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16KB のページ非依存モード"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"詳細"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"バグレポート ハンドラ"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"アプリ固定機能を使用"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"開発者向けオプションを使用"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"印刷サービスを使用"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"複数のユーザーを許可する"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"許可, 複数, ユーザー, 認可, 大勢"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"複数、ユーザー、プロフィール、複数のユーザー、アカウント、切り替え、多数"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ワイヤレス デバッグの使用"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"タブレットが装着されているときに画面に表示するものを選択してください。スクリーン セーバーを使用すると、デバイスの電力使用量が増えることがあります。"</string>
<string name="customize_button_title" msgid="1110284655990203359">"カスタマイズ"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> をカスタマイズ"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"フリーフォームのサポートを有効にするには、再起動が必要です。"</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"セカンダリ ディスプレイをデスクトップ モードに強制的に切り替えるには、再起動が必要です。"</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"従来のフリーフォームのウィンドウ処理のサポートを有効にするには、再起動が必要です。"</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"フリーフォームのウィンドウ処理のサポートを変更するには、再起動が必要です。"</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"2 つ目のディスプレイでフリーフォームのウィンドウ処理を強制するには、再起動が必要です。"</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"今すぐ再起動する"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"後で再起動する"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"空間オーディオ"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ストリームを聴く"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>で聴くには、音声ストリームの QR コードをスキャンします"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"共有中はパスワードを編集できません。パスワードを変更するには、まず音声の共有を OFF にしてください。"</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-ka/arrays.xml b/res/values-ka/arrays.xml
index 0ac0960..a7e6438 100644
--- a/res/values-ka/arrays.xml
+++ b/res/values-ka/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"ძილის დრო"</item>
+ <item msgid="4152450357280759894">"ავტომობილის მართვა"</item>
+ <item msgid="7096549258219399423">"იმერსიული"</item>
+ <item msgid="2760716776980432977">"მართული"</item>
+ <item msgid="601734478369121764">"ვარსკვლავი"</item>
+ <item msgid="6243809315432780521">"კალენდარი"</item>
+ <item msgid="4913577903148415331">"დრო"</item>
+ <item msgid="3653377604690057780">"თეატრი"</item>
+ <item msgid="3843711267408385410">"ყვავილი"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 46eb7b7..55ba416 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"სმენის აპარატის პარამეტრები"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"მალსახმობი, სმენის აპარატებთან თავსებადობა"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"წინასწარ დაყენებული"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"აუდიოლოგისტს არ დაუპროგრამებია წინასწარ დაყენებული პარამეტრები."</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"წინასწარ დაყენებულის განახლება ვერ მოხერხდა"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"გამომავალი აუდიო"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"აუდიოს გამოსატანის შესახებ"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"დაემატა სახე და <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"დაემატა სახე, თითის ანაბეჭდი და <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"დაემატა სახე, თითის ანაბეჭდები და <xliff:g id="WATCH">%s</xliff:g>"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"ეს საჭიროა, რადგან ვინაობის დადასტურებაა ჩართული"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Authenticator-ით დისტანციურად განბლოკვა"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"დაემატა საათი"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"თქვენი საათის დაყენება"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"შეიტყვეთ მეტი საათის განბლოკვის შესახებ"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"საათის დამატება"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"საათის ამოშლა"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"თითის ანაბეჭდით და სახით განბლოკვა"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"სახით და ანაბეჭდით განბლოკვა"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"სახით და თითის ანაბეჭდით განბლოკვა სამსახურისთვის"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"საჭიროა დაყენება"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"სახე და თითის ანაბეჭდები დამატებულია"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"აპების ინსტალაცია"</b>\n"დააინსტალირეთ აპები, რომლებიც გსურთ კონფიდენციალურად შეინახოთ თქვენს სივრცეში"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"გაითვალისწინეთ"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"აპების მუშაობის შეწყვეტა თქვენი კერძო სივრცის ჩაკეტვისას"</b>\n"თქვენს კერძო სივრცეში არსებული აპების ჩაკეტვისას, ისინი შეწყვეტენ მუშაობას და მათგან შეტყობინებებს აღარ მიიღებთ"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"„კერძო სივრცეები“ არ არის შესაფერისი ისეთი აპებისთვის, რომლებიც ფონურად მუშაობს ან აგზავნის კრიტიკულ შეტყობინებებს. ასეთია, მაგალითად, სამედიცინო აპები. ამის მიზეზი შემდეგია: როცა თქვენი სივრცე იკეტება, შეტყობინებები და ფონური აქტივობა ჩერდება.\n\nროცა თქვენი კერძო სივრცე ჩაკეტილია, იქ არსებული აპები არ გამოჩნდება ნებართვების მმართველში, კონფიდენციალურობის საინფორმაციო დაფაზე და სხვა პარამეტრებში.\n\nკერძო სივრცის ახალ მოწყობილობაში გადატანა შეუძლებელია. თქვენ უნდა დააყენოთ სხვა კერძო სივრცე, თუ გსურთ მისი სხვა მოწყობილობაზე გამოყენება.\n\nნებისმიერს, ვინც თქვენს მოწყობილობას აკავშირებს კომპიუტერთან ან დააინსტალირებს მავნე აპებს თქვენს მოწყობილობაზე, შეიძლება ჰქონდეს წვდომა თქვენს კერძო სივრცეზე."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"„კერძო სივრცეები“ არ არის შესაფერისი ისეთი აპებისთვის, რომლებიც ფონურად მუშაობს ან აგზავნის კრიტიკულ შეტყობინებებს. ასეთია, მაგალითად, სამედიცინო აპები. ამის მიზეზი შემდეგია: როცა თქვენი სივრცე იკეტება, შეტყობინებები და ფონური აქტივობა ჩერდება.\n\nროცა კერძო სივრცე ჩაკეტილია, იქ არსებული აპები არ გამოჩნდება ნებართვების მმართველში, კონფიდენციალურობის საინფორმაციო დაფაზე და სხვა პარამეტრებში.\n\nკერძო სივრცის ახალ მოწყობილობაში აღდგენა შეუძლებელია. თქვენ უნდა დააყენოთ სხვა სივრცე, თუ გსურთ მისი სხვა მოწყობილობაზე გამოყენება.\n\nნებისმიერს, ვინც თქვენს მოწყობილობას აკავშირებს კომპიუტერთან ან დააინსტალირებს მავნე აპებს თქვენს მოწყობილობაზე, შეიძლება ჰქონდეს წვდომა თქვენს კერძო სივრცეზე."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"შეიტყვეთ მეტი კერძო სივრცის შესახებ"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"ამას ცოტა ხანი დასჭირდება"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"მიმდინარეობს პირადი სივრცის დაყენება…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"გსურთ მოწყობილობის გადატვირთვა?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"დეტალური NFC აღრიცხვა გათვალისწინებულია მხოლოდ დეველოპერული მიზნებისთვის. დამატებითი NFC მონაცემები მოყვანილია სისტემის ხარვეზის ანგარიშებში, რომლებიც შეიძლება მოიცავდეს პირად ინფორმაციას. გადატვირთეთ თქვენი მოწყობილობა ამ პარამეტრის შესაცვლელად."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"გადატვირთვა"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"ტრანსლირება"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"გამოსახულების ასლი"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"უსადენო ეკრანის ჩართვა"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"ადაპტაციური"</string>
<string name="brightness" msgid="6216871641021779698">"სიკაშკაშის დონე"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"მორგებადი სიკაშკაშე"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"მორგებადი სიკაშკაშის შესახებ"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"თქვენი ეკრანის სიკაშკაშე ავტომატურად დარეგულირდება თქვენი გარემოსა და აქტივობების გათვალისწინებით. ამ სლაიდერის ამოძრავებას ხელითაც შეძლებთ, რითაც დაეხმარებით მორგებადი სიკაშკაშის პარამეტრს, შეიტყოს, თუ რას ანიჭებთ უპირატესობას."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"ჩართული"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"გამორთული"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"ვარიანტები"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"წვდომა"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"ფიზიკური კლავიატურა"</string>
- <string name="show_ime" msgid="4334255501724746849">"ეკრანული კლავიატურის გამოყენება"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"აქტიური ფიზიკური კლავიატურისას ეკრანზე შენარჩუნება"</string>
<string name="bounce_keys" msgid="7419450970351743904">"კლავიშების ასხლეტა"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"კლავიატურა აიგნორებს <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> მილიწამის განმავლობაში ერთსა და იმავე კლავიშზე სწრაფ, განმეორებით დაჭერებს"</string>
<string name="slow_keys" msgid="2891452895499690837">"ნელი კლავიშები"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"მომხმარებლის მიერ არჩეული: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"მეტყველება"</string>
<string name="pointer_speed" msgid="7398649279282675718">"მანიშნებლის სიჩქარე"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"თამაშის მეთვალყურე"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"ვიბრაციის გადამისამართება"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"დაკავშირებისას ვიბრაციის სათამაშო კონტოლერზე გადამისამართება"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"მაინც გაგრძელება"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"გაუქმება"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"გადიდების პარამეტრები"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"ერთი თითით პანირება"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"გადაადგილეთ გამადიდებელი 1 თითით"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"ეკრანზე გადასაადგილებლად ჩაავლეთ 1 თითით"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"გაამოძრავეთ გადიდების ზონა ერთი თითის ჩავლებით."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"გაამოძრავეთ გადიდების ზონა ორი თითის ჩავლებით."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"მიუწვდომელია ეკრანის მხოლოდ ნაწილის გადიდებისას"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"მასშტაბირება ღილაკზე შეხებით"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"კონტენტის გასადიდებლად სწრაფად გაადიდეთ მასშტაბი ეკრანზე"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>მასშტაბის გასადიდებლად:</b><br/> {0,number,integer}. გადიდების დასაწყებად გამოიყენეთ მალსახმობი<br/> {1,number,integer}. შეეხეთ ეკრანს<br/> {2,number,integer}. ჩაავლეთ 2 თითი ეკრანზე გადასაადგილებლად<br/> {3,number,integer}. მასშტაბის კორექტირებისთვის გამოიყენეთ თითებით მასშტაბირება 2 თითით<br/> {4,number,integer}. გადიდების შესაწყვეტად გამოიყენეთ მალსახმობი<br/><br/><b>მასშტაბის დროებით გასადიდებლად:</b><br/> {0,number,integer}. გადიდების მასშტაბი სრულ ეკრანზე უნდა იყოს დაყენებული<br/> {1,number,integer}. გადიდების დასაწყებად გამოიყენეთ მალსახმობი<br/> {2,number,integer}. ხანგრძლივად შეეხეთ ეკრანს ნებისმიერ ადგილას<br/> {3,number,integer}. ჩაავლეთ თითი ეკრანზე გადასაადგილებლად<br/> {4,number,integer}. გადიდების შესაწყვეტად მოაშორეთ თითი"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>მასშტაბის გასადიდებლად:</b><br/> {0,number,integer}. გადიდების დასაწყებად გამოიყენეთ მალსახმობი<br/> {1,number,integer}. შეეხეთ ეკრანს<br/> {2,number,integer}. ეკრანზე გადასაადგილებლად ჩაავლეთ 2 თითით<br/> {3,number,integer}. მასშტაბის კორექტირებისთვის გამოიყენეთ თითებით მასშტაბირება 2 თითით<br/> {4,number,integer}. გადიდების შეწყვეტისთვის გამოიყენეთ მალსახმობი<br/><br/> თქვენ ასევე შეგიძლიათ დროებით გაადიდოთ მასშტაბი და შეასრულოთ სხვა მოქმედებები."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>მასშტაბის გასადიდებლად:</b><br/> {0,number,integer}. გადიდების დასაწყებად გამოიყენეთ მალსახმობი<br/> {1,number,integer}. შეეხეთ ეკრანს<br/> {2,number,integer}. ეკრანზე გადასაადგილებლად ჩაავლეთ 1 ან 2 თითით<br/> {3,number,integer}. მასშტაბის კორექტირებისთვის გამოიყენეთ თითებით მასშტაბირება 2 თითით<br/> {4,number,integer}. გადიდების შეწყვეტისთვის გამოიყენეთ მალსახმობი<br/><br/> თქვენ ასევე შეგიძლიათ დროებით გაადიდოთ მასშტაბი და შეასრულოთ სხვა მოქმედებები."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"როდესაც გადიდება ჩართულია, შეგიძლიათ გაადიდოთ მასშტაბი თქვენს ეკრანზე.\n\n"<b>"მასშტაბირებისთვის"</b>", დაიწყეთ გადიდება, შემდეგ შეეხეთ ეკრანის ნებისმიერ ადგილს.\n"<ul><li>"გადასაადგილებლად გადაატარეთ ეკრანს 2 ან მეტი თითი"</li>\n<li>"მასშტაბის დასარეგულირებლად ეკრანზე შეაერთეთ 2 ან მეტი თითი"</li></ul>\n\n<b>"მასშტაბის დროებით გასადიდებლად"</b>", დაიწყეთ გადიდება, შემდეგ ხანგრძლივად შეეხეთ ეკრანის ნებისმიერ ნაწილს.\n"<ul><li>"გადაატარეთ თითი ეკრანს მისი სხვადასხვა ნაწილის დასათვალიერებლად"</li>\n<li>"მასშტაბის შესამცირებლად ასწიეთ თითი"</li></ul>\n\n"კლავიატურისა და ნავიგაციის ზოლის მასშტაბის გაზრდა ვერ მოხერხდება."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"გვერდი <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> / <xliff:g id="NUM_PAGES">%2$d</xliff:g>-დან"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"მარტივი წვდომის ღილაკის მალსახმობი"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"შეტყობინებების მიღება მხოლოდ მნიშვნელოვანი ხალხისგან და აპებიდან"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"აქტივაციის ტიპის არჩევა"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"დრო"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"მაგ. „09:30 — 17:00“"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"კალენდარი"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"მაგ. „პირადი კალენდარი“"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"რეჟიმის შექმნა"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"მორგებული"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"წყვეტების შეზღუდვა"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"„არ შემაწუხოთ“ რეჟიმის ჩართვა"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"შეწყვეტა შეუძლია მაღვიძარებს და მედიის ხმებს"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"განრიგები"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"განრიგების წაშლა"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"წაშლა"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"რედაქტირება"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"განრიგები"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"განრიგი"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"კალენდრის დამატება"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"თქვენი კალენდრის გამოყენება"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"განრიგი"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"განრიგის დაყენება"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"განრიგი"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> სთ, <xliff:g id="MINUTES">%2$d</xliff:g> წთ"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"ავტომატურად ჩართვა"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"განრიგი"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"ტელეფონის დადუმება გარკვეულ მომენტებში"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"„არ შემაწუხოთ“ რეჟიმის წესების დაყენება"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"ხმის გამომცემი წყვეტების დაშვება"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"ვიზუალური სიგნალების დაბლოკვა"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"ვიზუალური სიგნალების დაშვება"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"შეტყობინებები, რომლებსაც თქვენთან დაკავშირება შეუძლიათ"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"ფოკუსის შენარჩუნება"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"დამატებითი მოქმედებები"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"ეკრანის პარამეტრები"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"ეკრანის ვარიანტები"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"მუქი თემის ჩართვა"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"შეცვალეთ ოპერაციული სისტემა და აპები და უპირატესობა მიანიჭეთ ნათელ ტექსტს მუქ ფონზე, რაც თვალისთვის უფრო ადვილი აღსაქმელია და მნიშვნელოვნად ზოგავს ბატარეას ზოგიერთ მოწყობილობაზე"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ეკრანის ცვლილებები არ დაფიქსირებულა}=1{{effect_1}}=2{{effect_1} და {effect_2}}=3{{effect_1}, {effect_2} და {effect_3}}other{{effect_1}, {effect_2} და # სხვა}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"შეფერხებების გაფილტვრა"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"შეფერხებები არ გაფილტრულა"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"გაფილტრული შეტყობინებების ეკრანის ვარიანტები"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"როცა ჩართულია „არ შემაწუხოთ“ რეჟიმი"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"შეტყობინებები ხმის გარეშე"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"შეტყობინების გახსნა"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"შეტყობინებების ჩაჩუმების დაშვება"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"შეტყობ. ნიშნული აპის ხატულაზე"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"შეტყობინების ნაკრებები"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"ბუშტები"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ბუშტები"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"ამ მიმოწერის ბუშტად ჩვენება"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"კატეგორიები"</string>
<string name="notification_channels_other" msgid="18159805343647908">"სხვა"</string>
<string name="no_channels" msgid="4716199078612071915">"ამ აპს შეტყობინებები არ გამოუქვეყნებია"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"გამოუყენებელი კატეგორიების ჩვენება"</string>
<string name="app_settings_link" msgid="6725453466705333311">"დამატებითი პარამეტრები აპში"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"გამოუყენებელი კატეგორიების ჩვენება"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"გამოუყენებელი კატეგორიების დამალვა"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ყველა"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"აპებისთვის უგულებელყოფის დაშვება"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"აპები, რომლებსაც შეწყვეტა შეუძლია"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"მეტი აპის არჩევა"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{შეცვალეთ სიგნალიზაცია მხოლოდ ერთი საათის განმავლობაში {time}-მდე}other{მაღვიძარების შეცვლა მხოლოდ # საათის განმავლობაში {time}-მდე}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"მაღვიძარებზე მხოლოდ <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>-მდე გადაყვანა"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"„მუდმივად შეწყვეტის“ რეჟიმზე გადაყვანა"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"გადარქმევა"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"ხატულის შეცვლა"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"ხატულის შეცვლა"</string>
<string name="warning_button_text" msgid="1274234338874005639">"შენიშვნა"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"დახურვა"</string>
<string name="device_feedback" msgid="5351614458411688608">"გამოხმაურება ამ მოწყობილობის შესახებ"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"ფუტლარი"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"ბატარეა"</string>
<string name="settings_panel_title" msgid="346363079938069215">"პარამეტრების პანელი"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"დესკტოპის რეჟიმის იძულებით გააქტიურება"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"დესკტოპის ექსპერიმენტული რეჟიმის იძულებით გააქტიურება მეორეულ ეკრანებზე"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"თავისუფალი ფორმის ფანჯრების ჩართვა"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"მხარდაჭერის ჩართვა თავისუფალი ფორმის ფანჯრებისთვის"</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"თავისუფალი ფორმის ფანჯრების ჩართვა მეორე ეკრანზე"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"თავისუფალი ფორმის ფანჯრების ჩართვა მხოლოდ დამატებით ეკრანზე."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"ფიქსირებული ზომის აპის ჩართვა მრავალი ფანჯრის რეჟიმში"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"ეს პარამეტრი საშუალებას იძლევა, აპი ზომის შეუცვლელად გამოჩნდეს მრავალი ფანჯრის რეჟიმში"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"გამუქების იძულების უგულებელყოფა"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"დეველოპერთა 16-კბაიტიანი პარამეტრების გამოყენებამდე ამ მოწყობილობის მონაცემთა დანაყოფი უნდა დაკონვერტირდეს ext4-ზე. აღნიშნულ რეჟიმში პროგრამული უზრუნველყოფის მთლიანობა ვერ იქნება გარანტირებული და სანამ ჩამტვირთავი განბლოკილია, ტელეფონში შენახული ნებისმიერი მონაცემი შეიძლება რისკის ქვეშ იყოს. 16-კბაიტიანი ვარიანტის გააქტიურება მოითხოვს კიდევ ერთ გადატვირთვას. ამ რეჟიმში შესვლის შემდეგ, 4-კბაიტიან და 16-კბაიტიან რეჟიმებს შორის შეგიძლიათ ერთი გადატვირთვით გადაერთოთ. ამ რეჟიმებში ზოგი ფუნქცია გაითიშება, რის გამოც გარკვეულმა აპლიკაციებმა შეიძლება არ იმუშაოს. მოწყობილობის წარმოების რეჟიმზე დასაბრუნებლად, უკან უნდა გადმოერთოთ 4-კბაიტიან რეჟიმზე და შემდეგ ჩაკეტოთ ჩამტვირთავი, რაც მოწყობილობას ქარხნულ პარამეტრებზე დააბრუნებს. მოწყობილობის Android-ში წარმატებით ჩატვირთვის შემდეგ, დეველოპერთა პარამეტრებში გათიშეთ OEM-ის მხრიდან განბლოკვა. თანხმობის შემდეგ, ეს მოწყობილობა ამოიშლება და ფაილის სისტემა შეიცვლება ext4-ზე. მას შემდეგ რაც ეს დასრულდება, გთხოვთ დაბრუნდეთ რათა თავიდან ჩართოთ 16-კბაიტიანი რეჟიმი."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"ყველა მონაცემის ამოშლა"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"ფორმატის შეცვლა და მონაცემთა დანაყოფის ext4-მდე ამოშლა ვერ მოხერხდა."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16-კბაიტიანი რეჟიმისათვის აუცილებელია ჩამტვირთავის განბლოკვა."</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"საჭიროა ჩამტვირთავის განბლოკვა"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"დეველოპერთა 16-კბაიტიანი პარამეტრების გამოყენებამდე ამ მოწყობილობის ჩამტვირთავი განბლოკილი უნდა იყოს. აღნიშნულ რეჟიმში პროგრამული უზრუნველყოფის მთლიანობა ვერ იქნება გარანტირებული და სანამ ჩამტვირთავი განბლოკილია, ტელეფონში შენახული ნებისმიერი მონაცემი შეიძლება რისკის ქვეშ იყოს. 16-კბაიტიანი რეჟიმის აქტივაციის შემდეგ, ყველა მომხმარებლის მონაცემები და პარამეტრები ამოიშლება. 16-კბაიტიან ვარიანტს ესაჭიროება ორჯერ გადატვირთვა ჩამტვირთავის განბლოკვის შემდეგ. ამ რეჟიმში შესვლის შემდეგ, 4-კბაიტიან და 16-კბაიტიან რეჟიმებს შორის შეგიძლიათ ერთი გადატვირთვით გადაერთოთ. ამ რეჟიმებში ზოგი ფუნქცია გაითიშება, რის გამოც გარკვეულმა აპლიკაციებმა შეიძლება არ იმუშაოს. მოწყობილობის წარმოების რეჟიმში დასაბრუნებლად, უკან უნდა გადმოერთოთ 4-კბაიტიან რეჟიმზე და შემდეგ ჩაკეტოთ OEM/ჩამტვირთავი (რაც მოწყობილობას ქარხნულ პარამეტრებზე დააბრუნებს). გთხოვთ, განბლოკოთ ჩამტვირთავი და ხელახლა ცადოთ. მოცემულ ბმულზე შეგიძლიათ იხილოთ ამ პროცესის ინსტრუქცია: <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"იყენებთ 4-კბაიტიან გვერდ-აგნოსტიკურ რეჟიმს"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"თქვენ იმყოფებით გვერდ-აგნოსტიკური რეჟიმის 4-კბაიტიან რეჟიმში. აღნიშნულ რეჟიმში პროგრამული უზრუნველყოფის მთლიანობა ვერ იქნება გარანტირებული და სანამ ჩამტვირთავი განბლოკილია, ტელეფონში შენახული ნებისმიერი მონაცემი შეიძლება რისკის ქვეშ იყოს. ამ რეჟიმებში ზოგი ფუნქცია გაითიშება, რის გამოც გარკვეულმა აპლიკაციებმა შეიძლება არ იმუშაოს. მოწყობილობის წარმოების რეჟიმში თავიდან შესასვლელად უნდა ჩაკეტოთ მოწყობილობის ჩამტვირთავი. მეტის წასაკითხად შეეხეთ."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"თქვენ იმყოფებით გვერდ-აგნოსტიკური რეჟიმის 4-კბაიტიან რეჟიმში. აღნიშნულ რეჟიმში პროგრამული უზრუნველყოფის მთლიანობა ვერ იქნება გარანტირებული და სანამ ჩამტვირთავი განბლოკილია, ტელეფონში შენახული ნებისმიერი მონაცემი შეიძლება რისკის ქვეშ იყოს. ამ რეჟიმებში ზოგი ფუნქცია გაითიშება, რის გამოც გარკვეულმა აპლიკაციებმა შეიძლება არ იმუშაოს. მოწყობილობის წარმოების რეჟიმში თავიდან შესასვლელად უნდა ჩაკეტოთ მოწყობილობის ჩამტვირთავი. ეს მოწყობილობას კვლავ ქარხნულ პარამეტრებზე დააბრუნებს და შესაბამისად, აღადგენს მისი წარმოების პარამეტრებს. მოწყობილობის Android-ში წარმატებით ჩატვირთვის შემდეგ, დეველოპერთა პარამეტრებში გათიშეთ OEM-ის მხრიდან განბლოკვა. თუ მოწყობილობა ვერ იტვირთება Android-ში ან არასტაბილურია, განაახლეთ ჩაშენებული პროგრამული უზრუნველყოფა უახლესი ქარხნული იმიჯებით შემდეგი ბმულიდან: <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> და აირჩიეთ „მოწყობილობის წაშლა“, „ჩამტვირთავის ჩაკეტვა“ და „ყველა დანაყოფზე იძულებითი ჩატვირთვა“."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"იყენებთ 16-კბაიტიან გვერდ-აგნოსტიკურ რეჟიმს"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"თქვენ იმყოფებით გვერდ-აგნოსტიკური რეჟიმის 16-კბაიტიან რეჟიმში. აღნიშნულ რეჟიმში პროგრამული უზრუნველყოფის მთლიანობა ვერ იქნება გარანტირებული და სანამ ჩამტვირთავი განბლოკილია, ტელეფონში შენახული ნებისმიერი მონაცემი შეიძლება რისკის ქვეშ იყოს. ამ რეჟიმებში ზოგი ფუნქცია გაითიშება, რის გამოც გარკვეულმა აპლიკაციებმა შეიძლება არ იმუშაოს. მოწყობილობის წარმოების რეჟიმში ხელახლა შესასვლელად უნდა გადაერთოთ 4-კბაიტიან რეჟიმზე და შემდეგ ჩაკეტოთ მოწყობილობის ჩამტვირთავი. მეტის წასაკითხად შეეხეთ."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"თქვენ იმყოფებით გვერდ-აგნოსტიკური რეჟიმის 16-კბაიტიან რეჟიმში. აღნიშნულ რეჟიმში პროგრამული უზრუნველყოფის მთლიანობა ვერ იქნება გარანტირებული და სანამ ჩამტვირთავი განბლოკილია, ტელეფონში შენახული ნებისმიერი მონაცემი შეიძლება რისკის ქვეშ იყოს. ამ რეჟიმებში ზოგი ფუნქცია გაითიშება, რის გამოც გარკვეულმა აპლიკაციებმა შეიძლება არ იმუშაოს. მოწყობილობის წარმოების რეჟიმში ხელახლა შესასვლელად უნდა გადაერთოთ 4-კბაიტიან რეჟიმზე და შემდეგ ჩაკეტოთ მოწყობილობის ჩამტვირთავი. ეს მოწყობილობას კვლავ ქარხნულ პარამეტრებზე დააბრუნებს და შესაბამისად, აღადგენს მისი წარმოების პარამეტრებს. მოწყობილობის Android-ში წარმატებით ჩატვირთვის შემდეგ, დეველოპერთა პარამეტრებში გათიშეთ OEM-ის მხრიდან განბლოკვა. თუ მოწყობილობა ვერ იტვირთება Android-ში ან არასტაბილურია, განაახლეთ ჩაშენებული პროგრამული უზრუნველყოფა უახლესი ქარხნული იმიჯებით შემდეგი ბმულიდან: <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> და აირჩიეთ „მოწყობილობის წაშლა“, „ჩამტვირთავის ჩაკეტვა“ და „ყველა დანაყოფზე იძულებითი ჩატვირთვა“."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"თქვენ იმყოფებით გვერდ-აგნოსტიკური რეჟიმის 16-კილობაიტიან რეჟიმში. აღნიშნულ რეჟიმში პროგრამული უზრუნველყოფის მთლიანობა ვერ იქნება გარანტირებული და სანამ ჩამტვირთავი განბლოკილია, ტელეფონში შენახული ნებისმიერი მონაცემი შეიძლება რისკის ქვეშ იყოს. ამ რეჟიმებში ზოგი ფუნქცია გაითიშება, რის გამოც გარკვეულმა აპლიკაციებმა შეიძლება არ იმუშაოს. მოწყობილობის წარმოების რეჟიმში ხელახლა შესასვლელად უნდა გადაერთოთ 4-კილობაიტიან რეჟიმზე და შემდეგ ჩაკეტოთ მოწყობილობის ჩამტვირთავი. მეტის წასაკითხად შეეხეთ."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"თქვენ იმყოფებით გვერდ-აგნოსტიკური რეჟიმის 16-კილობაიტიან რეჟიმში. აღნიშნულ რეჟიმში პროგრამული უზრუნველყოფის მთლიანობა ვერ იქნება გარანტირებული და სანამ ჩამტვირთავი განბლოკილია, ტელეფონში შენახული ნებისმიერი მონაცემი შეიძლება რისკის ქვეშ იყოს. ამ რეჟიმებში ზოგი ფუნქცია გაითიშება, რის გამოც გარკვეულმა აპლიკაციებმა შეიძლება არ იმუშაოს. მოწყობილობის წარმოების რეჟიმში ხელახლა შესასვლელად უნდა გადაერთოთ 4-კილობაიტიან რეჟიმზე და შემდეგ ჩაკეტოთ მოწყობილობის ჩამტვირთავი. ეს მოწყობილობას კვლავ ქარხნულ პარამეტრებზე დააბრუნებს და შესაბამისად, აღადგენს მისი წარმოების პარამეტრებს. მოწყობილობის Android-ში წარმატებით ჩატვირთვის შემდეგ, დეველოპერთა პარამეტრებში გათიშეთ OEM-ის მხრიდან განბლოკვა. თუ მოწყობილობა ვერ იტვირთება Android-ში ან არასტაბილურია, განაახლეთ ჩაშენებული პროგრამული უზრუნველყოფა უახლესი ქარხნული იმიჯებით შემდეგი ბმულიდან: <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> და აირჩიეთ „მოწყობილობის წაშლა“, „ჩამტვირთავის ჩაკეტვა“ და „ყველა დანაყოფზე იძულებითი ჩატვირთვა“."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16-კბაიტიანი გვერდ-აგნოსტიკური რეჟიმი"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"ვრცლად"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"სისტემის ხარვეზის ანგარიშის დამმუშავებელი"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"აპის ჩამაგრების გამოყენება"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"დეველოპერთა პარამეტრების გამოყენება"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"ბეჭდვის სერვისის გამოყენება"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"მრავალი მომხმარებლის დაშვება"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"დაშვება, მრავალჯერადი, მომხმარებელი, ნებართვა, ბევრი"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"რამდენიმე მომხმარებელი, პროფილი, ადამიანები, ანგარიშები, გადართვა, ბევრი"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"უსადენო გამართვის გამოყენება"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"აირჩიეთ, რას იხილავთ თქვენს ეკრანზე, როცა თქვენი ტაბლეტი დოკ-სადგურთან იქნება მიერთებული. ეკრანმზოგის გამოყენების შემთხვევაში თქვენმა მოწყობილობამ შეიძლება მეტი ენერგია გამოიყენოს."</string>
<string name="customize_button_title" msgid="1110284655990203359">"მორგება"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>-ის მორგება"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"თავისუფალი ფორმის მხარდაჭერის ჩასართავად საჭიროა გადატვირთვა."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"მეორეულ ეკრანზე დესკტოპ რეჟიმის იძულებით გასააქტიურებლად საჭიროა გადატვირთვა."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"მოძველებული თავისუფალი ფორმის ფანჯრების მხარდაჭერის ჩასართავად საჭიროა გადატვირთვა."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"თავისუფალი ფანჯრების მხარდაჭერის შესაცვლელად საჭიროა გადატვირთვა."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"დამატებით ეკრანებზე თავისუფალი ფორმის ფანჯრების გასააქტიურებლად საჭიროა გადატვირთვა."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"ახლავე გადატვირთვა"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"გადატვირთვა მოგვიანებით"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"სივრცითი აუდიო"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ნაკადის მოსმენა"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"დაასკანირეთ აუდიო ნაკადის QR კოდი<xliff:g id="DEVICE_NAME">%1$s</xliff:g> მოწყობილობასთან ერთად მოსასმენად"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"გაზიარების დროს შეუძლებელია პაროლის რედაქტირება. პაროლის შესაცვლელად, პირველ რიგში, გამორთეთ აუდიოს გაზიარება."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-kk/arrays.xml b/res/values-kk/arrays.xml
index bc70f23..9e12fa2 100644
--- a/res/values-kk/arrays.xml
+++ b/res/values-kk/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Ұйқы режимі"</item>
+ <item msgid="4152450357280759894">"Көлік жүргізу"</item>
+ <item msgid="7096549258219399423">"Әсерлі"</item>
+ <item msgid="2760716776980432977">"Басқару"</item>
+ <item msgid="601734478369121764">"Жұлдыз"</item>
+ <item msgid="6243809315432780521">"Күнтізбе"</item>
+ <item msgid="4913577903148415331">"Уақыт"</item>
+ <item msgid="3653377604690057780">"Театр"</item>
+ <item msgid="3843711267408385410">"Гүл"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 1fd98f7..9e7c4c8 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Есту құрылғысының параметрлері"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Жылдам пәрмен, есту аппаратының үйлесімділігі"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Параметрлер жинағы"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Аудиолог бағдарламалаған параметрлер жинағы жоқ."</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Параметрлер жинағы жаңартылмады."</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Аудио шығысы"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Аудио шығысы туралы"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Бет тану функциясы және <xliff:g id="WATCH">%s</xliff:g> қосылды."</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Бет тану функциясы, саусақ ізі және <xliff:g id="WATCH">%s</xliff:g> қосылды."</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Бет тану функциясы, саусақ іздері және <xliff:g id="WATCH">%s</xliff:g> қосылды."</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Бұл керек, себебі жеке басты тексеру функциясы қосылған."</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator құлпын ашу"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Сағат қосылды."</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Сағат параметрлерін реттеу"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Құлыпты сағат арқылы ашу туралы толық ақпарат"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Сағатты қосу"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Сағатты өшіру"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Бет және саусақ ізі арқылы құлыпты ашу"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Бет тану, саусақ ізімен ашу"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Жұмысқа арналған бет тану және саусақ ізімен ашу функциялары"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Реттеу қажет."</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Бет және саусақ іздері енгізілді."</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Қолданбалар орнату"</b>\n"Кеңістігіңізге құпия сақтағыңыз келетін қолданбаларды орнатуға болады."</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Есте сақтаңыз"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Кеңістігіңізді құлыптасаңыз, қолданбалардың жұмысы тоқтайды."</b>\n"Кеңістікті құлыптаған кезде, ондағы қолданбалар жұмысын тоқтатады және олардан хабарландырулар алмайсыз."</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Құпия кеңістіктер фондық режимде жұмыс істейтін немесе аса маңызды хабарландырулар жіберетін (мысалы, медициналық) қолданбаларға арналмаған. Себебі кеңістік құлыпталған кезде, хабарландырулар мен фондық режимдегі әрекеттер тоқтатылады.\n\nСонымен қатар ондағы қолданбалар \"Рұқсаттарды басқару\" бөлімінде, құпиялық тақтасында және басқа параметрлерде көрсетілмейді.\n\nҚұпия кеңістікті жаңа құрылғыға көшіру мүмкін емес. Оны басқа құрылғыда пайдаланғыңыз келсе, жаңасын орнатуыңыз керек болады.\n\nҚұрылғыңызды компьютерге жалғаған немесе оған зиянды қолданбалар орнатқан кез келген адам құпия кеңістігіңізге кіре алады."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Құпия кеңістіктер фондық режимде жұмыс істейтін немесе аса маңызды хабарландырулар жіберетін (мысалы, медициналық) қолданбаларға арналмаған. Себебі кеңістік құлыпталған кезде, хабарландырулар мен фондық режимдегі әрекеттер тоқтатылады.\n\nСонымен қатар ондағы қолданбалар \"Рұқсаттарды басқару\" бөлімінде, құпиялық тақтасында және басқа параметрлерде көрсетілмейді.\n\nҚұпия кеңістікті жаңа құрылғыда қалпына келтіру мүмкін емес. Оны басқа құрылғыда пайдаланғыңыз келсе, жаңасын орнатуыңыз керек болады.\n\nҚұрылғыңызды компьютерге жалғаған немесе оған зиянды қолданбалар орнатқан кез келген адам құпия кеңістігіңізге кіре алады."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Құпия кеңістік туралы толық ақпарат"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Бұған бірнеше минут кетеді."</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Құпия кеңістік реттеліп жатыр…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Құрылғыны өшіріп қосасыз ба?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Толық NFC журналы әзірлеу мақсаттарына ғана арналған. Қосымша NFC деректері қате туралы есептерге қосылған, ал онда құпия ақпарат болуы мүмкін. Бұл параметрді өзгерту үшін құрылғыны өшіріп қосыңыз."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Өшіріп қосу"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Трансляция"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"айна"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Сымсыз дисплейді қосу"</string>
@@ -1192,7 +1222,8 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Бейімделеді"</string>
<string name="brightness" msgid="6216871641021779698">"Жарықтық деңгейі"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Жарықтықты бейімдеу"</string>
- <string name="auto_brightness_description" msgid="6807117118142381193">"Экран жарықтығы қоршаған ортаға және әрекеттерге автоматты түрде бейімделеді. Жүгірткіні қолмен жылжытуыңызға болады."</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Жарықтықты бейімдеу туралы"</string>
+ <string name="auto_brightness_description" msgid="6807117118142381193">"Экран жарықтығы қоршаған ортаға және әрекеттерге автоматты түрде бейімделеді. Жүгірткіні қолмен жылжытсаңыз, функция қалауыңызды ескеретін болады."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Қосулы"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Өшірулі"</string>
<string name="display_white_balance_title" msgid="2624544323029364713">"Дисплейдің ақ түс балансы"</string>
@@ -1227,7 +1258,7 @@
<string name="night_display_start_time_title" msgid="2611541851596977786">"Басталу уақыты"</string>
<string name="night_display_end_time_title" msgid="5243112480391192111">"Аяқталу уақыты"</string>
<string name="night_display_temperature_title" msgid="857248782470764263">"Қанықтығы"</string>
- <string name="night_display_summary_off_auto_mode_never" msgid="7406899634169354142">"Автоматты қосылмайды"</string>
+ <string name="night_display_summary_off_auto_mode_never" msgid="7406899634169354142">"Автоматты түрде қосылмайды"</string>
<string name="night_display_summary_off_auto_mode_custom" msgid="6667008039080687931">"Автоматты қосылады: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="night_display_summary_off_auto_mode_twilight" msgid="3669132200611324994">"Күн батқанда, автоматты түрде қосылады"</string>
<string name="night_display_summary_on_auto_mode_never" msgid="832333009202889350">"Автоматты өшпейді"</string>
@@ -1247,7 +1278,7 @@
<string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Белгілі бір уақытта қосылады"</string>
<string name="dark_ui_auto_mode_custom_bedtime" msgid="8465023741946439266">"Ұйқы режимінде қосылады."</string>
<string name="dark_ui_status_title" msgid="3505119141437774329">"Күйі"</string>
- <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Автоматты қосылмайды"</string>
+ <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Автоматты түрде қосылмайды"</string>
<string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Күн батқанда, автоматты түрде қосылады"</string>
<string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Автоматты түрде қосылады: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
<string name="dark_ui_summary_off_auto_mode_custom_bedtime" msgid="7759826673214624622">"Ұйқы режимінде автоматты түрде қосылады."</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Опциялар"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Арнайы мүмкіндіктер"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Физикалық пернетақта"</string>
- <string name="show_ime" msgid="4334255501724746849">"Экрандағы пернетақтаны пайдалану"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Физикалық пернетақта қосулы кезде оны экранға шығару"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Қайтару пернелері"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Пернетақта перненің <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> мс ішінде жылдам қайталап басылғанын елемейді."</string>
<string name="slow_keys" msgid="2891452895499690837">"Баяу пернелер"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Пайдаланушы таңдаған: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Сөз"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Меңзер жылдамдығы"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Ойын бақылаушы"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Дірілді бағыттау"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Жалғанған кезде дірілді ойын контроллеріне бағыттау"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Бәрібір жалғастыру"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Бас тарту"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Ұлғайту параметрлері"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Бір саусақпен панорамалау"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Ұлғайтқышты 1 саусақпен жылжытыңыз"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Экранда жылжу үшін 1 саусақпен сүйреңіз."</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Ұлғайту аймағын бір саусақпен сүйреп жылжытыңыз."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Ұлғайту аймағын екі саусақпен сүйреп жылжытыңыз."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Экранның тек бір бөлігін ұлғайту кезінде қолданылмайды."</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Масштабтау үшін түймені түртіңіз"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Экранның масштабын тез өзгертіп, контентті үлғайта аласыз."</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Ұлғайту үшін:</b><br/> {0,number,integer}. Жылдам пәрмен көмегімен ұлғайта бастаңыз.<br/> {1,number,integer}. Экранды түртіңіз.<br/> {2,number,integer}. Экранның басқа жеріне жылжу үшін 2 саусақпен сүйреңіз.<br/> {3,number,integer}. Ыңғайлы масштабты таңдау үшін 2 саусақ арасын ашыңыз немесе қосыңыз.<br/> {4,number,integer}. Жылдам пәрмен көмегімен ұлғайту режимінен шығыңыз.<br/><br/> <b>Уақытша ұлғайту үшін:</b><br/> {0,number,integer}. Ұлғайту түріне \"толық экран\" мәні тағайындалғанына көз жеткізіңіз.<br/> {1,number,integer}. Жылдам пәрмен көмегімен ұлғайта бастаңыз.<br/> {2,number,integer}. Экранның кез келген жерін түртіп ұстап тұрыңыз.<br/> {3,number,integer}. Экранның басқа жеріне жылжу үшін саусақпен сүйреңіз.<br/> {4,number,integer}. Ұлғайту режимінен шығу үшін саусағыңызды көтеріңіз."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Ұлғайту үшін:</b><br/> {0,number,integer}. Жылдам пәрмен көмегімен ұлғайта бастаңыз.<br/> {1,number,integer}. Экранды түртіңіз.<br/> {2,number,integer}. Экранның басқа жеріне жылжу үшін 2 саусақпен сүйреңіз.<br/> {3,number,integer}. Масштабтаудты реттеу үшін 2 саусақ арасын ашыңыз.<br/> {4,number,integer}. Жылдам пәрмен көмегімен ұлғайтуды тоқтатыңыз.<br/><br/> Сондай-ақ уақытша ұлғайта аласыз және басқа әрекеттерді орындауыңызға болады."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Ұлғайту үшін:</b><br/> {0,number,integer}. Жылдам пәрмен көмегімен ұлғайта бастаңыз.<br/> {1,number,integer}. Экранды түртіңіз.<br/> {2,number,integer}. Экранның басқа жеріне жылжу үшін 1 не 2 саусақпен сүйреңіз.<br/> {3,number,integer}. Масштабтаудты реттеу үшін 2 саусақ арасын ашыңыз.<br/> {4,number,integer}. Жылдам пәрмен көмегімен ұлғайтуды тоқтатыңыз.<br/><br/> Сондай-ақ уақытша ұлғайта аласыз және басқа әрекеттерді орындауыңызға болады."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Ұлғайту функциясы қосулы тұрғанда, экраныңызды ұлғайта аласыз.\n\n"<b>"Масштабтау үшін"</b>" ұлғайту функциясын іске қосып, экранның кез келген жерін түртіңіз.\n"<ul><li>"Айналдыру үшін екі немесе бірнеше саусақпен сүйреңіз."</li>\n<li>"Масштабтауды реттеу үшін екі немесе бірнеше саусақты жақындатыңыз."</li></ul>\n\n<b>"Уақытша масштабтау үшін"</b>" ұлғайту функциясын іске қосыңыз, содан кейін экранның кез келген жерін басып тұрыңыз.\n"<ul><li>"Жылжыту үшін саусағыңызды экранның бір жерінен екінші жеріне сүйреңіз."</li>\n<li>"Кішірейту үшін саусағыңызды көтеріңіз."</li></ul>\n\n"Пернетақтада және навигация жолағында ұлғайту мүмкін емес."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="NUM_PAGES">%2$d</xliff:g> бет"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Арнайы мүмкіндіктер түймесінің жылдам пәрмені"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Хабарландыруды маңызды адамдардан және қолданбалардан ғана алу"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Іске қосу түрін таңдау"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Уақыты"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"(мысалы, \"9:30 – 17:00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Күнтізбе"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"(мысалы, \"Жеке күнтізбе\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Режим жасау"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Арнаулы"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Хабарландыруларды шектеу"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Мазаламау режимін қосу"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Оятқыштар мен мультимедиа дыбыстары тоқтата алады."</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Кестелер"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Кестелерді жою"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Жою"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Өзгерту"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Кестелер"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Кесте"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Күнтізбе қосыңыз"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Өз күнтізбеңізді пайдаланыңыз"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Жоспарлау"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Кесте құру"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Кесте"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> сағ <xliff:g id="MINUTES">%2$d</xliff:g> мин"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Автоматты түрде қосу"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Кесте"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Телефонды үнсіз режимге қою"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Мазаламау ережесін орнату"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Дыбыстарға рұқсат ету"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Көрнекі мазалағыштарды бөгеу"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Визуалды сигналдарды қосу"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Сізге жіберілуі мүмкін хабарландырулар"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Жолға қараңыз!"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Қосымша әрекеттер"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Дисплей параметрлері"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Дисплей опциялары"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"қараңғы режимді қосу"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Ашық түсті мәтін қараңғы фонда көрсетілу үшін операциялық жүйе мен қолданба режимін ауыстырыңыз. Сонда көзге жеңіл болады әрі кейбір құрылғылардың батареясын барынша үнемдейді."</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Дисплей өзгерістері жоқ}=1{{effect_1}}=2{{effect_1} және {effect_2}}=3{{effect_1}, {effect_2} және {effect_3}}other{{effect_1}, {effect_2} және тағы # әсер}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Кедергілерді іріктеу"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Ешқандай кедергі іріктелмейді."</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Іріктелген хабарландыруларды көрсету опциялары"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Мазаламау режимі қосулы кезде"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Хабарландырулар дыбыссыз беріледі"</string>
@@ -3486,6 +3541,8 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"хабарландыруды ашу"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Хабарландыруларды кейінге қалдыруға рұқсат беру"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Қолданба белгішесіндегі хабарландыру белгісі"</string>
+ <!-- no translation found for notification_bundles (3614044525822580826) -->
+ <skip />
<string name="notification_bubbles_title" msgid="5681506665322329301">"Қалқыма хабарлар"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Қалқыма хабарлар"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Осы әңгімені қалқыма хабар түрінде шығару"</string>
@@ -3667,6 +3724,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Санаттар"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Басқа"</string>
<string name="no_channels" msgid="4716199078612071915">"Бұл қолданба ешқандай хабарландыру жіберген жоқ."</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Пайдаланылмайтын санаттарды көрсету"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Қолданбадағы қосымша параметрлер"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Пайдаланылмайтын санаттарды көрсету"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Пайдаланылмайтын санаттарды жасыру"</string>
@@ -3778,6 +3836,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Барлығы"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Қолданбаларға қайта анықтауға рұқсат беру"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Тоқтата алатын қолданбалар"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Басқа да қолданбаларды таңдаңыз"</string>
@@ -3814,12 +3874,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Мына уақытқа дейін оятқышқа бір сағатқа өзгерту: {time}}other{Мына уақытқа дейін оятқышқа # сағатқа өзгерту: {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> дейін \"дабылдар ғана\" режиміне өзгерту"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Әрқашан тоқтатуға өзгерту"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Атын өзгерту"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Белгішені өзгерту"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Белгішені өзгерту"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Ескерту"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Жабу"</string>
<string name="device_feedback" msgid="5351614458411688608">"Осы құрылғы туралы пікір жіберу"</string>
@@ -4290,7 +4347,7 @@
<string name="system_navigation_title" msgid="4890381153527184636">"Навигация режимі"</string>
<string name="swipe_up_to_switch_apps_title" msgid="6677266952021118342">"2 түймелі навигация"</string>
<string name="swipe_up_to_switch_apps_summary" msgid="1415457307836359560">"Қолданбалар арасында ауысу үшін негізгі экран түймесінен жоғары қарай сырғытыңыз. Барлық қолданбаларды көру үшін қайтадан жоғарыға сырғытыңыз. Артқа оралу үшін \"Артқа\" түймесін түртіңіз."</string>
- <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Қауіпсіздік және төтенше жағдай"</string>
+ <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Жеке қауіпсіздік және төтенше жағдай"</string>
<string name="emergency_dashboard_summary" msgid="401033951074039302">"Құтқару қызметін шақыру, медициналық ақпарат, хабарландырулар"</string>
<string name="edge_to_edge_navigation_title" msgid="714427081306043819">"Қимылмен басқару"</string>
<string name="edge_to_edge_navigation_summary" msgid="818109176611921504">"Негізгі экранға өту үшін экранның төменгі жағынан жоғары қарай сырғытыңыз. Қолданбалар арасында ауысу үшін төменнен жоғары қарай сырғытып, ұстап тұрыңыз да, саусағыңызды жіберіңіз. Артқа оралу үшін экранның сол немесе оң жиегінен сырғытыңыз."</string>
@@ -4805,8 +4862,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Корпус"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Батарея"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Параметрлер панелі"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Жұмыс үстелінің режимін мәжбүрлеп қосу"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Қосымша дисплейлерде эксперименттік жұмыс үстелі режимін мәжбүрлеп қосу"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Еркін пішінді терезелерге рұқсат беру"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Еркін пішінді терезелерді қолдауға рұқсат береді."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Екінші экранда еркін пішінді терезе құруға рұқсат беру"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Еркін пішінді терезе құруға тек қосалқы экранда рұқсат береді."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Өлшемі өзгермейтін қолданба мен көп терезелі режим"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Өлшемі өзгермейтін қолданбаларды көп терезелі режимде пайдалануға мүмкіндік береді."</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Қараңғылауға жол бермеу"</string>
@@ -4874,14 +4933,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"16 КБ әзірлеуші опциясын пайдаланбас бұрын, құрылғының деректер бөлігін ext4 файл жүйесіне түрлендіру керек. Бұл режимде жұмыс істеген кезде, бағдарламалық құрал тұтастығына кепілдік берілмейді және жүктегіш құлпы ашылған кезде, телефоныңызда сақталған деректерге қауіп төнуі мүмкін. 16 КБ опциясын қосқаннан кейін, құрылғыны тағы бір рет өшіріп қосу керек. Осы режимге өткеннен кейін, 4 КБ және 16 КБ режимдері арасында бір рет өшіріп қосу арқылы ауыса аласыз. Осы режимдерде кейбір функциялар өшірілетіндіктен, кейбір қолданбалар жұмыс істемеуі мүмкін. Құрылғыны жұмыс күйіне қайтару үшін 4 КБ режиміне қайта ауысып, құрылғыны зауыттық параметрлерге қайтаратын жүктегішті құлыптау керек. Құрылғы Android жүйесіне жүктелген кезде, Әзірлеуші опцияларынан жүктегіш құлпын ашу параметрін өшіріңіз. Растағаннан кейін, құрылғы тазартылып, файл жүйесі ext4 түріне өзгертіледі. Болған соң, қайта оралып, 16 КБ режимін қайта қосыңыз."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Барлық деректі өшіру"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Құрылғыны қайта форматтау және деректер бөлімін ext4 жүйесіне тазарту мүмкін болмады."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16 КБ режимі үшін жүктегіш құлпын ашу керек"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Жүктегіштің құлпын ашу керек"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"16 КБ әзірлеуші опциясын пайдаланбас бұрын, құрылғыдағы жүктегіш құлпын ашу керек. Бұл режимде жұмыс істеген кезде, бағдарламалық құрал тұтастығына кепілдік берілмейді және жүктегіш құлпы ашылған кезде, телефоныңызда сақталған деректерге қауіп төнуі мүмкін. Пайдаланушының барлық дерегі мен параметрі 16 КБ режимі қосылған кезде тазартылады. Жүктегіш құлпын ашқан соң, 16 КБ опциясын қосу үшін құрылғыны екі рет өшіріп қосу керек. Осы режимге өткеннен кейін, 4 КБ және 16 КБ режимдері арасында бір рет өшіріп қосу арқылы ауыса аласыз. Осы режимдерде кейбір функциялар өшірілетіндіктен, кейбір қолданбалар жұмыс істемеуі мүмкін. Құрылғыны жұмыс күйіне қайтару үшін 4 КБ режиміне қайта ауысып, (құрылғыны зауыттық параметрлерге қайтаратын) жүктегішті құлыптау керек. Жүктегіш құлпын ашып, қайталап көріңіз. Осыған қатысты нұсқауларды мына сілтеме арқылы көре аласыз: <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Бетке тәуелсіз 4 КБ режимін пайдалану"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Бетке тәуелсіз режимдегі 4 КБ режимінде жұмыс істеп отырсыз. Бұл режимде жұмыс істеген кезде, бағдарламалық құрал тұтастығына кепілдік берілмейді және жүктегіш құлпы ашылған кезде, телефоныңызда сақталған деректерге қауіп төнуі мүмкін. Осы режимдерде кейбір функциялар өшірілетіндіктен, кейбір қолданбалар жұмыс істемеуі мүмкін. Жұмыс режиміне қайта оралу үшін құрылғының жүктегішін құлыптау керек. Қосымша ақпарат алу үшін түртіңіз."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Бетке тәуелсіз режимдегі 4 КБ режимінде жұмыс істеп отырсыз. Бұл режимде жұмыс істеген кезде, бағдарламалық құрал тұтастығына кепілдік берілмейді және жүктегіш құлпы ашылған кезде, телефоныңызда сақталған деректерге қауіп төнуі мүмкін. Осы режимдерде кейбір функциялар өшірілетіндіктен, кейбір қолданбалар жұмыс істемеуі мүмкін. Жұмыс режиміне қайта оралу үшін құрылғының жүктегішін құлыптау керек. Мұндайда құрылғы қайтадан зауыттық параметрлерге қайтарылып, жұмыс параметрлері қалпына келтіріледі. Құрылғы Android жүйесіне жүктелген кезде, Әзірлеуші опцияларынан жүктегіш құлпын ашу параметрін өшіріңіз. Құрылғыда Android жүйесі жүктелмесе немесе дұрыс жұмыс істемесе, құрылғыны <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> немесе <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> сілтемесіндегі зауыттық образдармен қайта бағдарламалап, \"Құрылғыны тазарту\", \"Жүктегішті құлыптау\" және \"Барлық бөлікті бағдарламау\" опцияларын таңдаңыз."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Бетке тәуелсіз 16 КБ режимін пайдалану"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Бетке тәуелсіз режимдегі 16 КБ режимінде жұмыс істеп отырсыз. Бұл режимде жұмыс істеген кезде, бағдарламалық құрал тұтастығына кепілдік берілмейді және жүктегіш құлпы ашылған кезде, телефоныңызда сақталған деректерге қауіп төнуі мүмкін. Осы режимдерде кейбір функциялар өшірілетіндіктен, кейбір қолданбалар жұмыс істемеуі мүмкін. Жұмыс күйіне қайта оралу үшін 4 К режиміне қайта ауысып, құрылғының жүктегішін құлыптау керек. Қосымша ақпарат алу үшін түртіңіз."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Бетке тәуелсіз режимдегі 16 КБ режимінде жұмыс істеп отырсыз. Бұл режимде жұмыс істеген кезде, бағдарламалық құрал тұтастығына кепілдік берілмейді және жүктегіш құлпы ашылған кезде, телефоныңызда сақталған деректерге қауіп төнуі мүмкін. Осы режимдерде кейбір функциялар өшірілетіндіктен, кейбір қолданбалар жұмыс істемеуі мүмкін. Жұмыс күйіне қайта оралу үшін 4 К режиміне қайта ауысып, құрылғының жүктегішін құлыптау керек. Мұндайда құрылғы қайтадан зауыттық параметрлерге қайтарылып, жұмыс параметрлері қалпына келтіріледі. Құрылғы Android жүйесіне жүктелген кезде, Әзірлеуші опцияларынан жүктегіш құлпын ашу параметрін өшіріңіз. Құрылғыда Android жүйесі жүктелмесе немесе дұрыс жұмыс істемесе, құрылғыны <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> немесе <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> сілтемесіндегі зауыттық образдармен қайта бағдарламалап, \"Құрылғыны тазарту\", \"Жүктегішті құлыптау\" және \"Барлық бөлікті мәжбүрлеп бағдарламалау\" опцияларын таңдаңыз."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Бет өлшеміне тәуелсіз режимдегі 16 КБ режимінде жұмыс істеп отырсыз. Бұл режимде бағдарламалық құрал тұтастығына кепілдік берілмейді және жүктегіш құлпы ашық кезде телефоныңызда сақталған деректерге қауіп төнуі мүмкін. Бұл режимдерде кейбір функциялар өшірілетіндіктен, белгілі бір қолданбалар жұмыс істемеуі мүмкін. Жұмыс күйіне қайта оралу үшін 4 КБ режиміне қайта ауысып, құрылғының жүктегішін құлыптау керек. Қосымша ақпарат алу үшін түртіңіз."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Бет өлшеміне тәуелсіз режимдегі 16 КБ режимінде жұмыс істеп отырсыз. Бұл режимде бағдарламалық құрал тұтастығына кепілдік берілмейді және жүктегіш құлпы ашық кезде телефоныңызда сақталған деректерге қауіп төнуі мүмкін. Бұл режимдерде кейбір функциялар өшірілетіндіктен, белгілі бір қолданбалар жұмыс істемеуі мүмкін. Жұмыс күйіне қайта оралу үшін 4 КБ режиміне қайта ауысып, құрылғының жүктегішін құлыптау керек. Мұндайда құрылғы қайтадан зауыттық параметрлерге қайтарылып, жұмыс параметрлері қалпына келтіріледі. Құрылғы Android жүйесіне жүктелгенде, \"Әзірлеуші опциялары\" параметрлерінен жүктегіш құлпын ашу параметрін өшіріңіз. Құрылғы Android жүйесіне жүктелмесе немесе дұрыс жұмыс істемесе, құрылғыны <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> немесе <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> сілтемесіндегі зауыттық образдармен қайта бағдарламалап, \"Құрылғыны тазарту\", \"Жүктегішті құлыптау\" және \"Барлық бөлікті бағдарламау\" опцияларын таңдаңыз."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Бетке тәуелсіз 16 КБ режимі"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Толық ақпарат"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Қате туралы есеп өңдеу құралы"</string>
@@ -5013,7 +5072,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Қолданбаны бекіту функциясын пайдалану"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Әзірлеуші опцияларын пайдалану"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Баспа қызметін пайдалану"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Бірнеше пайдаланушыға рұқсат беру"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"рұқсат беру, бірнеше, пайдаланушы, көп"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"бірнеше, пайдаланушылар, профильдер, адамдар, аккаунттар, ауыстыру, көп"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Сымсыз түзетуді пайдалану"</string>
@@ -5127,8 +5187,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Планшет қондыру станциясына қойылған кезде, экраныңызда ненің көрсетілетінін таңдаңыз. Скринсейвер пайдаланылған кезде құрылғы көбірек қуат тұтынуы мүмкін."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Реттеу"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> скринсейверін бейімдеу"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Еркін түрде қолдау параметрін белсендіру үшін құрылғыны өшіріп қосу қажет."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Қосымша дисплейлерде жұмыс үстелі режимін мәжбүрлеп белсендіру үшін құрылғыны өшіріп қосу қажет."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Еркін пішінді терезелерді қолдауға рұқсат беру үшін құрылғыны өшіріп қосу қажет."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Еркін пішінді терезелерді қолдауды өзгерту үшін құрылғыны өшіріп қосу қажет."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Қосалқы экранда еркін пішінді терезені күштеп құру үшін құрылғыны өшіріп қосу қажет."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Қазір өшіріп қосу"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Кейінірек өшіріп қосу"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Кеңістіктік дыбыс"</string>
@@ -5357,4 +5418,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Трансляцияны тыңдау"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Аудио трансляцияның QR кодын сканерлеп, құрылғымен (<xliff:g id="DEVICE_NAME">%1$s</xliff:g>) тыңдаңыз."</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Бөлісу кезінде құпия сөзді өзгертуге болмайды. Өзгерту үшін алдымен аудио бөлісу функциясын өшіріңіз."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-km/arrays.xml b/res/values-km/arrays.xml
index 7e896af..10fdbab 100644
--- a/res/values-km/arrays.xml
+++ b/res/values-km/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"ម៉ោងគេង"</item>
+ <item msgid="4152450357280759894">"កំពុងបើកបរ"</item>
+ <item msgid="7096549258219399423">"ជក់ចិត្ត"</item>
+ <item msgid="2760716776980432977">"បានគ្រប់គ្រង"</item>
+ <item msgid="601734478369121764">"ផ្កាយ"</item>
+ <item msgid="6243809315432780521">"ប្រតិទិន"</item>
+ <item msgid="4913577903148415331">"ពេលវេលា"</item>
+ <item msgid="3653377604690057780">"រោងល្ខោន"</item>
+ <item msgid="3843711267408385410">"ផ្កា"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index ce6fa44..08a7c61 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"ការកំណត់ឧបករណ៍ជំនួយការស្ដាប់"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"ផ្លូវកាត់ ភាពត្រូវគ្នាជាមួយនឹងឧបករណ៍ជំនួយការស្ដាប់"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"កំណត់ជាមុន"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"មិនមានការកំណត់ជាមុនដែលរៀបចំដោយអ្នកជំនាញផ្នែកសោតវិញ្ញាណរបស់អ្នកទេ"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"មិនអាចប្ដូរការកំណត់ជាមុនបានទេ"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ឧបករណ៍បញ្ចេញសំឡេង"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"អំពីឧបករណ៍បញ្ចេញសំឡេង"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"បានបញ្ចូលមុខ និង <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"បានបញ្ចូលមុខ ស្នាមម្រាមដៃ និង <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"បានបញ្ចូលមុខ ស្នាមម្រាមដៃ និង <xliff:g id="WATCH">%s</xliff:g>"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"ចាំបាច់ធ្វើសកម្មភាពនេះ ដោយសារតែការត្រួតពិនិត្យអត្តសញ្ញាណត្រូវបានបើក"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"ការដោះសោពីចម្ងាយតាមកម្មវិធីផ្ទៀងផ្ទាត់"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"បានបញ្ចូលនាឡិកាហើយ"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"រៀបចំនាឡិការបស់អ្នក"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"ស្វែងយល់បន្ថែមអំពីការដោះសោដោយប្រើនាឡិកា"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"បញ្ចូលនាឡិកា"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"ដកនាឡិកាចេញ"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ការដោះសោដោយស្កេនមុខ និងស្នាមម្រាមដៃ"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ការដោះសោដោយស្កេនមុខ និងស្នាមម្រាមដៃ"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"ការដោះសោដោយស្កេនស្នាមម្រាមដៃ និងមុខសម្រាប់ការងារ"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ត្រូវការរៀបចំ"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"បានបញ្ចូលស្នាមម្រាមដៃ និងមុខ"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"ដំឡើងកម្មវិធី"</b>\n"ដំឡើងកម្មវិធីដែលអ្នកចង់រក្សាឱ្យមានភាពឯកជននៅក្នុងលំហរបស់អ្នក"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"សូមចងចាំ"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"កម្មវិធីឈប់នៅពេលអ្នកចាក់សោលំហរបស់អ្នក"</b>\n"នៅពេលអ្នកចាក់សោលំហរបស់អ្នក កម្មវិធីនៅក្នុងលំហរបស់អ្នកត្រូវបានបញ្ឈប់ ហើយអ្នកនឹងមិនទទួលបានការជូនដំណឹងពីកម្មវិធីទាំងនេះទេ"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"លំហឯកជនមិនស័ក្ដិសមសម្រាប់កម្មវិធីដែលត្រូវការដំណើរការនៅផ្ទៃខាងក្រោយ ឬផ្ញើការជូនដំណឹងសំខាន់ៗ ដូចជា កម្មវិធីវេជ្ជសាស្រ្តជាដើមនោះទេ។ ប្រការនេះគឺដោយសារតែការជូនដំណឹង និងសកម្មភាពនៅផ្ទៃខាងក្រោយត្រូវបានបញ្ឈប់ នៅពេលលំហរបស់អ្នកត្រូវបានចាក់សោ។\n\nកម្មវិធីនៅក្នុងលំហឯកជនរបស់អ្នកនឹងមិនបង្ហាញនៅក្នុងមុខងារគ្រប់គ្រងការអនុញ្ញាត ផ្ទាំងគ្រប់គ្រងឯកជនភាព និងការកំណត់ផ្សេងទៀតនៅពេលលំហឯកជនរបស់អ្នកត្រូវបានចាក់សោទេ។\n\nមិនអាចផ្លាស់ទីលំហឯកជនរបស់អ្នកទៅឧបករណ៍ថ្មីបានទេ។ អ្នកនឹងត្រូវរៀបចំលំហឯកជនមួយទៀត ប្រសិនបើអ្នកចង់ប្រើវាលើឧបករណ៍មួយទៀត។\n\nគ្រប់គ្នាដែលភ្ជាប់ឧបករណ៍របស់អ្នកទៅនឹងកុំព្យូទ័រ ឬដំឡើងកម្មវិធីគ្រោះថ្នាក់នៅលើឧបករណ៍របស់អ្នក ប្រហែលអាចចូលប្រើប្រាស់លំហឯកជនរបស់អ្នកបាន។"</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"លំហឯកជនមិនស័ក្ដិសមសម្រាប់កម្មវិធីដែលត្រូវការដំណើរការនៅផ្ទៃខាងក្រោយ ឬផ្ញើការជូនដំណឹងសំខាន់ៗ ដូចជា កម្មវិធីវេជ្ជសាស្រ្តជាដើមនោះទេ។ ប្រការនេះគឺដោយសារតែការជូនដំណឹង និងសកម្មភាពនៅផ្ទៃខាងក្រោយត្រូវបានបញ្ឈប់ នៅពេលលំហរបស់អ្នកត្រូវបានចាក់សោ។\n\nកម្មវិធីនៅក្នុងលំហឯកជនរបស់អ្នកនឹងមិនបង្ហាញនៅក្នុងមុខងារគ្រប់គ្រងការអនុញ្ញាត ផ្ទាំងគ្រប់គ្រងឯកជនភាព និងការកំណត់ផ្សេងទៀតនៅពេលលំហឯកជនត្រូវបានចាក់សោទេ។\n\nមិនអាចផ្លាស់ទីលំហឯកជនរបស់អ្នកទៅឧបករណ៍ថ្មីបានទេ។ អ្នកនឹងត្រូវរៀបចំលំហមួយទៀត ប្រសិនបើអ្នកចង់ប្រើវាលើឧបករណ៍មួយទៀត។\n\nគ្រប់គ្នាដែលភ្ជាប់ឧបករណ៍របស់អ្នកទៅនឹងកុំព្យូទ័រ ឬដំឡើងកម្មវិធីគ្រោះថ្នាក់នៅលើឧបករណ៍របស់អ្នក ប្រហែលអាចចូលប្រើប្រាស់លំហឯកជនរបស់អ្នកបាន។"</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"ស្វែងយល់បន្ថែមអំពីលំហឯកជន"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"សកម្មភាពនេះនឹងចំណាយពេលបន្តិច"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"កំពុងរៀបចំលំហឯកជន…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"ចាប់ផ្តើមឧបករណ៍ឡើងវិញឬ?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"ការកត់ត្រា NFC លម្អិតគឺសម្រាប់តែការអភិវឌ្ឍប៉ុណ្ណោះ។ ទិន្នន័យ NFC បន្ថែមត្រូវបានរួមបញ្ចូលក្នុងរបាយការណ៍អំពីបញ្ហាដែលអាចមានព័ត៌មានឯកជន។ ចាប់ផ្ដើមឧបករណ៍របស់អ្នកឡើងវិញ ដើម្បីប្ដូរការកំណត់នេះ។"</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"ចាប់ផ្ដើមឡើងវិញ"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"ភ្ជាប់"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"កញ្ចក់"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"បើកការបង្ហាញឥតខ្សែ"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"បត់បែន"</string>
<string name="brightness" msgid="6216871641021779698">"កម្រិតពន្លឺ"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"ពន្លឺមានភាពបត់បែន"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"អំពីពន្លឺមានភាពបត់បែន"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"កម្រិតពន្លឺនៅលើអេក្រង់របស់អ្នកនឹងកែតម្រូវដោយស្វ័យប្រវត្តិឱ្យស្របនឹងបរិយាកាសជុំវិញ និងសកម្មភាពរបស់អ្នក។ អ្នកអាចផ្លាស់ទីរបាររំកិលដោយដៃ ដើម្បីជួយឱ្យកម្រិតពន្លឺដែលមានភាពបត់បែនស្គាល់ចំណង់ចំណូលចិត្តរបស់អ្នក។"</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"បើក"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"បិទ"</string>
@@ -1260,7 +1291,7 @@
<string name="dark_ui_bedtime_footer_action" msgid="1493095487994054339">"ការកំណត់មុខងារម៉ោងគេង"</string>
<string name="even_dimmer_display_title" msgid="6731255736830410149">"កាន់តែងងឹត"</string>
<string name="even_dimmer_display_summary" msgid="120301078873242172">"អនុញ្ញាតឱ្យឧបករណ៍មានពន្លឺងងឹតជាងធម្មតា"</string>
- <string name="screen_timeout" msgid="7709947617767439410">"រយៈពេលបិទអេក្រង់"</string>
+ <string name="screen_timeout" msgid="7709947617767439410">"រយៈពេលទម្រាំអេក្រង់បិទ"</string>
<string name="screen_timeout_summary" msgid="5558778019594643427">"បន្ទាប់ពីអសកម្ម <xliff:g id="TIMEOUT_DESCRIPTION">%1$s</xliff:g>"</string>
<string name="screen_timeout_summary_not_set" msgid="5107680774964178875">"មិនបានកំណត់"</string>
<string name="wallpaper_settings_title" msgid="5635129851136006383">"ផ្ទាំងរូបភាព"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"ជម្រើស"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"ភាពងាយស្រួល"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"ក្ដារចុចរូបវ័ន្ត"</string>
- <string name="show_ime" msgid="4334255501724746849">"ប្រើក្ដារចុចលើអេក្រង់"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"រក្សានៅលើអេក្រង់ ពេលក្តារចុចរូបវ័ន្តកំពុងធ្វើប្រតិបត្តិការ"</string>
<string name="bounce_keys" msgid="7419450970351743904">"គ្រាប់ចុចឡង"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"ក្ដារចុចមិនអើពើនឹងការចុចដដែលៗយ៉ាងរហ័សនៃគ្រាប់ចុចដដែលក្នុងរយៈពេល <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> មិល្លីវិនាទី"</string>
<string name="slow_keys" msgid="2891452895499690837">"គ្រាប់ចុចយឺត"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"បានជ្រើសរើសដោយអ្នកប្រើប្រាស់៖ <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"ការនិយាយ"</string>
<string name="pointer_speed" msgid="7398649279282675718">"ល្បឿនព្រួញ"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"កម្មវិធីពិនិត្យល្បែង"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"ការញ័រពេលបញ្ជូនបន្ត"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"បញ្ជូនរំញ័រទៅឧបករណ៍បញ្ជាហ្គេមនៅពេលភ្ជាប់"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"មិនអីទេ បន្តចុះ"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"បោះបង់"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"ការកំណត់ការពង្រីក"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"ការចាប់អូសដោយម្រាមដៃមួយ"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"ផ្លាស់ទីកែវពង្រីកដោយប្រើម្រាមដៃ 1"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"អូសម្រាមដៃ 1 ដើម្បីផ្លាស់ទីជុំវិញអេក្រង់"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"ផ្លាស់ទីផ្ទៃពង្រីកដោយអូសម្រាមដៃមួយ។"</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"ផ្លាស់ទីផ្ទៃពង្រីកដោយអូសម្រាមដៃពីរ។"</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"មិនអាចប្រើបានទេ ពេលពង្រីកតែផ្នែកនៃអេក្រង់"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ចុចប៊ូតុងដើម្បីពង្រីក ឬបង្រួម"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"ពង្រីកនៅលើអេក្រង់យ៉ាងរហ័ស ដើម្បីបង្ហាញខ្លឹមសារធំជាងមុន"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>ដើម្បីពង្រីក៖</b><br/> {0,number,integer}. ប្រើផ្លូវកាត់ ដើម្បីចាប់ផ្ដើមការពង្រីក<br/> {1,number,integer}. ចុចអេក្រង់<br/> {2,number,integer}. អូសម្រាមដៃ 2 ដើម្បីផ្លាស់ទីនៅជុំវិញអេក្រង់<br/>{3,number,integer}. ច្បិចដោយប្រើម្រាមដៃ 2 ដើម្បីកែតម្រូវការពង្រីកបង្រួម<br/> {4,number,integer}. ប្រើផ្លូវកាត់ ដើម្បីបញ្ឈប់ការពង្រីក<br/><br/> <b>ដើម្បីពង្រីកជាបណ្ដោះអាសន្ន៖</b><br/> {0,number,integer}. សូមប្រាកដថា ប្រភេទនៃការពង្រីករបស់អ្នកត្រូវបានកំណត់ទៅពេញអេក្រង់<br/> {1,number,integer}. ប្រើផ្លូវកាត់ ដើម្បីចាប់ផ្ដើមការពង្រីក<br/> {2,number,integer}. ចុចកន្លែងណាមួយនៅលើអេក្រង់ឱ្យជាប់<br/> {3,number,integer}. អូសម្រាមដៃ ដើម្បីផ្លាស់ទីនៅជុំវិញអេក្រង់<br/> {4,number,integer}. ដកម្រាមដៃចេញ ដើម្បីបញ្ឈប់ការពង្រីក"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>ដើម្បីពង្រីក៖</b><br/> {0,number,integer}។ ប្រើផ្លូវកាត់ ដើម្បីចាប់ផ្ដើមការពង្រីក<br/> {1,number,integer}។ ចុចអេក្រង់<br/> {2,number,integer}។ អូសម្រាមដៃ 2 ដើម្បីផ្លាស់ទីលើអេក្រង់<br/>{3,number,integer}។ ច្បិចដោយប្រើម្រាមដៃ 2 ដើម្បីកែតម្រូវការពង្រីកបង្រួម<br/> {4,number,integer}។ ប្រើផ្លូវកាត់ ដើម្បីបញ្ឈប់ការពង្រីក<br/><br/> អ្នកក៏អាចពង្រីកជាបណ្ដោះអាសន្ន និងធ្វើអ្វីៗជាច្រើនទៀតបានផងដែរ។"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>ដើម្បីពង្រីក៖</b><br/> {0,number,integer}។ ប្រើផ្លូវកាត់ ដើម្បីចាប់ផ្ដើមការពង្រីក<br/> {1,number,integer}។ ចុចអេក្រង់<br/> {2,number,integer}។ អូសម្រាមដៃ 1 ឬ 2 ដើម្បីផ្លាស់ទីលើអេក្រង់<br/> {3,number,integer}។ ច្បិចដោយប្រើម្រាមដៃ 2 ដើម្បីកែតម្រូវការពង្រីកបង្រួម<br/> {4,number,integer}។ ប្រើផ្លូវកាត់ ដើម្បីបញ្ឈប់ការពង្រីក<br/><br/> អ្នកក៏អាចពង្រីកជាបណ្ដោះអាសន្ន និងធ្វើអ្វីៗជាច្រើនទៀតបានផងដែរ។"</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"នៅពេលបើកការពង្រីក អ្នកអាចពង្រីកនៅលើអេក្រង់របស់អ្នកបាន។\n\n"<b>"ដើម្បីពង្រីកបង្រួម"</b>" សូមចាប់ផ្ដើមការពង្រីក រួចចុចលើកន្លែងណាមួយនៅលើអេក្រង់។\n"<ul><li>"អូសដោយប្រើម្រាមដៃ 2 ឬច្រើនដើម្បីរំកិល"</li>\n<li>"ច្បិចដោយប្រើម្រាមដៃ 2 ឬច្រើន ដើម្បីកែតម្រូវការពង្រីកបង្រួម"</li></ul>\n\n<b>"ដើម្បីពង្រីកបង្រួមជាបណ្តោះអាសន្ន"</b>" ចាប់ផ្តើមការពង្រីក បន្ទាប់មកចុចសង្កត់កន្លែងណាមួយនៅលើអេក្រង់ឱ្យជាប់។\n"<ul><li>"អូសដើម្បីផ្លាស់ទីនៅលើអេក្រង់"</li>\n<li>"លើកម្រាមដៃឡើងដើម្បីបង្រួម"</li></ul>\n\n"អ្នកមិនអាចពង្រីកនៅលើក្តារចុច ឬរបាររុករកបានទេ។"</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"ទំព័រទី <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> នៃ <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"ផ្លូវកាត់ប៊ូតុងភាពងាយស្រួល"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"ទទួលការជូនដំណឹងពីកម្មវិធី និងមនុស្សសំខាន់ៗតែប៉ុណ្ណោះ"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"ជ្រើសរើសប្រភេទនៃការបើកដំណើរការ"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"ពេលវេលា"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"ឧ. \"9:30 – 5:00 ល្ងាច\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"ប្រតិទិន"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"ឧ. \"ប្រតិទិនផ្ទាល់ខ្លួន\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"បង្កើតមុខងារ"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"ផ្ទាល់ខ្លួន"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"កាត់បន្ថយការរំខាន"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"បើកមុខងារកុំរំខាន"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"សំឡេងមេឌៀ និងម៉ោងរោទ៍អាចផ្អាកបាន"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"កាលវិភាគ"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"លុបកាលវិភាគ"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"លុប"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"កែ"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"កាលវិភាគ"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"កាលវិភាគ"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"បញ្ចូលប្រតិទិន"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"ប្រើប្រតិទិនរបស់អ្នក"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"កាលវិភាគ"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"កំណត់កាលវិភាគ"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"កាលវិភាគ"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ម៉ <xliff:g id="MINUTES">%2$d</xliff:g> ន"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"បើកដោយស្វ័យប្រវត្តិ"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"កាលវិភាគ"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"បិទសំឡេងទូរសព្ទក្នុងពេលជាក់លាក់"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"កំណត់ច្បាប់សម្រាប់មុខងារកុំរំខាន"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"អនុញ្ញាតការរំខានដែលបញ្ចេញសំឡេង"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"រារាំងការរំខានក្នុងការមើល"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"អនុញ្ញាតសញ្ញាដែលមើលឃើញ"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"ការជូនដំណឹងដែលអាចផ្សាយទៅដល់អ្នក"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"ផ្ដោតអារម្មណ៍"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"សកម្មភាពបន្ថែម"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"ការកំណត់ផ្ទាំងអេក្រង់"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"ជម្រើសផ្ទាំងអេក្រង់"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"បើកទម្រង់រចនាងងឹត"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"ប្ដូរប្រព័ន្ធប្រតិបត្តិការ និងកម្មវិធីទៅអក្សរពណ៌ស្រាលដែលចង់ប្រើនៅលើផ្ទៃខាងក្រោយងងឹត ដែលអាចមានភាពងាយស្រួលជាងមុនសម្រាប់ភ្នែក និងជួយសន្សំថ្មបានច្រើននៅលើឧបករណ៍មួយចំនួន"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{មិនមានការផ្លាស់ប្ដូរចំពោះផ្ទាំងអេក្រង់ទេ}=1{{effect_1}}=2{{effect_1} និង {effect_2}}=3{{effect_1}, {effect_2} និង {effect_3}}other{{effect_1}, {effect_2} និង # ទៀត}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"ត្រងការរំខាន"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"គ្មានការរំខានត្រូវបានត្រងទេ"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ជម្រើសបង្ហាញសម្រាប់ការជូនដំណឹងដែលបានត្រង"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"នៅពេលបើកមុខងារកុំរំខាន"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"គ្មានសំឡេងពីការជូនដំណឹង"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"បើកការជូនដំណឹង"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"អនុញ្ញាតការផ្អាកការជូនដំណឹង"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"ស្លាកជូនដំណឹងនៅលើរូបកម្មវិធី"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"កញ្ចប់នៃការជូនដំណឹង"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"ពពុះ"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ពពុះ"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"បង្ហាញការសន្ទនានេះជាពពុះ"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"ប្រភេទ"</string>
<string name="notification_channels_other" msgid="18159805343647908">"ផ្សេងៗ"</string>
<string name="no_channels" msgid="4716199078612071915">"កម្មវិធីនេះមិនបានបង្ហោះការជូនដំណឹងណាមួយឡើយ"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"បង្ហាញប្រភេទដែលមិនប្រើ"</string>
<string name="app_settings_link" msgid="6725453466705333311">"ការកំណត់បន្ថែមនៅក្នុងកម្មវិធីនេះ"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"បង្ហាញប្រភេទដែលមិនប្រើ"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"លាក់ប្រភេទដែលមិនប្រើ"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ទាំងអស់"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"អនុញ្ញាតឱ្យកម្មវិធីលុបពីលើ"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"កម្មវិធីដែលអាចផ្អាកបាន"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"ជ្រើសរើសកម្មវិធីច្រើនទៀត"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{ប្ដូរទៅម៉ោងរោទ៍រយៈពេលតែមួយម៉ោងប៉ុណ្ណោះរហូតដល់ {time}}other{ប្ដូរទៅម៉ោងរោទ៍រយៈពេលតែ # ម៉ោងប៉ុណ្ណោះរហូតដល់ {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"ប្តូរទៅម៉ោងរោទិ៍រហូតទាល់តែដល់ <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> ប៉ុណ្ណោះ"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"ប្តូរទៅរំខានជានិច្ច"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"ប្ដូរឈ្មោះ"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"ប្ដូររូបតំណាង"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"ប្ដូររូបតំណាង"</string>
<string name="warning_button_text" msgid="1274234338874005639">"ការព្រមាន"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"បិទ"</string>
<string name="device_feedback" msgid="5351614458411688608">"ផ្ដល់មតិកែលម្អអំពីឧបករណ៍នេះ"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"ស្រោម"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"ថ្ម"</string>
<string name="settings_panel_title" msgid="346363079938069215">"ផ្ទាំងការកំណត់"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"បង្ខំមុខងារអេក្រង់ដើម"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"បង្ខំមុខងារអេក្រង់ដើមសាកល្បងនៅលើអេក្រង់ទីពីរ"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"បើកវិនដូទម្រង់សេរី"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"បើកជំនួយសម្រាប់វិនដូទម្រង់សេរី។"</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"បើកវិនដូទម្រង់សេរីលើផ្ទាំងអេក្រង់ទីពីរ"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"បើកវិនដូទម្រង់សេរីតែផ្ទាំងអេក្រង់ទីពីរប៉ុណ្ណោះ។"</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"បើកកម្មវិធីដែលមិនអាចប្ដូរទំហំបាននៅក្នុងពហុវិនដូ"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"អនុញ្ញាតឱ្យកម្មវិធីដែលមិនអាចប្ដូរទំហំបានស្ថិតនៅក្នុងពហុវិនដូ"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"លុបពីលើមុខងារបង្ខំឱ្យងងឹត"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"ផ្នែកទិន្នន័យរបស់ឧបករណ៍នេះត្រូវបំប្លែងទៅជា ext4 មុនពេលប្រើជម្រើសសម្រាប់អ្នកអភិវឌ្ឍន៍ 16KB។ មិនអាចធានាសុក្រឹតភាពកម្មវិធីនៅក្នុងមុខងារនេះទេ ហើយទិន្នន័យទាំងឡាយដែលបានរក្សាទុកនៅលើទូរសព្ទ នៅពេលកម្មវិធីដំណើរការប្រព័ន្ធត្រូវបានដោះសោ អាចប្រឈមនឹងហានិភ័យ។ ការបើកដំណើរការជម្រើស 16KB នឹងតម្រូវឱ្យមានការចាប់ផ្ដើមឡើងវិញម្ដងទៀតបន្ទាប់ពីនេះ។ នៅពេលដែលអ្នកកំពុងប្រើមុខងារនេះ អ្នកអាចប្ដូរទៅមករវាងមុខងារ 4KB និង 16KB តាមរយៈការចាប់ផ្ដើមឡើងវិញតែម្ដងគត់។ មុខងារមួយចំនួននឹងត្រូវបានបិទនៅក្នុងមុខងារទាំងនេះ ដូច្នេះកម្មវិធីមួយចំនួនប្រហែលជាមិនដំណើរការទេ។ ដើម្បីត្រឡប់ឧបករណ៍ទៅមុខងារផលិតកម្ម អ្នកនឹងត្រូវប្ដូរត្រឡប់ទៅមុខងារ 4KB វិញ បន្ទាប់មកចាក់សោកម្មវិធីដំណើរការប្រព័ន្ធ ដែលកំណត់ឧបករណ៍ដូចចេញពីរោងចក្រ។ បន្ទាប់ពីឧបករណ៍ចាប់ផ្ដើមចូល Android ដោយជោគជ័យ សូមបិទការដោះសោ OEM នៅក្នុងជម្រើសសម្រាប់អ្នកអភិវឌ្ឍន៍។ ឧបករណ៍នឹងត្រូវបានឈូស ហើយប្រព័ន្ធឯកសារនឹងត្រូវបានប្ដូរទៅជា ext4 បន្ទាប់ពីបញ្ជាក់រួច។ បន្ទាប់ពីដំណើរការនេះចប់ សូមត្រឡប់មកបើក 16KB ម្ដងទៀត។"</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"លុបទិន្នន័យទាំងអស់"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"មិនអាចឈូស និងកំណត់ទម្រង់ផ្នែកទិន្នន័យឡើងវិញទៅជា ext4 បានទេ។"</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"តម្រូវឱ្យដោះសោកម្មវិធីដំណើរការប្រព័ន្ធសម្រាប់មុខងារ 16KB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"តម្រូវឱ្យមានការដោះសោកម្មវិធីដំណើរការប្រព័ន្ធ"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"ឧបករណ៍នេះត្រូវដោះសោកម្មវិធីដំណើរការប្រព័ន្ធ មុនពេលប្រើជម្រើសសម្រាប់អ្នកអភិវឌ្ឍន៍ 16KB។ មិនអាចធានាសុក្រឹតភាពកម្មវិធីនៅក្នុងមុខងារនេះទេ ហើយទិន្នន័យទាំងឡាយដែលបានរក្សាទុកនៅលើទូរសព្ទ នៅពេលកម្មវិធីដំណើរការប្រព័ន្ធត្រូវបានដោះសោ អាចប្រឈមនឹងហានិភ័យ។ ទិន្នន័យ និងការកំណត់ទាំងអស់របស់អ្នកប្រើប្រាស់នឹងត្រូវបានឈូស នៅពេលបើកដំណើរការមុខងារ 16KB។ នៅពេលកម្មវិធីដំណើរការប្រព័ន្ធត្រូវបានដោះសោ ការបើកដំណើរការជម្រើស 16KB នឹងតម្រូវឱ្យមានការចាប់ផ្ដើមឡើងវិញពីរដង។ នៅពេលដែលអ្នកកំពុងប្រើមុខងារនេះ អ្នកអាចប្ដូរទៅមករវាងមុខងារ 4KB និង 16KB តាមរយៈការចាប់ផ្ដើមឡើងវិញតែម្ដងគត់។ មុខងារមួយចំនួននឹងត្រូវបានបិទនៅក្នុងមុខងារទាំងនេះ ដូច្នេះកម្មវិធីមួយចំនួនប្រហែលជាមិនដំណើរការទេ។ ដើម្បីត្រឡប់ឧបករណ៍ទៅមុខងារផលិតកម្ម អ្នកត្រូវប្ដូរទៅមុខងារ 4KB វិញ បន្ទាប់មក ការចាក់សោ OEM/កម្មវិធីដំណើរការប្រព័ន្ធ (ដែលកំណត់ឧបករណ៍ដូចចេញពីរោងចក្រ)។ សូមដោះសោកម្មវិធីដំណើរការប្រព័ន្ធ រួចព្យាយាមម្ដងទៀត។ អ្នកអាចមើលការណែនាំអំពីរបៀបអនុវត្តសកម្មភាពនេះតាម <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"ការប្រើមុខងារ Page-Agnostic 4KB"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"អ្នកកំពុងប្រើមុខងារ 4KB នៃមុខងារ Page-Agnostic។ មិនអាចធានាសុក្រឹតភាពកម្មវិធីនៅក្នុងមុខងារនេះទេ ហើយទិន្នន័យទាំងឡាយដែលបានរក្សាទុកនៅលើទូរសព្ទ នៅពេលកម្មវិធីដំណើរការប្រព័ន្ធត្រូវបានដោះសោ អាចប្រឈមនឹងហានិភ័យ។ មុខងារមួយចំនួននឹងត្រូវបានបិទនៅក្នុងមុខងារទាំងនេះ ដូច្នេះកម្មវិធីមួយចំនួនប្រហែលជាមិនដំណើរការទេ។ ដើម្បីបញ្ចូលមុខងារផលិតកម្មឡើងវិញ អ្នកត្រូវតែចាក់សោកម្មវិធីដំណើរការប្រព័ន្ធរបស់ឧបករណ៍។ ចុចដើម្បីអានបន្ថែម។"</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"អ្នកកំពុងប្រើមុខងារ 4KB នៃមុខងារ Page-Agnostic។ មិនអាចធានាសុក្រឹតភាពកម្មវិធីនៅក្នុងមុខងារនេះទេ ហើយទិន្នន័យទាំងឡាយដែលបានរក្សាទុកនៅលើទូរសព្ទ នៅពេលកម្មវិធីដំណើរការប្រព័ន្ធត្រូវបានដោះសោ អាចប្រឈមនឹងហានិភ័យ។ មុខងារមួយចំនួននឹងត្រូវបានបិទនៅក្នុងមុខងារទាំងនេះ ដូច្នេះកម្មវិធីមួយចំនួនប្រហែលជាមិនដំណើរការទេ។ ដើម្បីបញ្ចូលមុខងារផលិតកម្មឡើងវិញ អ្នកត្រូវតែចាក់សោកម្មវិធីដំណើរការប្រព័ន្ធរបស់ឧបករណ៍។ ដំណើរការនេះនឹងកំណត់ឧបករណ៍ដូចចេញពីរោងចក្រ រួចត្រឡប់ឧបករណ៍ទៅការកំណត់ផលិតកម្មវិញ។ បន្ទាប់ពីឧបករណ៍ចាប់ផ្ដើមចូល Android ដោយជោគជ័យ សូមបិទការដោះសោ OEM នៅក្នុងជម្រើសសម្រាប់អ្នកអភិវឌ្ឍន៍។ ប្រសិនបើឧបករណ៍មិនអាចចាប់ផ្ដើមប្រព័ន្ធប្រតិបត្តិការ Android ឬមិនមានស្ថិរភាព សូមជំនួសកម្មវិធីឧបករណ៍ឡើងវិញដោយប្រើរូបភាពពីរោងចក្រចុងក្រោយបំផុតពី <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ឬប្រើ <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> រួចជ្រើសរើស \'ឈូសឧបករណ៍\' \'ចាក់សោកម្មវិធីដំណើរការប្រព័ន្ធ\' និង \'បង្ខំឱ្យជំនួសផ្នែកទាំងអស់\'។"</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"ដោយប្រើមុខងារ Page-Agnostic 16KB"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"អ្នកកំពុងប្រើមុខងារ 16KB នៃមុខងារ Page-Agnostic។ មិនអាចធានាសុក្រឹតភាពកម្មវិធីនៅក្នុងមុខងារនេះទេ ហើយទិន្នន័យទាំងឡាយដែលបានរក្សាទុកនៅលើទូរសព្ទ នៅពេលកម្មវិធីដំណើរការប្រព័ន្ធត្រូវបានដោះសោ អាចប្រឈមនឹងហានិភ័យ។ មុខងារមួយចំនួននឹងត្រូវបានបិទនៅក្នុងមុខងារទាំងនេះ ដូច្នេះកម្មវិធីមួយចំនួនប្រហែលជាមិនដំណើរការទេ។ ដើម្បីចូលទៅក្នុងមុខងារផលិតកម្មឡើងវិញ អ្នកត្រូវតែប្ដូរត្រឡប់ទៅមុខងារ 4K បន្ទាប់មកចាក់សោកម្មវិធីដំណើរការប្រព័ន្ធរបស់ឧបករណ៍។ ចុចដើម្បីអានបន្ថែម។"</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"អ្នកកំពុងប្រើមុខងារ 16KB នៃមុខងារ Page-Agnostic។ មិនអាចធានាសុក្រឹតភាពកម្មវិធីនៅក្នុងមុខងារនេះទេ ហើយទិន្នន័យទាំងឡាយដែលបានរក្សាទុកនៅលើទូរសព្ទ នៅពេលកម្មវិធីដំណើរការប្រព័ន្ធត្រូវបានដោះសោ អាចប្រឈមនឹងហានិភ័យ។ មុខងារមួយចំនួននឹងត្រូវបានបិទនៅក្នុងមុខងារទាំងនេះ ដូច្នេះកម្មវិធីមួយចំនួនប្រហែលជាមិនដំណើរការទេ។ ដើម្បីចូលទៅក្នុងមុខងារផលិតកម្មឡើងវិញ អ្នកត្រូវតែប្ដូរត្រឡប់ទៅមុខងារ 4K បន្ទាប់មកចាក់សោកម្មវិធីដំណើរការប្រព័ន្ធរបស់ឧបករណ៍។ ដំណើរការនេះនឹងកំណត់ឧបករណ៍ដូចចេញពីរោងចក្រ រួចត្រឡប់ឧបករណ៍ទៅការកំណត់ផលិតកម្មវិញ។ បន្ទាប់ពីឧបករណ៍ចាប់ផ្ដើមចូល Android ដោយជោគជ័យ សូមបិទការដោះសោ OEM នៅក្នុងជម្រើសសម្រាប់អ្នកអភិវឌ្ឍន៍។ ប្រសិនបើឧបករណ៍មិនអាចចាប់ផ្ដើមប្រព័ន្ធប្រតិបត្តិការ Android ឬមិនមានស្ថិរភាព សូមជំនួសកម្មវិធីឧបករណ៍ឡើងវិញដោយប្រើរូបភាពពីរោងចក្រចុងក្រោយបំផុតពី <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ឬប្រើ <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> រួចជ្រើសរើស \'ឈូសឧបករណ៍\' \'ចាក់សោកម្មវិធីដំណើរការប្រព័ន្ធ\' និង \'បង្ខំឱ្យជំនួសផ្នែកទាំងអស់\'។"</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"អ្នកកំពុងប្រើមុខងារ 16KB នៃមុខងារ Page-Agnostic។ មិនអាចធានាសុក្រឹតភាពកម្មវិធីនៅក្នុងមុខងារនេះទេ ហើយទិន្នន័យទាំងឡាយដែលបានរក្សាទុកនៅលើទូរសព្ទ នៅពេលកម្មវិធីដំណើរការប្រព័ន្ធត្រូវបានដោះសោ អាចប្រឈមនឹងហានិភ័យ។ មុខងារមួយចំនួននឹងត្រូវបានបិទនៅក្នុងមុខងារទាំងនេះ ដូច្នេះកម្មវិធីមួយចំនួនប្រហែលជាមិនដំណើរការទេ។ ដើម្បីចូលទៅក្នុងមុខងារផលិតកម្មឡើងវិញ អ្នកត្រូវតែប្ដូរត្រឡប់ទៅមុខងារ 4KB បន្ទាប់មកចាក់សោកម្មវិធីដំណើរការប្រព័ន្ធរបស់ឧបករណ៍។ ចុចដើម្បីអានបន្ថែម។"</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"អ្នកកំពុងប្រើមុខងារ 16KB នៃមុខងារ Page-Agnostic។ មិនអាចធានាសុក្រឹតភាពកម្មវិធីនៅក្នុងមុខងារនេះទេ ហើយទិន្នន័យទាំងឡាយដែលបានរក្សាទុកនៅលើទូរសព្ទ នៅពេលកម្មវិធីដំណើរការប្រព័ន្ធត្រូវបានដោះសោ អាចប្រឈមនឹងហានិភ័យ។ មុខងារមួយចំនួននឹងត្រូវបានបិទនៅក្នុងមុខងារទាំងនេះ ដូច្នេះកម្មវិធីមួយចំនួនប្រហែលជាមិនដំណើរការទេ។ ដើម្បីចូលទៅក្នុងមុខងារផលិតកម្មឡើងវិញ អ្នកត្រូវតែប្ដូរត្រឡប់ទៅមុខងារ 4KB បន្ទាប់មកចាក់សោកម្មវិធីដំណើរការប្រព័ន្ធរបស់ឧបករណ៍។ ដំណើរការនេះនឹងកំណត់ឧបករណ៍ដូចចេញពីរោងចក្រ រួចត្រឡប់ឧបករណ៍ទៅការកំណត់ផលិតកម្មវិញ។ បន្ទាប់ពីឧបករណ៍ចាប់ផ្ដើមចូល Android ដោយជោគជ័យ សូមបិទការដោះសោ OEM នៅក្នុងជម្រើសសម្រាប់អ្នកអភិវឌ្ឍន៍។ ប្រសិនបើឧបករណ៍មិនអាចចាប់ផ្ដើមប្រព័ន្ធប្រតិបត្តិការ Android ឬមិនមានស្ថិរភាព សូមជំនួសកម្មវិធីឧបករណ៍ឡើងវិញដោយប្រើរូបភាពពីរោងចក្រចុងក្រោយបំផុតពី <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ឬប្រើ <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> រួចជ្រើសរើស \'ឈូសឧបករណ៍\' \'ចាក់សោកម្មវិធីដំណើរការប្រព័ន្ធ\' និង \'បង្ខំឱ្យជំនួសផ្នែកទាំងអស់\'។"</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"មុខងារ Page-Agnostic 16KB"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"អានបន្ថែម"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"ឧបករណ៍ដោះស្រាយរបាយការណ៍អំពីបញ្ហា"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ប្រើការខ្ទាស់កម្មវិធី"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"ប្រើជម្រើសសម្រាប់អ្នកអភិវឌ្ឍន៍"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"ប្រើសេវាកម្មបោះពុម្ព"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"អនុញ្ញាតអ្នកប្រើប្រាស់ច្រើន"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"អនុញ្ញាត, ពហុ, អ្នកប្រើប្រាស់, ផ្ដល់សិទ្ធិ, ច្រើន"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"ពហុ, អ្នកប្រើប្រាស់, កម្រងព័ត៌មាន, មនុស្ស, គណនី, ប្ដូរ, ច្រើន"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ប្រើការជួសជុលដោយឥតខ្សែ"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"ជ្រើសរើសអ្វីដែលអ្នកនឹងមើលឃើញនៅលើអេក្រង់របស់អ្នក នៅពេលភ្ជាប់ថេប្លេតរបស់អ្នក។ ឧបករណ៍របស់អ្នកអាចប្រើថាមពលកាន់តែច្រើន នៅពេលប្រើធាតុរក្សាអេក្រង់។"</string>
<string name="customize_button_title" msgid="1110284655990203359">"ប្ដូរតាមបំណង"</string>
<string name="customize_button_description" msgid="7440248477266126231">"ប្ដូរ <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> តាមបំណង"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"តម្រូវឱ្យចាប់ផ្ដើមឡើងវិញ ដើម្បីបើកជំនួយទម្រង់សេរី។"</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"តម្រូវឱ្យចាប់ផ្ដើមឡើងវិញ ដើម្បីបង្ខំមុខងារកុំព្យូទ័រនៅលើផ្ទាំងអេក្រង់បន្ទាប់បន្សំ។"</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"តម្រូវឱ្យចាប់ផ្ដើមឡើងវិញ ដើម្បីបើកជំនួយវិនដូទម្រង់សេរីចាស់។"</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"តម្រូវឱ្យចាប់ផ្ដើមឡើងវិញ ដើម្បីប្ដូរជំនួយវិនដូទម្រង់សេរី។"</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"តម្រូវឱ្យចាប់ផ្ដើមឡើងវិញ ដើម្បីបង្ខំឱ្យបើកវិនដូទម្រង់សេរីលើផ្ទាំងអេក្រង់ទីពីរ។"</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"ចាប់ផ្ដើមឡើងវិញឥឡូវនេះ"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"ចាប់ផ្ដើមឡើងវិញពេលក្រោយ"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"សំឡេងលំហ"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ស្ដាប់ការចាក់"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"ស្កេនកូដ QR ការចាក់សំឡេងលើអ៊ីនធឺណិត ដើម្បីស្ដាប់ជាមួយ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"មិនអាចកែពាក្យសម្ងាត់ពេលកំពុងស្ដាប់រួមគ្នាបានទេ។ ដើម្បីផ្លាស់ប្ដូរពាក្យសម្ងាត់ សូមបិទការស្ដាប់សំឡេងរួមគ្នាជាមុនសិន។"</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-kn/arrays.xml b/res/values-kn/arrays.xml
index 2cfc81f..50392bc 100644
--- a/res/values-kn/arrays.xml
+++ b/res/values-kn/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"ಬೆಡ್ಟೈಮ್"</item>
+ <item msgid="4152450357280759894">"ಡ್ರೈವಿಂಗ್"</item>
+ <item msgid="7096549258219399423">"ತಲ್ಲೀನಗೊಳಿಸುವ"</item>
+ <item msgid="2760716776980432977">"ನಿರ್ವಹಿಸಿರುವುದು"</item>
+ <item msgid="601734478369121764">"ಸ್ಟಾರ್"</item>
+ <item msgid="6243809315432780521">"ಕ್ಯಾಲೆಂಡರ್"</item>
+ <item msgid="4913577903148415331">"ಸಮಯ"</item>
+ <item msgid="3653377604690057780">"ಥಿಯೇಟರ್"</item>
+ <item msgid="3843711267408385410">"ಹೂವು"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 274428f..8e7139c 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"ಶ್ರವಣ ಸಾಧನದ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"ಶಾರ್ಟ್ಕಟ್, ಶ್ರವಣ ಸಾಧನ ಹೊಂದಾಣಿಕೆ"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"ಪ್ರಿಸೆಟ್"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"ನಿಮ್ಮ ಆಡಿಯಾಲಜಿಸ್ಟ್ರಿಂದ ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಲಾದ ಯಾವುದೇ ಪ್ರಿಸೆಟ್ಗಳಿಲ್ಲ"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"ಪ್ರಿಸೆಟ್ ಅನ್ನು ಅಪ್ಡೇಟ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ಆಡಿಯೋ ಔಟ್ಪುಟ್"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ಆಡಿಯೋ ಔಟ್ಪುಟ್ ಕುರಿತು"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"ಮುಖ ಮತ್ತು <xliff:g id="WATCH">%s</xliff:g> ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"ಮುಖ, ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಮತ್ತು <xliff:g id="WATCH">%s</xliff:g> ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"ಮುಖ ಮತ್ತು ಫಿಂಗರ್ಪ್ರಿಂಟ್ಗಳನ್ನು, ಮತ್ತು <xliff:g id="WATCH">%s</xliff:g> ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"ಗುರುತಿನ ಪರಿಶೀಲನೆ ಆನ್ ಆಗಿರುವುದರಿಂದ ಇದರ ಅಗತ್ಯವಿದೆ"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"ರಿಮೋಟ್ Authenticator ಅನ್ಲಾಕ್"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"ವಾಚ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"ನಿಮ್ಮ ವಾಚ್ ಸೆಟಪ್ ಮಾಡಿ"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"ವಾಚ್ ಅನ್ಲಾಕ್ ಕುರಿತು ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"ವಾಚ್ ಅನ್ನು ಸೇರಿಸಿ"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"ವಾಚ್ ಅನ್ನು ತೆಗೆದುಹಾಕಿ"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಮತ್ತು ಫೇಸ್ ಅನ್ಲಾಕ್"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ಫೇಸ್ ಮತ್ತು ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಅನ್ಲಾಕ್"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"ಕೆಲಸಕ್ಕಾಗಿ ಫೇಸ್ ಮತ್ತು ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಅನ್ಲಾಕ್"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ಸೆಟಪ್ ಅಗತ್ಯವಿದೆ"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"ಫೇಸ್ ಮತ್ತು ಫಿಂಗರ್ಪ್ರಿಂಟ್ಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"ಆ್ಯಪ್ಗಳನ್ನು ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿ"</b>\n"ನಿಮ್ಮ ಸ್ಪೇಸ್ನಲ್ಲಿ ನೀವು ಖಾಸಗಿಯಾಗಿ ಇರಿಸಿಕೊಳ್ಳಲು ಬಯಸುವ ಆ್ಯಪ್ಗಳನ್ನು ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿ"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"ನೆನಪಿನಲ್ಲಿಡಿ"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"ನಿಮ್ಮ ಸ್ಪೇಸ್ ಅನ್ನು ನೀವು ಲಾಕ್ ಮಾಡಿದಾಗ ಆ್ಯಪ್ಗಳು ಸ್ಥಗಿತಗೊಳ್ಳುತ್ತವೆ"</b>\n"ನಿಮ್ಮ ಸ್ಪೇಸ್ ಅನ್ನು ಲಾಕ್ ಮಾಡಿದಾಗ, ನಿಮ್ಮ ಸ್ಪೇಸ್ನಲ್ಲಿರುವ ಆ್ಯಪ್ಗಳು ಸ್ಥಗಿತಗೊಳ್ಳುತ್ತವೆ ಮತ್ತು ಅವುಗಳಿಂದ ನೀವು ನೋಟಿಫಿಕೇಶನ್ಗಳನ್ನು ಸ್ವೀಕರಿಸುವುದಿಲ್ಲ"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"ಹಿನ್ನೆಲೆಯಲ್ಲಿ ರನ್ ಆಗುವ ಅಥವಾ ವೈದ್ಯಕೀಯ ಆ್ಯಪ್ಗಳಂತಹ ನಿರ್ಣಾಯಕ ನೋಟಿಫಿಕೇಶನ್ಗಳನ್ನು ಕಳುಹಿಸಲು ಅಗತ್ಯವಿರುವ ಆ್ಯಪ್ಗಳಿಗೆ ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ಗಳು ಸೂಕ್ತವಲ್ಲ. ಏಕೆಂದರೆ, ನಿಮ್ಮ ಸ್ಪೇಸ್ ಅನ್ನು ಲಾಕ್ ಮಾಡಿದಾಗ ನೋಟಿಫಿಕೇಶನ್ಗಳು ಮತ್ತು ಹಿನ್ನೆಲೆ ಚಟುವಟಿಕೆಯನ್ನು ಸ್ಥಗಿತಗೊಳಿಸಲಾಗುತ್ತದೆ.\n\nನಿಮ್ಮ ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಲಾಕ್ ಮಾಡಿರುವಾಗ ನಿಮ್ಮ ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ನಲ್ಲಿರುವ ಆ್ಯಪ್ಗಳು ಅನುಮತಿ ನಿರ್ವಾಹಕ, ಗೌಪ್ಯತೆ ಡ್ಯಾಶ್ಬೋರ್ಡ್ ಮತ್ತು ಇತರ ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ ಗೋಚರಿಸುವುದಿಲ್ಲ.\n\nನಿಮ್ಮ ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಹೊಸ ಸಾಧನಕ್ಕೆ ಸರಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ನೀವು ಮತ್ತೊಂದು ಸಾಧನದಲ್ಲಿ ಅದನ್ನು ಬಳಸಲು ಬಯಸಿದರೆ, ನೀವು ಇನ್ನೊಂದು ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ.\n\nನಿಮ್ಮ ಸಾಧನವನ್ನು ಕಂಪ್ಯೂಟರ್ಗೆ ಕನೆಕ್ಟ್ ಮಾಡುವ ಅಥವಾ ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಹಾನಿಕಾರಕ ಆ್ಯಪ್ಗಳನ್ನು ಇನ್ಸ್ಟಾಲ್ ಮಾಡುವ ಯಾರಾದರೂ ನಿಮ್ಮ ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"ಹಿನ್ನೆಲೆಯಲ್ಲಿ ರನ್ ಆಗುವ ಅಥವಾ ವೈದ್ಯಕೀಯ ಆ್ಯಪ್ಗಳಂತಹ ನಿರ್ಣಾಯಕ ನೋಟಿಫಿಕೇಶನ್ಗಳನ್ನು ಕಳುಹಿಸಲು ಅಗತ್ಯವಿರುವ ಆ್ಯಪ್ಗಳಿಗೆ ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ಗಳು ಸೂಕ್ತವಲ್ಲ. ಏಕೆಂದರೆ, ನಿಮ್ಮ ಸ್ಪೇಸ್ ಅನ್ನು ಲಾಕ್ ಮಾಡಿದಾಗ ನೋಟಿಫಿಕೇಶನ್ಗಳು ಮತ್ತು ಹಿನ್ನೆಲೆ ಚಟುವಟಿಕೆಯನ್ನು ಸ್ಥಗಿತಗೊಳಿಸಲಾಗುತ್ತದೆ.\n\nಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಲಾಕ್ ಮಾಡಿರುವಾಗ ನಿಮ್ಮ ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ನಲ್ಲಿರುವ ಆ್ಯಪ್ಗಳು ಅನುಮತಿ ನಿರ್ವಾಹಕ, ಗೌಪ್ಯತೆ ಡ್ಯಾಶ್ಬೋರ್ಡ್ ಮತ್ತು ಇತರ ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ ಗೋಚರಿಸುವುದಿಲ್ಲ.\n\nನಿಮ್ಮ ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಹೊಸ ಸಾಧನದಲ್ಲಿ ಮರುಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ನೀವು ಮತ್ತೊಂದು ಸಾಧನದಲ್ಲಿ ಅದನ್ನು ಬಳಸಲು ಬಯಸಿದರೆ, ನೀವು ಇನ್ನೊಂದು ಸ್ಪೇಸ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ.\n\nನಿಮ್ಮ ಸಾಧನವನ್ನು ಕಂಪ್ಯೂಟರ್ಗೆ ಕನೆಕ್ಟ್ ಮಾಡುವ ಅಥವಾ ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ದುರುದ್ದೇಶಪ್ರೇರಿತ ಆ್ಯಪ್ಗಳನ್ನು ಇನ್ಸ್ಟಾಲ್ ಮಾಡುವ ಯಾರಾದರೂ ನಿಮ್ಮ ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಬಹುದು."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಕುರಿತು ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"ಇದು ಕೆಲವು ಕ್ಷಣಗಳ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"ಸಾಧನವನ್ನು ಮರುಪ್ರಾರಂಭಿಸಬೇಕೆ?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"ವಿವರವಾದ NFC ಲಾಗಿಂಗ್ ಅನ್ನು ಅಭಿವೃದ್ಧಿ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಮಾತ್ರ ಉದ್ದೇಶಿಸಲಾಗಿದೆ. ದೋಷ ವರದಿಗಳು ಹೆಚ್ಚುವರಿ NFC ಡೇಟಾವನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ, ಅದು ಖಾಸಗಿ ಮಾಹಿತಿಯನ್ನು ಹೊಂದಿರಬಹುದು. ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಬದಲಾಯಿಸಲು, ನಿಮ್ಮ ಸಾಧನವನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"ಮರುಪ್ರಾರಂಭಿಸಿ"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"ಕ್ಯಾಸ್ಟ್ ಮಾಡುವಿಕೆ"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"ಕನ್ನಡಿ"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"ವೈರ್ಲೆಸ್ ಪ್ರದರ್ಶನ ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"ಅಡಾಪ್ಟಿವ್"</string>
<string name="brightness" msgid="6216871641021779698">"ಪ್ರಖರತೆಯ ಮಟ್ಟ"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"ಅಡಾಪ್ಟಿವ್ ಪ್ರಖರತೆ"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"ಅಡಾಪ್ಟಿವ್ ಬ್ರೈಟ್ನೆಸ್ ಕುರಿತು"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"ನಿಮ್ಮ ಸ್ಕ್ರೀನ್ನ ಪ್ರಖರತೆಯು ನಿಮ್ಮ ಪರಿಸರ ಮತ್ತು ಚಟುವಟಿಕೆಗಳಿಗೆ ಅನುಗುಣವಾಗಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅಡ್ಜಸ್ಟ್ ಆಗುತ್ತದೆ. ನಿಮ್ಮ ಆದ್ಯತೆಗಳನ್ನು ತಿಳಿದುಕೊಳ್ಳಲು ಅಡಾಪ್ಟಿವ್ ಪ್ರಖರತೆಗೆ ಸಹಾಯ ಮಾಡಲು ನೀವು ಹಸ್ತಚಾಲಿತವಾಗಿ ಸ್ಲೈಡರ್ ಅನ್ನು ಸರಿಸಬಹುದು."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"ಆನ್"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"ಆಫ್"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"ಆಯ್ಕೆಗಳು"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"ಭೌತಿಕ ಕೀಬೋರ್ಡ್"</string>
- <string name="show_ime" msgid="4334255501724746849">"ಆನ್-ಸ್ಕ್ರೀನ್ ಕೀಬೋರ್ಡ್ ಬಳಸಿ"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"ಭೌತಿಕ ಕೀಬೋರ್ಡ್ ಸಕ್ರಿಯವಾಗಿರುವಾಗ ಅದನ್ನು ಪರದೆಯ ಮೇಲೆ ಇರಿಸಿಕೊಳ್ಳಿ"</string>
<string name="bounce_keys" msgid="7419450970351743904">"ಬೌನ್ಸ್ ಕೀಗಳು"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ಮಿ.ಸೆ. ಒಳಗೆ ಒಂದೇ ಕೀಯ ಪುನರಾವರ್ತಿತ ಒತ್ತುವಿಕೆಗಳನ್ನು ಕೀಬೋರ್ಡ್ ತ್ವರಿತವಾಗಿ ನಿರ್ಲಕ್ಷಿಸುತ್ತದೆ"</string>
<string name="slow_keys" msgid="2891452895499690837">"ಸ್ಲೋ ಕೀಗಳು"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"ಬಳಕೆದಾರರು ಆಯ್ಕೆಮಾಡಿರುವುದು: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"ಧ್ವನಿ"</string>
<string name="pointer_speed" msgid="7398649279282675718">"ಪಾಯಿಂಟರ್ ವೇಗ"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"ಆಟ ನಿಯಂತ್ರಕ"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"ಕಂಪನವನ್ನು ಮರುನಿರ್ದೇಶಿಸಿ"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"ಸಂಪರ್ಕಗೊಂಡಾಗ ಆಟ ನಿಯಂತ್ರಕಕ್ಕೆ ಕಂಪನವನ್ನು ಕಳುಹಿಸಿ"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"ಹೇಗಾದರೂ ಮುಂದುವರಿಸಿ"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"ರದ್ದುಮಾಡಿ"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"ಹಿಗ್ಗಿಸುವಿಕೆ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"ಒಂದು ಬೆರಳಿನ ಪ್ಯಾನಿಂಗ್"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"1 ಬೆರಳಿನಿಂದ ಮ್ಯಾಗ್ನಿಫೈಯರ್ ಅನ್ನು ಸರಿಸಿ"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"ಸ್ಕ್ರೀನ್ನ ಮೇಲೆ ಸರಿಸಲು 1 ಬೆರಳನ್ನು ಡ್ರ್ಯಾಗ್ ಮಾಡಿ"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"ಒಂದು ಬೆರಳಿನಿಂದ ಡ್ರ್ಯಾಗ್ ಮಾಡುವ ಮೂಲಕ ಹಿಗ್ಗಿಸುವಿಕೆಯ ಪ್ರದೇಶವನ್ನು ಸರಿಸಿ."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"ಎರಡು ಬೆರಳುಗಳಿಂದ ಡ್ರ್ಯಾಗ್ ಮಾಡುವ ಮೂಲಕ ಹಿಗ್ಗಿಸುವಿಕೆಯ ಪ್ರದೇಶವನ್ನು ಸರಿಸಿ."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"ಸ್ಕ್ರೀನ್ನ ಭಾಗವನ್ನು ಹಿಗ್ಗಿಸುವಾಗ ಮಾತ್ರ ಲಭ್ಯವಿರುವುದಿಲ್ಲ"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ಝೂಮ್ ಮಾಡಲು ಒಂದು ಬಟನ್ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"ವಿಷಯವು ದೊಡ್ಡದಾಗಿ ಕಾಣಿಸಲು ಸ್ಕ್ರೀನ್ ಮೇಲೆ ತ್ವರಿತವಾಗಿ ಝೂಮ್ ಇನ್ ಮಾಡಿ"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>ಝೂಮ್ ಇನ್ ಮಾಡಲು:</b><br/> {0,number,integer}. ಹಿಗ್ಗಿಸುವಿಕೆಯನ್ನು ಪ್ರಾರಂಭಿಸಲು ಶಾರ್ಟ್ಕಟ್ ಬಳಸಿ<br/> {1,number,integer}. ಸ್ಕ್ರೀನ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ<br/> {2,number,integer}. ಸ್ಕ್ರೀನ್ನ ಮೇಲೆ ಸರಿಸಲು 2 ಬೆರಳುಗಳಿಂದ ಡ್ರ್ಯಾಗ್ ಮಾಡಿ<br/> {3,number,integer}. ಝೂಮ್ ಹೊಂದಿಸಲು 2 ಬೆರಳುಗಳಿಂದ ಪಿಂಚ್ ಮಾಡಿ<br/> {4,number,integer}. ಹಿಗ್ಗಿಸುವಿಕೆಯನ್ನು ನಿಲ್ಲಿಸಲು ಶಾರ್ಟ್ಕಟ್ ಬಳಸಿ<br/><br/> <b>ತಾತ್ಕಾಲಿಕವಾಗಿ ಝೂಮ್ ಇನ್ ಮಾಡಲು:</b><br/> {0,number,integer}. ನಿಮ್ಮ ಹಿಗ್ಗಿಸುವಿಕೆಯ ವಿಧಾನವು ಫುಲ್ಸ್ಕ್ರೀನ್ಗೆ ಸೆಟ್ ಆಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ<br/> {1,number,integer}. ಹಿಗ್ಗಿಸುವಿಕೆಯನ್ನು ಪ್ರಾರಂಭಿಸಲು ಶಾರ್ಟ್ಕಟ್ ಬಳಸಿ<br/> {2,number,integer}. ಸ್ಕ್ರೀನ್ನ ಯಾವುದೇ ಭಾಗದಲ್ಲಿ ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಒತ್ತಿಹಿಡಿಯಿರಿ<br/> {3,number,integer}. ಸ್ಕ್ರೀನ್ನ ಮೇಲೆ ಸರಿಸಲು ಬೆರಳನ್ನು ಡ್ರ್ಯಾಗ್ ಮಾಡಿ<br/> {4,number,integer}. ಹಿಗ್ಗಿಸುವಿಕೆಯನ್ನು ನಿಲ್ಲಿಸಲು ಬೆರಳನ್ನು ಮೇಲಕ್ಕೆತ್ತಿ"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>ಝೂಮ್ ಇನ್ ಮಾಡಲು:</b><br/> {0,number,integer}. ಹಿಗ್ಗಿಸುವಿಕೆಯನ್ನು ಪ್ರಾರಂಭಿಸಲು ಶಾರ್ಟ್ಕಟ್ ಬಳಸಿ<br/> {1,number,integer}. ಸ್ಕ್ರೀನ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ<br/> {2,number,integer}. ಸ್ಕ್ರೀನ್ನ ಮೇಲೆ ಸರಿಸಲು 2 ಬೆರಳುಗಳಿಂದ ಡ್ರ್ಯಾಗ್ ಮಾಡಿ<br/> {3,number,integer}. ಝೂಮ್ ಹೊಂದಿಸಲು 2 ಬೆರಳುಗಳಿಂದ ಪಿಂಚ್ ಮಾಡಿ<br/> {4,number,integer}. ಹಿಗ್ಗಿಸುವಿಕೆಯನ್ನು ನಿಲ್ಲಿಸಲು ಶಾರ್ಟ್ಕಟ್ ಬಳಸಿ<br/><br/> ನೀವು ತಾತ್ಕಾಲಿಕವಾಗಿ ಝೂಮ್ ಇನ್ ಹಾಗೂ ಇನ್ನಷ್ಟು ಮಾಡಬಹುದು."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>ಝೂಮ್ ಇನ್ ಮಾಡಲು:</b><br/> {0,number,integer}. ಹಿಗ್ಗಿಸುವಿಕೆಯನ್ನು ಪ್ರಾರಂಭಿಸಲು ಶಾರ್ಟ್ಕಟ್ ಬಳಸಿ<br/> {1,number,integer}. ಸ್ಕ್ರೀನ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ<br/> {2,number,integer}. ಸ್ಕ್ರೀನ್ನ ಮೇಲೆ ಸರಿಸಲು 1 ಅಥವಾ 2 ಬೆರಳುಗಳಿಂದ ಡ್ರ್ಯಾಗ್ ಮಾಡಿ<br/> {3,number,integer}. ಝೂಮ್ ಹೊಂದಿಸಲು 2 ಬೆರಳುಗಳಿಂದ ಪಿಂಚ್ ಮಾಡಿ<br/> {4,number,integer}. ಹಿಗ್ಗಿಸುವಿಕೆಯನ್ನು ನಿಲ್ಲಿಸಲು ಶಾರ್ಟ್ಕಟ್ ಬಳಸಿ<br/><br/> ನೀವು ತಾತ್ಕಾಲಿಕವಾಗಿ ಝೂಮ್ ಇನ್ ಹಾಗೂ ಇನ್ನಷ್ಟು ಮಾಡಬಹುದು."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"ಹಿಗ್ಗಿಸುವಿಕೆ ಅನ್ನು ಆನ್ ಮಾಡಿದಾಗ, ನಿಮ್ಮ ಪರದೆಯಲ್ಲಿ ನೀವು ಝೂಮ್ ಇನ್ ಮಾಡಬಹುದು.\n\n"<b>"ಝೂಮ್ ಮಾಡಲು"</b>", ಹಿಗ್ಗಿಸುವಿಕೆ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ, ನಂತರ ಪರದೆಯ ಮೇಲೆ ಎಲ್ಲಿಯಾದರೂ ಟ್ಯಾಪ್ ಮಾಡಿ.\n"<ul><li>"ಸ್ಕ್ರಾಲ್ ಮಾಡಲು 2 ಅಥವಾ ಹೆಚ್ಚು ಬೆರಳುಗಳನ್ನು ಡ್ರ್ಯಾಗ್ ಮಾಡಿ"</li>\n<li>"ಝೂಮ್ ಹೊಂದಿಸಲು, 2 ಅಥವಾ ಹೆಚ್ಚು ಬೆರಳುಗಳಿಂದ ಪಿಂಚ್ ಮಾಡಿ"</li></ul>\n\n<b>"ತಾತ್ಕಾಲಿಕವಾಗಿ ಝೂಮ್ ಮಾಡಲು"</b>", ಮ್ಯಾಗ್ನಿಫಿಕೇಶನ್ ಅನ್ನು ಪ್ರಾಂಭಿಸಿ, ನಂತರ ಪರದೆಯ ಮೇಲೆ ಎಲ್ಲಾದರೂ ಸ್ಪರ್ಶಿಸಿ, ಒತ್ತಿಹಿಡಿಯಿರಿ.\n"<ul><li>"ಪರದೆಯಲ್ಲಿ ಅತ್ತಿತ್ತ ಸರಿಸಲು, ಡ್ರ್ಯಾಗ್ ಮಾಡಿ"</li>\n<li>"ಝೂಮ್ ಔಟ್ ಮಾಡಲು ಬೆರಳನ್ನು ಎತ್ತಿ"</li></ul>\n\n"ನೀವು ಕೀಬೋರ್ಡ್ ಅಥವಾ ನ್ಯಾವಿಗೇಶನ್ ಬಾರ್ನಲ್ಲಿ ಝೂಮ್ ಇನ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"ಪುಟ <xliff:g id="NUM_PAGES">%2$d</xliff:g> ರಲ್ಲಿ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಬಟನ್ ಶಾರ್ಟ್ಕಟ್"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"ಪ್ರಮುಖ ಜನರು ಮತ್ತು ಆ್ಯಪ್ಗಳಿಂದ ಮಾತ್ರ ನೋಟಿಫಿಕೇಶನ್ ಪಡೆಯಿರಿ"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆ ಪ್ರಕಾರವನ್ನು ಆಯ್ಕೆ ಮಾಡಿ"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"ಸಮಯ"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"ಉದಾ. \"9:30 – ಸಂಜೆ 5:00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"ಕ್ಯಾಲೆಂಡರ್"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"ಉದಾ. \"ವೈಯಕ್ತಿಕ ಕ್ಯಾಲೆಂಡರ್\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"ಮೋಡ್ ಅನ್ನು ರಚಿಸಿ"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"ಕಸ್ಟಮ್"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"ಅಡಚಣೆಗಳನ್ನು ಮಿತಿಗೊಳಿಸಿ"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"ಅಡಚಣೆ ಮಾಡಬೇಡಿ ಅನ್ನು ಆನ್ ಮಾಡಿ"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"ಅಲಾರಾಂಗಳು ಮತ್ತು ಮೀಡಿಯಾ ಧ್ವನಿಗಳು ಅಡಚಣೆಯಾಗಬಹುದು"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"ವೇಳಾಪಟ್ಟಿಗಳು"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"ವೇಳಾಪಟ್ಟಿಗಳನ್ನು ಅಳಿಸಿ"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"ಅಳಿಸಿ"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"ಎಡಿಟ್"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"ವೇಳಾಪಟ್ಟಿಗಳು"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"ವೇಳಾಪಟ್ಟಿ"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"ವೇಳಾಪಟ್ಟಿಯನ್ನು ಸೆಟ್ ಮಾಡಿ"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"ವೇಳಾಪಟ್ಟಿ"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ಗಂ, <xliff:g id="MINUTES">%2$d</xliff:g> ನಿಮಿ"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆನ್ ಮಾಡಿ"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"ಅವಧಿ"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"ಕೆಲವು ಸಮಯ ಫೋನ್ ನಿಶ್ಯಬ್ಧವಾಗಿಸಿ"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"ಅಡಚಣೆ ಮಾಡಬೇಡಿ ನಿಯಮ ಹೊಂದಿಸಿ"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"ಅಡಚಣೆಗಳ ಧ್ವನಿಯನ್ನು ಅನುಮತಿಸಿ"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"ದೃಶ್ಯ ಅಡಚಣೆಗಳನ್ನು ನಿರ್ಬಂಧಿಸಿ"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"ದೃಶ್ಯ ಸಂಕೇತಗಳನ್ನು ಅನುಮತಿಸಿ"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"ನಿಮ್ಮನ್ನು ತಲುಪಬಹುದಾದ ನೋಟಿಫಿಕೇಶನ್ಗಳು"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"ಫೋಕಸ್ ಆಗಿರಿ"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"ಹೆಚ್ಚುವರಿ ಆ್ಯಕ್ಷನ್ಗಳು"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"ಡಿಸ್ಪ್ಲೇ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"ಡಿಸ್ಪ್ಲೇ ಆಯ್ಕೆಗಳು"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ಡಾರ್ಕ್ ಥೀಮ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"ಡಾರ್ಕ್ ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಲೈಟ್ ಟೆಕ್ಸ್ಟ್ಗೆ ಆದ್ಯತೆ ನೀಡಲು OS ಮತ್ತು ಆ್ಯಪ್ಗಳನ್ನು ಬದಲಾಯಿಸಿ, ಇದರಿಂದ ಕಣ್ಣಿಗೆ ಆಯಾಸವಾಗುವುದಿಲ್ಲ ಮತ್ತು ಇದು ಕೆಲವು ಸಾಧನಗಳಲ್ಲಿ ಗಮನಾರ್ಹವಾಗಿ ಬ್ಯಾಟರಿ ಹೆಚ್ಚುಕಾಲ ಉಳಿಯುವಂತೆ ಮಾಡುತ್ತದೆ."</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ಯಾವುದೇ ಡಿಸ್ಪ್ಲೇ ಬದಲಾವಣೆಗಳಿಲ್ಲ}=1{{effect_1}}=2{{effect_1} ಮತ್ತು {effect_2}}=3{{effect_1}, {effect_2} ಮತ್ತು {effect_3}}one{{effect_1}, {effect_2} ಮತ್ತು ಇನ್ನೂ #}other{{effect_1}, {effect_2} ಮತ್ತು ಇನ್ನೂ #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"ಅಡಚಣೆಗಳನ್ನು ಫಿಲ್ಟರ್ ಮಾಡಿ"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"ಯಾವುದೇ ಅಡಚಣೆಗಳನ್ನು ಫಿಲ್ಟರ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ಫಿಲ್ಟರ್ ಮಾಡಲಾದ ನೋಟಿಫಿಕೇಶನ್ಗಳಿಗಾಗಿ ಡಿಸ್ಪ್ಲೇ ಆಯ್ಕೆಗಳು"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"ಅಡಚಣೆ ಮಾಡಬೇಡ ಆನ್ ಇರುವಾಗ"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"ಅಧಿಸೂಚನೆಗಳಿಂದ ಯಾವುದೇ ಧ್ವನಿ ಇಲ್ಲ"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"ಅಧಿಸೂಚನೆಯನ್ನು ತೆರೆಯಿರಿ"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"ನೋಟಿಫಿಕೇಶನ್ಗಳನ್ನು ಸ್ನೂಜ್ ಮಾಡಲು ಅನುಮತಿಸಿ"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"ಆ್ಯಪ್ ಐಕಾನ್ ಮೇಲೆ ನೋಟಿಫಿಕೇಶನ್ ಡಾಟ್"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"ನೋಟಿಫಿಕೇಶನ್ ಬಂಡಲ್ಗಳು"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"ಬಬಲ್ಸ್"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ಬಬಲ್ಸ್"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"ಈ ಸಂಭಾಷಣೆಗೆ ಬಬಲ್ ಗುರುತು ಮಾಡಿ"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"ವಿಭಾಗಗಳು"</string>
<string name="notification_channels_other" msgid="18159805343647908">"ಇತರೆ"</string>
<string name="no_channels" msgid="4716199078612071915">"ಯಾವುದೇ ಅಧಿಸೂಚನೆಗಳನ್ನು ಈ ಅಪ್ಲಿಕೇಶನ್ ಪೋಸ್ಟ್ ಮಾಡಿಲ್ಲ"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"ಬಳಕೆಯಾಗದ ವರ್ಗಗಳನ್ನು ತೋರಿಸಿ"</string>
<string name="app_settings_link" msgid="6725453466705333311">"ಆ್ಯಪ್ನಲ್ಲಿ ಹೆಚ್ಚುವರಿ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"ಬಳಕೆಯಾಗದ ವರ್ಗಗಳನ್ನು ತೋರಿಸಿ"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"ಬಳಕೆಯಾಗದ ವರ್ಗಗಳನ್ನು ಮರೆಮಾಡಿ"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ಎಲ್ಲಾ"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ಅತಿಕ್ರಮಿಸಲು ಆ್ಯಪ್ಗಳಿಗೆ ಅನುಮತಿಸಿ"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ಅಡಚಣೆ ಉಂಟುಮಾಡಬಹುದಾದ ಆ್ಯಪ್ಗಳು"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"ಇನ್ನಷ್ಟು ಆ್ಯಪ್ಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"ಕೇಸ್"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"ಬ್ಯಾಟರಿ"</string>
<string name="settings_panel_title" msgid="346363079938069215">"ಸೆಟ್ಟಿಂಗ್ಗಳ ಪ್ಯಾನಲ್"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"ಡೆಸ್ಕ್ಟಾಪ್ ಮೋಡ್ ಅನ್ನು ಒತ್ತಾಯ ಮಾಡಿ"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ಸೆಕೆಂಡರಿ ಡಿಸ್ಪ್ಲೇಗಳಲ್ಲಿ ಪ್ರಾಯೋಗಿಕ ಡೆಸ್ಕ್ಟಾಪ್ ಮೋಡ್ ಅನ್ನು ಒತ್ತಾಯ ಮಾಡಿ"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"ಫ್ರೀಫಾರ್ಮ್ ವಿಂಡೋಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"ಫ್ರೀಫಾರ್ಮ್ ವಿಂಡೋಗಳಿಗಾಗಿ ಬೆಂಬಲವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"ಎರಡನೇ ಡಿಸ್ಪ್ಲೇಯಲ್ಲಿ ಫ್ರೀಫಾರ್ಮ್ ವಿಂಡೋಯಿಂಗ್ ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"ದ್ವಿತೀಯ ಡಿಸ್ಪ್ಲೇಯಲ್ಲಿ ಮಾತ್ರ ಫ್ರೀಫಾರ್ಮ್ ವಿಂಡೋಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"ಬಹು-ವಿಂಡೋದಲ್ಲಿ ಮರುಗಾತ್ರಗೊಳಿಸಲು ಆಗದಿರುವುದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"ಮರುಗಾತ್ರಗೊಳಿಸಲು ಆಗದ ಆ್ಯಪ್ಗಳನ್ನು ಬಹು-ವಿಂಡೋದಲ್ಲಿ ಇರಲು ಅನುಮತಿಸುತ್ತದೆ"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"ಫೋರ್ಸ್-ಡಾರ್ಕ್ ಅನ್ನು ಓವರ್ರೈಡ್ ಮಾಡಿ"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"16KB ಡೆವಲಪರ್ ಆಯ್ಕೆಯನ್ನು ಬಳಸುವ ಮೊದಲು ಈ ಸಾಧನದ ಡೇಟಾ ಪಾರ್ಟಿಶನ್ ಅನ್ನು ext4 ಗೆ ಪರಿವರ್ತಿಸುವ ಅಗತ್ಯವಿದೆ. ಈ ಮೋಡ್ನಲ್ಲಿ ಸಾಫ್ಟ್ವೇರ್ ಇಂಟಿಗ್ರಿಟಿಯ ಭರವಸೆ ನೀಡಲಾಗುವುದಿಲ್ಲ ಮತ್ತು ಬೂಟ್ಲೋಡರ್ ಅನ್ಲಾಕ್ ಆಗಿರುವಾಗ ಫೋನ್ನಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಯಾವುದೇ ಡೇಟಾ ಅಪಾಯದಲ್ಲಿರಬಹುದು. 16KB ಆಯ್ಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಇದರ ನಂತರ ಮತ್ತೊಮ್ಮೆ ರೀಬೂಟ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಒಮ್ಮೆ ನೀವು ಈ ಮೋಡ್ನಲ್ಲಿದ್ದರೆ, ಒಂದೇ ರೀಬೂಟ್ನೊಂದಿಗೆ ನೀವು 4KB ಮತ್ತು 16KB ಮೋಡ್ಗಳ ನಡುವೆ ಹಿಂದಕ್ಕೆ ಮತ್ತು ಮುಂದಕ್ಕೆ ಬದಲಾಯಿಸಬಹುದು. ಈ ಮೋಡ್ಗಳಲ್ಲಿ ಕೆಲವು ಫೀಚರ್ ಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ, ಹಾಗಾಗಿ ಕೆಲವು ಅಪ್ಲಿಕೇಶನ್ಗಳು ಕಾರ್ಯನಿರ್ವಹಿಸದೇ ಇರಬಹುದು. ಸಾಧನವನ್ನು ಪ್ರೊಡಕ್ಷನ್ ಮೋಡ್ಗೆ ಹಿಂತಿರುಗಿಸಲು, ನೀವು 4KB ಮೋಡ್ಗೆ ಹಿಂತಿರುಗಿ ನಂತರ ಬೂಟ್ಲೋಡರ್ ಅನ್ನು ಲಾಕ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ, ಅದು ಸಾಧನವನ್ನು ಫ್ಯಾಕ್ಟರಿ ರೀಸೆಟ್ ಮಾಡುತ್ತದೆ. ಸಾಧನವು ಯಶಸ್ವಿಯಾಗಿ Android ಗೆ ಬೂಟ್ ಆದ ನಂತರ, ಡೆವಲಪರ್ ಆಯ್ಕೆಗಳಲ್ಲಿ OEM ಅನ್ಲಾಕಿಂಗ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ. ಸಾಧನವನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ದೃಢೀಕರಣದ ನಂತರ ಫೈಲ್ಸಿಸ್ಟಮ್ ಅನ್ನು ext4 ಗೆ ಬದಲಾಯಿಸಲಾಗುತ್ತದೆ. ಇದು ಪೂರ್ಣಗೊಂಡ ನಂತರ, ಮತ್ತೆ 16KB ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಹಿಂತಿರುಗಿ."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಅಳಿಸಿ"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"ಡೇಟಾ ವಿಭಾಗವನ್ನು ext4 ಗೆ ಮರು ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಲು ಮತ್ತು ಅಳಿಸಲು ವಿಫಲವಾಗಿದೆ."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16KB ಮೋಡ್ಗೆ ಬೂಟ್ಲೋಡರ್ ಅನ್ಲಾಕ್ ಅಗತ್ಯವಿದೆ"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"ಬೂಟ್ಲೋಡರ್ ಅನ್ಲಾಕ್ ಮಾಡುವ ಅಗತ್ಯವಿದೆ"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"16KB ಡೆವಲಪರ್ ಆಯ್ಕೆಯನ್ನು ಬಳಸುವ ಮೊದಲು ಈ ಸಾಧನದಲ್ಲಿ ಬೂಟ್ಲೋಡರ್ ಅನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಬೇಕಾಗಿದೆ. ಈ ಮೋಡ್ನಲ್ಲಿ ಸಾಫ್ಟ್ವೇರ್ ಇಂಟಿಗ್ರಿಟಿಯ ಭರವಸೆ ನೀಡಲಾಗುವುದಿಲ್ಲ ಮತ್ತು ಬೂಟ್ಲೋಡರ್ ಅನ್ಲಾಕ್ ಆಗಿರುವಾಗ ಫೋನ್ನಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಯಾವುದೇ ಡೇಟಾ ಅಪಾಯದಲ್ಲಿರಬಹುದು. 16KB ಮೋಡ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವಾಗ ಎಲ್ಲಾ ಬಳಕೆದಾರರ ಡೇಟಾ ಮತ್ತು ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ. ಒಮ್ಮೆ ಬೂಟ್ಲೋಡರ್ ಅನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಲಾದ ನಂತರ, 16KB ಆಯ್ಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಎರಡು ರೀಬೂಟ್ಗಳ ಅಗತ್ಯವಿರುತ್ತದೆ. ಒಮ್ಮೆ ನೀವು ಈ ಮೋಡ್ನಲ್ಲಿದ್ದರೆ, ಒಂದೇ ರೀಬೂಟ್ನೊಂದಿಗೆ ನೀವು 4KB ಮತ್ತು 16KB ಮೋಡ್ಗಳ ನಡುವೆ ಹಿಂದಕ್ಕೆ ಮತ್ತು ಮುಂದಕ್ಕೆ ಬದಲಾಯಿಸಬಹುದು. ಈ ಮೋಡ್ಗಳಲ್ಲಿ ಕೆಲವು ಫೀಚರ್ ಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ, ಹಾಗಾಗಿ ಕೆಲವು ಅಪ್ಲಿಕೇಶನ್ಗಳು ಕಾರ್ಯನಿರ್ವಹಿಸದೇ ಇರಬಹುದು. ಸಾಧನವನ್ನು ಪ್ರೊಡಕ್ಷನ್ ಮೋಡ್ಗೆ ಹಿಂತಿರುಗಿಸಲು, ನೀವು 4KB ಮೋಡ್ಗೆ ಹಿಂತಿರುಗಬೇಕು ಮತ್ತು ನಂತರ OEM/ಬೂಟ್ಲೋಡರ್ ಸಾಧನವನ್ನು ಲಾಕ್ (ಫ್ಯಾಕ್ಟರಿ ರೀಸೆಟ್) ಮಾಡುತ್ತದೆ. ಬೂಟ್ಲೋಡರ್ ಅನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ. ಇದನ್ನು ಹೇಗೆ ಮಾಡುವುದು ಎಂಬುದರ ಸೂಚನೆಗಳನ್ನು ನೀವು <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a> ಇಲ್ಲಿ ನೋಡಬಹುದು"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"4KB ಪೇಜ್-ಅಗ್ನೋಸ್ಟಿಕ್ ಮೋಡ್ ಅನ್ನು ಬಳಸಲಾಗುತ್ತಿದೆ"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"ನೀವು ಪೇಜ್-ಅಗ್ನೋಸ್ಟಿಕ್ ಮೋಡ್ನ 4KB ಮೋಡ್ನಲ್ಲಿರುವಿರಿ. ಈ ಮೋಡ್ನಲ್ಲಿ ಸಾಫ್ಟ್ವೇರ್ ಇಂಟಿಗ್ರಿಟಿಯ ಭರವಸೆ ನೀಡಲಾಗುವುದಿಲ್ಲ ಮತ್ತು ಬೂಟ್ಲೋಡರ್ ಅನ್ಲಾಕ್ ಆಗಿರುವಾಗ ಫೋನ್ನಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಯಾವುದೇ ಡೇಟಾ ಅಪಾಯದಲ್ಲಿರಬಹುದು. ಈ ಮೋಡ್ಗಳಲ್ಲಿ ಕೆಲವು ಫೀಚರ್ ಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ, ಹಾಗಾಗಿ ಕೆಲವು ಅಪ್ಲಿಕೇಶನ್ಗಳು ಕಾರ್ಯನಿರ್ವಹಿಸದೇ ಇರಬಹುದು. ಪ್ರೊಡಕ್ಷನ್ ಮೋಡ್ ಅನ್ನು ಮರು-ಪ್ರವೇಶಿಸಲು, ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿನ ಬೂಟ್ಲೋಡರ್ ಅನ್ನು ನೀವು ಲಾಕ್ ಮಾಡಬೇಕು. ಇನ್ನಷ್ಟು ಓದಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"ನೀವು ಪೇಜ್-ಅಗ್ನೋಸ್ಟಿಕ್ ಮೋಡ್ನ 4KB ಮೋಡ್ನಲ್ಲಿರುವಿರಿ. ಈ ಮೋಡ್ನಲ್ಲಿ ಸಾಫ್ಟ್ವೇರ್ ಇಂಟಿಗ್ರಿಟಿಯ ಭರವಸೆ ನೀಡಲಾಗುವುದಿಲ್ಲ ಮತ್ತು ಬೂಟ್ಲೋಡರ್ ಅನ್ಲಾಕ್ ಆಗಿರುವಾಗ ಫೋನ್ನಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಯಾವುದೇ ಡೇಟಾ ಅಪಾಯದಲ್ಲಿರಬಹುದು. ಈ ಮೋಡ್ಗಳಲ್ಲಿ ಕೆಲವು ಫೀಚರ್ ಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ, ಹಾಗಾಗಿ ಕೆಲವು ಅಪ್ಲಿಕೇಶನ್ಗಳು ಕಾರ್ಯನಿರ್ವಹಿಸದೇ ಇರಬಹುದು. ಪ್ರೊಡಕ್ಷನ್ ಮೋಡ್ ಅನ್ನು ಮರು-ಪ್ರವೇಶಿಸಲು, ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿನ ಬೂಟ್ಲೋಡರ್ ಅನ್ನು ನೀವು ಲಾಕ್ ಮಾಡಬೇಕು. ಇದು ಸಾಧನವನ್ನು ಮತ್ತೆ ಫ್ಯಾಕ್ಟರಿ ರೀಸೆಟ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಪ್ರೊಡಕ್ಷನ್ ಸೆಟ್ಟಿಂಗ್ಗಳಿಗೆ ಮರುಸ್ಥಾಪಿಸುತ್ತದೆ. ಸಾಧನವು ಯಶಸ್ವಿಯಾಗಿ Android ಗೆ ಬೂಟ್ ಆದ ನಂತರ, ಡೆವಲಪರ್ ಆಯ್ಕೆಗಳಲ್ಲಿ OEM ಅನ್ಲಾಕಿಂಗ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ. ಸಾಧನವು Android ಗೆ ಬೂಟ್ ಮಾಡಲು ವಿಫಲವಾದಲ್ಲಿ ಅಥವಾ ಅಸ್ಥಿರವಾಗಿದ್ದರೆ, <a href=\"https://developers.google.com/android/images\">https://developers ನಿಂದ ಇತ್ತೀಚಿನ ಫ್ಯಾಕ್ಟರಿ ಚಿತ್ರಗಳೊಂದಿಗೆ ಸಾಧನವನ್ನು ಮರು-ಫ್ಲಾಶ್ ಮಾಡಿ .google.com/android/images</a> ಅಥವಾ <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ಮತ್ತು \'ವೈಪ್ ಡಿವೈಸ್\', \'ಲಾಕ್ ಬೂಟ್ಲೋಡರ್\' ಮತ್ತು \'ಎಲ್ಲಾ ಪಾರ್ಟಿಶನ್ಗಳನ್ನು ಫೋರ್ಸ್ ಫ್ಲ್ಯಾಶ್ ಮಾಡಿ\' ಎಂಬುದನ್ನು ಆಯ್ಕೆಮಾಡಿ."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"16KB ಪೇಜ್-ಅಗ್ನೋಸ್ಟಿಕ್ ಮೋಡ್ ಅನ್ನು ಬಳಸಲಾಗುತ್ತಿದೆ"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"ನೀವು ಪೇಜ್-ಅಗ್ನೋಸ್ಟಿಕ್ ಮೋಡ್ನ 16KB ಮೋಡ್ನಲ್ಲಿರುವಿರಿ. ಈ ಮೋಡ್ನಲ್ಲಿ ಸಾಫ್ಟ್ವೇರ್ ಇಂಟಿಗ್ರಿಟಿಯ ಭರವಸೆ ನೀಡಲಾಗುವುದಿಲ್ಲ ಮತ್ತು ಬೂಟ್ಲೋಡರ್ ಅನ್ಲಾಕ್ ಆಗಿರುವಾಗ ಫೋನ್ನಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಯಾವುದೇ ಡೇಟಾ ಅಪಾಯದಲ್ಲಿರಬಹುದು. ಈ ಮೋಡ್ಗಳಲ್ಲಿ ಕೆಲವು ಫೀಚರ್ ಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ, ಹಾಗಾಗಿ ಕೆಲವು ಅಪ್ಲಿಕೇಶನ್ಗಳು ಕಾರ್ಯನಿರ್ವಹಿಸದೇ ಇರಬಹುದು. ಪ್ರೊಡಕ್ಷನ್ ಮೋಡ್ ಅನ್ನು ಮರು-ಪ್ರವೇಶಿಸಲು, ನೀವು 4K ಮೋಡ್ಗೆ ಹಿಂತಿರುಗಿ ಮತ್ತು ನಂತರ ಸಾಧನದ ಬೂಟ್ಲೋಡರ್ ಅನ್ನು ಲಾಕ್ ಮಾಡಬೇಕು. ಇನ್ನಷ್ಟು ಓದಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"ನೀವು ಪೇಜ್-ಅಗ್ನೋಸ್ಟಿಕ್ ಮೋಡ್ನ 16KB ಮೋಡ್ನಲ್ಲಿರುವಿರಿ. ಈ ಮೋಡ್ನಲ್ಲಿ ಸಾಫ್ಟ್ವೇರ್ ಇಂಟಿಗ್ರಿಟಿಯ ಭರವಸೆ ನೀಡಲಾಗುವುದಿಲ್ಲ ಮತ್ತು ಬೂಟ್ಲೋಡರ್ ಅನ್ಲಾಕ್ ಆಗಿರುವಾಗ ಫೋನ್ನಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಯಾವುದೇ ಡೇಟಾ ಅಪಾಯದಲ್ಲಿರಬಹುದು. ಈ ಮೋಡ್ಗಳಲ್ಲಿ ಕೆಲವು ಫೀಚರ್ ಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ, ಹಾಗಾಗಿ ಕೆಲವು ಅಪ್ಲಿಕೇಶನ್ಗಳು ಕಾರ್ಯನಿರ್ವಹಿಸದೇ ಇರಬಹುದು. ಪ್ರೊಡಕ್ಷನ್ ಮೋಡ್ ಅನ್ನು ಮರು-ಪ್ರವೇಶಿಸಲು, ನೀವು 4K ಮೋಡ್ಗೆ ಹಿಂತಿರುಗಿ ಮತ್ತು ನಂತರ ಸಾಧನದ ಬೂಟ್ಲೋಡರ್ ಅನ್ನು ಲಾಕ್ ಮಾಡಬೇಕು. ಇದು ಸಾಧನವನ್ನು ಮತ್ತೆ ಫ್ಯಾಕ್ಟರಿ ರೀಸೆಟ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಪ್ರೊಡಕ್ಷನ್ ಸೆಟ್ಟಿಂಗ್ಗಳಿಗೆ ಮರುಸ್ಥಾಪಿಸುತ್ತದೆ. ಸಾಧನವು ಯಶಸ್ವಿಯಾಗಿ Android ಗೆ ಬೂಟ್ ಆದ ನಂತರ, ಡೆವಲಪರ್ ಆಯ್ಕೆಗಳಲ್ಲಿ OEM ಅನ್ಲಾಕಿಂಗ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ. ಸಾಧನವು Android ಗೆ ಬೂಟ್ ಮಾಡಲು ವಿಫಲವಾದಲ್ಲಿ ಅಥವಾ ಅಸ್ಥಿರವಾಗಿದ್ದರೆ, <a href=\"https://developers.google.com/android/images\">https://developers ನಿಂದ ಇತ್ತೀಚಿನ ಫ್ಯಾಕ್ಟರಿ ಚಿತ್ರಗಳೊಂದಿಗೆ ಸಾಧನವನ್ನು ಮರು-ಫ್ಲಾಶ್ ಮಾಡಿ .google.com/android/images</a> ಅಥವಾ <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ಮತ್ತು \'ವೈಪ್ ಡಿವೈಸ್\', \'ಲಾಕ್ ಬೂಟ್ಲೋಡರ್\' ಮತ್ತು \'ಎಲ್ಲಾ ಪಾರ್ಟಿಶನ್ಗಳನ್ನು ಫೋರ್ಸ್ ಫ್ಲ್ಯಾಶ್ ಮಾಡಿ\' ಎಂಬುದನ್ನು ಆಯ್ಕೆಮಾಡಿ."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"ನೀವು ಪೇಜ್-ಅಗ್ನಾಸ್ಟಿಕ್ ಮೋಡ್ನ 16KB ಮೋಡ್ನಲ್ಲಿರುವಿರಿ. ಈ ಮೋಡ್ನಲ್ಲಿ ಸಾಫ್ಟ್ವೇರ್ ಇಂಟಿಗ್ರಿಟಿಯ ಭರವಸೆ ನೀಡಲಾಗುವುದಿಲ್ಲ ಮತ್ತು ಬೂಟ್ಲೋಡರ್ ಅನ್ಲಾಕ್ ಆಗಿರುವಾಗ ಫೋನ್ನಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಯಾವುದೇ ಡೇಟಾ ಅಪಾಯದಲ್ಲಿರಬಹುದು. ಈ ಮೋಡ್ಗಳಲ್ಲಿ ಕೆಲವು ಫೀಚರ್ಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ, ಹಾಗಾಗಿ ಕೆಲವು ಆ್ಯಪ್ಗಳು ಕಾರ್ಯನಿರ್ವಹಿಸದೇ ಇರಬಹುದು. ಪ್ರೊಡಕ್ಷನ್ ಮೋಡ್ ಅನ್ನು ಮರು-ಪ್ರವೇಶಿಸಲು, ನೀವು 4KB ಮೋಡ್ಗೆ ಹಿಂತಿರುಗಿ ಮತ್ತು ನಂತರ ಸಾಧನದ ಬೂಟ್ಲೋಡರ್ ಅನ್ನು ಲಾಕ್ ಮಾಡಬೇಕು. ಇನ್ನಷ್ಟು ಓದಲು ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"ನೀವು ಪೇಜ್-ಅಗ್ನಾಸ್ಟಿಕ್ ಮೋಡ್ನ 16KB ಮೋಡ್ನಲ್ಲಿರುವಿರಿ. ಈ ಮೋಡ್ನಲ್ಲಿ ಸಾಫ್ಟ್ವೇರ್ ಇಂಟಿಗ್ರಿಟಿಯ ಭರವಸೆ ನೀಡಲಾಗುವುದಿಲ್ಲ ಮತ್ತು ಬೂಟ್ಲೋಡರ್ ಅನ್ಲಾಕ್ ಆಗಿರುವಾಗ ಫೋನ್ನಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಯಾವುದೇ ಡೇಟಾ ಅಪಾಯದಲ್ಲಿರಬಹುದು. ಈ ಮೋಡ್ಗಳಲ್ಲಿ ಕೆಲವು ಫೀಚರ್ಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ, ಹಾಗಾಗಿ ಕೆಲವು ಆ್ಯಪ್ಗಳು ಕಾರ್ಯನಿರ್ವಹಿಸದೇ ಇರಬಹುದು. ಪ್ರೊಡಕ್ಷನ್ ಮೋಡ್ ಅನ್ನು ಮರು-ಪ್ರವೇಶಿಸಲು, ನೀವು 4KB ಮೋಡ್ಗೆ ಹಿಂತಿರುಗಿ ಮತ್ತು ನಂತರ ಸಾಧನದ ಬೂಟ್ಲೋಡರ್ ಅನ್ನು ಲಾಕ್ ಮಾಡಬೇಕು. ಇದು ಸಾಧನವನ್ನು ಮತ್ತೆ ಫ್ಯಾಕ್ಟರಿ ರೀಸೆಟ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಪ್ರೊಡಕ್ಷನ್ ಸೆಟ್ಟಿಂಗ್ಗಳಿಗೆ ಮರುಸ್ಥಾಪಿಸುತ್ತದೆ. ಸಾಧನವು ಯಶಸ್ವಿಯಾಗಿ Android ಗೆ ಬೂಟ್ ಆದ ನಂತರ, ಡೆವಲಪರ್ ಆಯ್ಕೆಗಳಲ್ಲಿ OEM ಅನ್ಲಾಕಿಂಗ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ. ಸಾಧನವು Android ಗೆ ಬೂಟ್ ಮಾಡಲು ವಿಫಲವಾದಲ್ಲಿ ಅಥವಾ ಸ್ಥಿರವಾಗಿಲ್ಲದಿದ್ದರೆ, <a href=\"https://developers.google.com/android/images\">https://developers ನಿಂದ ಇತ್ತೀಚಿನ ಫ್ಯಾಕ್ಟರಿ ಚಿತ್ರಗಳೊಂದಿಗೆ ಸಾಧನವನ್ನು ಮರು-ಫ್ಲಾಶ್ ಮಾಡಿ .google.com/android/images</a> ಅಥವಾ <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ಮತ್ತು \'ವೈಪ್ ಡಿವೈಸ್\', \'ಲಾಕ್ ಬೂಟ್ಲೋಡರ್\' ಮತ್ತು \'ಎಲ್ಲಾ ಪಾರ್ಟಿಶನ್ಗಳನ್ನು ಫೋರ್ಸ್ ಫ್ಲ್ಯಾಶ್ ಮಾಡಿ\' ಎಂಬುದನ್ನು ಆಯ್ಕೆಮಾಡಿ."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16KB ಪೇಜ್-ಅಗ್ನೋಸ್ಟಿಕ್ ಮೋಡ್"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"ಇನ್ನಷ್ಟು ಓದಿ"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"ಬಗ್ ವರದಿ ಹ್ಯಾಂಡ್ಲರ್"</string>
@@ -5007,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ಆ್ಯಪ್ ಪಿನ್ನಿಂಗ್ ಬಳಸಿ"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"ಡೆವಲಪರ್ ಆಯ್ಕೆಗಳನ್ನು ಬಳಸಿ"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"ಪ್ರಿಂಟ್ ಸೇವೆಯನ್ನು ಬಳಸಿ"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"ಬಹು ಬಳಕೆದಾರರನ್ನು ಅನುಮತಿಸಿ"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"ಅನುಮತಿಸಿ, ಬಹು, ಬಳಕೆದಾರರು, ಪರವಾನಗಿ, ಹಲವು"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"ಅನೇಕ, ಬಳಕೆದಾರರು, ಪ್ರೊಫೈಲ್ಗಳು, ಜನರು, ಖಾತೆಗಳು, ಸ್ವಿಚ್, ಹಲವು"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ವೈರ್ಲೆಸ್ ಡೀಬಗಿಂಗ್ ಅನ್ನು ಬಳಸಿ"</string>
@@ -5121,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಅನ್ನು ಡಾಕ್ ಮಾಡಿದಾಗ ನಿಮ್ಮ ಸ್ಕ್ರೀನ್ನ ಮೇಲೆ ನಿಮಗೇನು ಕಾಣಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಆಯ್ಕೆಮಾಡಿ. ಸ್ಕ್ರೀನ್ ಸೇವರ್ ಬಳಸಿದಾಗ ನಿಮ್ಮ ಸಾಧನ ಹೆಚ್ಚಿನ ಶಕ್ತಿಯನ್ನು ಬಳಸಬಹುದು."</string>
<string name="customize_button_title" msgid="1110284655990203359">"ಕಸ್ಟಮೈಸ್ ಮಾಡಿ"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> ಕಸ್ಟಮೈಸ್ ಮಾಡಿ"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"ಫ್ರೀಫಾರ್ಮ್ ಬೆಂಬಲವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ರೀಬೂಟ್ ಮಾಡುವ ಅಗತ್ಯವಿದೆ."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"ಸೆಕೆಂಡರಿ ಡಿಸ್ಪ್ಲೇಗಳಲ್ಲಿ ಡೆಸ್ಕ್ಟಾಪ್ ಮೋಡ್ ಅನ್ನು ಬಲವಂತವಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸಲು ರೀಬೂಟ್ ಮಾಡುವ ಅಗತ್ಯವಿದೆ."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"ಲೆಗಸಿ ಫ್ರೀಫಾರ್ಮ್ ವಿಂಡೊಯಿಂಗ್ ಬೆಂಬಲವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ರೀಬೂಟ್ ಮಾಡುವ ಅಗತ್ಯವಿದೆ."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"ಫ್ರೀಫಾರ್ಮ್ ವಿಂಡೊಯಿಂಗ್ ಬೆಂಬಲವನ್ನು ಬದಲಾಯಿಸಲು ರೀಬೂಟ್ ಮಾಡುವ ಅಗತ್ಯವಿದೆ."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"ಸೆಕೆಂಡರಿ ಡಿಸ್ಪ್ಲೇಗಳಲ್ಲಿ ಫ್ರೀಫಾರ್ಮ್ ವಿಂಡೊಯಿಂಗ್ ಅನ್ನು ಬಲವಂತವಾಗಿ ರೀಬೂಟ್ ಮಾಡುವ ಅಗತ್ಯವಿದೆ."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"ಈಗಲೇ ರೀಬೂಟ್ ಮಾಡಿ"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"ನಂತರ ರೀಬೂಟ್ ಮಾಡಿ"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"ಸ್ಪೇಷಿಯಲ್ ಆಡಿಯೋ"</string>
@@ -5351,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಆಲಿಸಿ"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ಜೊತೆ ಕೇಳಲು ಆಡಿಯೋ ಸ್ಟ್ರೀಮ್ QR ಕೋಡ್ ಅನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಿ"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"ಹಂಚಿಕೊಳ್ಳುವಾಗ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಎಡಿಟ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ. ಪಾಸ್ವರ್ಡ್ ಬದಲಾಯಿಸಲು, ಮೊದಲು ಆಡಿಯೋ ಹಂಚಿಕೊಳ್ಳುವಿಕೆಯನ್ನು ಆಫ್ ಮಾಡಿ."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-ko/arrays.xml b/res/values-ko/arrays.xml
index 2cd3175..08db70c 100644
--- a/res/values-ko/arrays.xml
+++ b/res/values-ko/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"취침 시간"</item>
+ <item msgid="4152450357280759894">"운전"</item>
+ <item msgid="7096549258219399423">"몰입형"</item>
+ <item msgid="2760716776980432977">"관리형"</item>
+ <item msgid="601734478369121764">"별표"</item>
+ <item msgid="6243809315432780521">"캘린더"</item>
+ <item msgid="4913577903148415331">"시간"</item>
+ <item msgid="3653377604690057780">"영화관"</item>
+ <item msgid="3843711267408385410">"꽃"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index e9add84..695e8ea 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"청각 보조 기기 설정"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"단축키, 보청기 호환성"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"미리 설정"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"청능사가 사전 설정한 프로그램이 없습니다."</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"사전 설정을 업데이트할 수 없음"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"오디오 출력"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"오디오 출력 정보"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"얼굴 및 <xliff:g id="WATCH">%s</xliff:g> 추가됨"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"얼굴, 지문, <xliff:g id="WATCH">%s</xliff:g> 추가됨"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"얼굴, 지문, <xliff:g id="WATCH">%s</xliff:g> 추가됨"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"신원 확인이 설정되어 필수입니다."</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator 잠금 해제"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"시계 추가됨"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"시계 설정하기"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"스마트시계 잠금 해제 자세히 알아보기"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"시계 추가"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"시계 삭제"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"지문 및 얼굴 인식 잠금 해제"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"얼굴 인식/지문 잠금 해제"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"직장용 얼굴 인식/지문 잠금 해제"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"설정 필요"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"얼굴 및 지문 추가됨"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"앱 설치"</b>\n"스페이스에서 비공개로 유지할 앱을 설치하세요."</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"주의사항"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"스페이스를 잠그면 앱이 중지됩니다"</b>\n"스페이스를 잠그면 스페이스에 있는 앱이 중지되고 해당 앱으로부터 알림을 받을 수 없습니다."</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"비공개 스페이스는 의료 앱과 같이 백그라운드에서 실행되어야 하거나 중요한 알림을 보내야 하는 앱에는 적합하지 않습니다. 스페이스가 잠겨 있으면 알림 및 백그라운드 활동이 중지되기 때문입니다.\n\n비공개 스페이스가 잠겨 있으면 비공개 스페이스의 앱이 권한 관리자, 개인 정보 대시보드, 기타 설정에 표시되지 않습니다.\n\n비공개 스페이스는 새 기기로 옮길 수 없습니다. 다른 기기에서 사용하려면 해당 기기에 비공개 스페이스를 설정해야 합니다.\n\n기기를 컴퓨터에 연결하거나 기기에 유해한 앱을 설치 가능한 사용자가 내 비공개 스페이스에 액세스할 수도 있습니다."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"비공개 스페이스는 의료 앱과 같이 백그라운드에서 실행되어야 하거나 중요한 알림을 보내야 하는 앱에는 적합하지 않습니다. 스페이스가 잠겨 있으면 알림 및 백그라운드 활동이 중지되기 때문입니다.\n\n비공개 스페이스가 잠겨 있으면 비공개 스페이스의 앱이 권한 관리자, 개인 정보 대시보드, 기타 설정에 표시되지 않습니다.\n\n비공개 스페이스는 새 기기로 복원할 수 없습니다. 다른 기기에서 사용하려면 해당 기기에 비공개 스페이스를 설정해야 합니다.\n\n기기를 컴퓨터에 연결하거나 기기에 악성 앱을 설치할 수 있는 다른 사용자가 내 비공개 스페이스에 액세스할 수도 있습니다."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"비공개 스페이스에 관해 자세히 알아보기"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"몇 분 정도 걸릴 수 있습니다."</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"비공개 스페이스 설정 중…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"기기를 다시 시작하시겠습니까?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"세부 NFC 로깅은 개발용으로만 사용됩니다. 추가 NFC 데이터는 버그 신고에 포함되며, 여기에는 개인 정보가 포함될 수 있습니다. 이 설정을 변경하려면 기기를 다시 시작하세요."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"다시 시작"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"전송"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"미러링"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"무선 디스플레이 사용"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"색상 자동 조절"</string>
<string name="brightness" msgid="6216871641021779698">"밝기 수준"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"밝기 자동 조절"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"밝기 자동 조절 정보"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"화면 밝기가 환경 및 활동에 맞게 자동으로 조정됩니다. 슬라이더를 수동으로 이동하여 밝기 자동 조절 기능이 사용자의 환경설정을 학습하도록 할 수 있습니다."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"사용"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"사용 안함"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"옵션"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"접근성"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"물리적 키보드"</string>
- <string name="show_ime" msgid="4334255501724746849">"터치 키보드 사용"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"물리적 키보드가 활성 상태인 경우 화면에 켜 둠"</string>
<string name="bounce_keys" msgid="7419450970351743904">"바운스 키"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g>밀리초 이내에 동일한 키를 빠르게 반복해서 누를 시 키보드에서 이를 무시합니다."</string>
<string name="slow_keys" msgid="2891452895499690837">"느린 키"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"사용자 선택: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"음성"</string>
<string name="pointer_speed" msgid="7398649279282675718">"포인터 속도"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"게임 컨트롤러"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"진동 리디렉션"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"게임 컨트롤러가 연결되어 있으면 진동을 컨트롤러로 전송합니다."</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"무시하고 계속하기"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"취소"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"확대 설정"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"한 손가락으로 패닝"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"한 손가락으로 돋보기 이동"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"한 손가락으로 드래그하여 화면을 움직입니다"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"한 손가락으로 드래그하여 확대 영역을 이동하세요."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"두 손가락으로 드래그하여 확대 영역을 이동하세요."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"화면의 일부만 확대하는 동안에는 사용할 수 없음"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"버튼을 탭하여 확대/축소"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"화면을 빠르게 확대하여 콘텐츠를 더 크게 표시합니다."</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>확대하는 방법:</b><br/> {0,number,integer}. 바로가기를 사용하여 확대를 시작합니다.<br/> {1,number,integer}. 화면을 탭합니다.<br/> {2,number,integer}. 두 손가락으로 드래그하여 화면을 움직입니다.<br/> {3,number,integer}. 두 손가락을 모아서 배율을 조정합니다.<br/> {4,number,integer}. 바로가기를 사용하여 확대를 멈춥니다.<br/><br/> <b>일시적으로 확대하는 방법:</b><br/> {0,number,integer}. 확대 유형이 전체 화면으로 설정되어 있어야 합니다.<br/> {1,number,integer}. 바로가기를 사용하여 확대를 시작합니다.<br/> {2,number,integer}. 화면 아무 곳이나 길게 터치합니다.<br/> {3,number,integer}. 손가락으로 드래그하여 화면을 움직입니다.<br/> {4,number,integer}. 손가락을 떼어 확대를 멈춥니다."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>확대하는 방법:</b><br/> {0,number,integer}. 단축키를 사용하여 확대를 시작합니다.<br/> {1,number,integer}. 화면을 탭합니다.<br/> {2,number,integer}. 두 손가락으로 드래그하여 화면을 움직입니다.<br/> {3,number,integer}. 두 손가락을 모으거나 벌려서 확대/축소 배율을 조정합니다.<br/> {4,number,integer}. 단축키를 사용해 확대를 멈춥니다.<br/><br/> 일시적으로 확대하는 등의 작업을 수행할 수도 있습니다."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>확대하는 방법:</b><br/> {0,number,integer}. 단축키를 사용하여 확대를 시작합니다.<br/> {1,number,integer}. 화면을 탭합니다.<br/> {2,number,integer}. 한 손가락 또는 두 손가락으로 드래그하여 화면을 움직입니다.<br/> {3,number,integer}. 두 손가락을 모으거나 벌려서 확대/축소 배율을 조정합니다.<br/> {4,number,integer}. 단축키를 사용해 확대를 멈춥니다.<br/><br/> 일시적으로 확대하는 등의 작업을 수행할 수도 있습니다."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"확대 기능을 사용 설정하면 화면을 확대할 수 있습니다.\n\n"<b>"화면을 확대하려면"</b>" 확대 기능을 시작한 다음 화면에서 아무 곳이나 탭합니다.\n"<ul><li>"스크롤하려면 2개 이상의 손가락으로 드래그합니다."</li>\n<li>"확대/축소 수준을 조정하려면 2개 이상의 손가락을 모읍니다."</li></ul>\n\n<b>"화면을 일시적으로 확대하려면"</b>" 확대를 시작한 다음 화면에서 아무 곳이나 길게 터치합니다.\n"<ul><li>"화면에서 이동하려면 드래그합니다."</li>\n<li>"축소하려면 손가락을 뗍니다."</li></ul>\n\n"키보드 또는 탐색 메뉴는 확대할 수 없습니다."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g>페이지 중 <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>페이지"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"접근성 버튼 바로가기"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"중요한 사람과 앱의 알림만 받기"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"활성화 유형 선택"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"시간"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"예: \"9시 30분부터 오후 5시까지\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"캘린더"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"예: \"개인 캘린더\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"모드 만들기"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"커스텀"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"방해 요소 제한"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"방해 금지 모드 사용 설정"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"알람 및 미디어 소리 예외"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"예약"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"예약 삭제"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"삭제"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"수정"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"예약"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"예약"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"캘린더 추가"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"내 캘린더 사용"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"일정"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"일정 설정"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"일정"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g>시간 <xliff:g id="MINUTES">%2$d</xliff:g>분"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"자동으로 사용 설정"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"예약"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"특정 시간 동안 휴대전화 무음 설정"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"방해 금지 모드 규칙 설정"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"소리를 내는 방해 요소 허용"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"시각적 방해 차단"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"시각적 신호 허용"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"알림 허용 항목"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"집중"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"추가 작업"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"디스플레이 설정"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"디스플레이 옵션"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"어두운 테마 사용"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"어두운 배경에 밝은 텍스트를 표시하도록 OS와 앱을 전환합니다. 이렇게 하면 눈의 피로도를 낮출 수 있고, 일부 기기에서는 배터리를 크게 절약할 수 있습니다."</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{디스플레이 변경사항 없음}=1{{effect_1}}=2{{effect_1} 및 {effect_2}}=3{{effect_1}, {effect_2}, {effect_3}}other{{effect_1}, {effect_2} 외 #개}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"방해 금지 필터링"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"방해 금지 필터링 안함"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"필터링한 알림에 대한 표시 옵션"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"방해 금지 모드 사용 시"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"알림 소리 차단"</string>
@@ -3486,6 +3541,8 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"알림 열기"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"다시 알림 허용"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"앱 아이콘에 알림 표시 점 사용"</string>
+ <!-- no translation found for notification_bundles (3614044525822580826) -->
+ <skip />
<string name="notification_bubbles_title" msgid="5681506665322329301">"대화창"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"대화창"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"이 대화를 대화창으로 표시"</string>
@@ -3667,6 +3724,7 @@
<string name="notification_channels" msgid="1502969522886493799">"카테고리"</string>
<string name="notification_channels_other" msgid="18159805343647908">"기타"</string>
<string name="no_channels" msgid="4716199078612071915">"이 앱에서 게시한 알림이 없음"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"사용하지 않는 카테고리 표시"</string>
<string name="app_settings_link" msgid="6725453466705333311">"앱 내 추가 설정"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"사용하지 않는 카테고리 표시"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"사용하지 않는 카테고리 숨기기"</string>
@@ -3778,6 +3836,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"모두"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"앱에서 무시하도록 허용"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"예외 앱"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"앱 추가 선택"</string>
@@ -3814,12 +3874,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time}까지 1시간 동안 알람만 허용으로 변경}other{{time}까지 #시간 동안 알람만 허용으로 변경}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>까지 알람만 수신 모드로 변경"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"항상 알림 모드로 변경"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"이름 변경"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"아이콘 변경"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"아이콘 변경"</string>
<string name="warning_button_text" msgid="1274234338874005639">"주의"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"닫기"</string>
<string name="device_feedback" msgid="5351614458411688608">"이 기기에 대한 의견 보내기"</string>
@@ -4029,7 +4086,7 @@
<string name="draw_overlay" msgid="7902083260500573027">"다른 앱 위에 표시"</string>
<string name="system_alert_window_settings" msgid="6458633954424862521">"다른 앱 위에 표시"</string>
<string name="permit_draw_overlay" msgid="4468994037192804075">"다른 앱 위에 표시 허용"</string>
- <string name="allow_overlay_description" msgid="1607235723669496298">"이 앱이 사용 중인 다른 앱 위에 표시되도록 허용합니다. 앱에서 내가 탭하는 위치를 확인하고 화면에 표시되는 내용을 변경할 수 있습니다."</string>
+ <string name="allow_overlay_description" msgid="1607235723669496298">"이 앱이 사용 중인 다른 앱 위에 표시되도록 허용합니다. 앱에서 내가 탭하는 위치를 확인하거나 화면에 표시되는 내용을 변경할 수 있습니다."</string>
<string name="media_routing_control_title" msgid="6402800638960066807">"미디어 출력을 변경하세요"</string>
<string name="allow_media_routing_control" msgid="4907036637509360616">"앱이 미디어 출력을 전환하도록 허용"</string>
<string name="allow_media_routing_description" msgid="8343709701298051207">"이 앱이 다른 앱에서 오디오나 동영상을 재생할 연결된 기기를 선택하도록 허용합니다. 허용할 경우, 이 앱은 헤드폰이나 스피커와 같은 사용 가능한 기기의 목록에 액세스하여 오디오 또는 동영상을 스트리밍하거나 전송할 출력 장치를 선택할 수 있습니다."</string>
@@ -4805,8 +4862,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"케이스"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"배터리"</string>
<string name="settings_panel_title" msgid="346363079938069215">"설정 패널"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"데스크톱 모드 강제 사용"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"보조 디스플레이에서 실험적 데스크톱 모드 강제 사용"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"자유 형식 창 사용"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"자유 형식 창 지원을 사용하도록 설정합니다."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"보조 디스플레이에서 자유 형식 창 모드 사용"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"보조 디스플레이에서만 자유 형식 창을 사용하도록 설정합니다."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"멀티 윈도우에서 크기 조정 불가 앱 사용"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"멀티 윈도우에서 크기 조정 불가 앱 허용"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"강제로 어둡게 재정의"</string>
@@ -4874,14 +4933,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"16KB 개발자 옵션을 사용하기 전에 이 기기의 데이터 파티션을 ext4로 변환해야 합니다. 이 모드에서는 소프트웨어 무결성이 보장되지 않기 때문에 부트로더가 잠금 해제된 상태에서는 휴대전화에 저장된 모든 데이터가 위험에 노출될 수 있습니다. 16KB 옵션을 활성화하려면 이후에 한 번 더 재부팅해야 합니다. 이 모드에서는 한 번의 재부팅으로 4KB와 16KB 모드 사이를 오가며 전환할 수 있습니다. 이 모드에서는 일부 기능이 사용 중지되므로 일부 애플리케이션이 작동하지 않을 수 있습니다. 기기를 프로덕션 모드로 되돌리려면 4KB 모드로 다시 전환한 후 부트로더를 잠가야 하며, 이렇게 하면 기기가 초기화됩니다. 기기를 Android로 부팅 완료한 후에는 개발자 옵션에서 OEM 잠금 해제를 사용 중지하세요. 확인 후에는 기기가 완전 삭제되며 파일 시스템이 ext4로 변경됩니다. 이 과정을 완료한 후에는 다시 돌아와 16KB를 사용 설정하세요."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"모든 데이터 삭제"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"데이터 파티션을 ext4로 재포맷하고 완전 삭제할 수 없습니다."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16KB 모드에 필요한 부트로더 잠금 해제"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"부트로더를 잠금 해제해야 합니다"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"16KB 개발자 옵션을 사용하려면 이 기기의 부트로더가 잠금 해제되어 있어야 합니다. 이 모드에서는 소프트웨어 무결성이 보장되지 않기 때문에 부트로더가 잠금 해제된 상태에서 휴대전화에 저장된 모든 데이터가 위험에 노출될 수 있습니다. 16KB 모드를 활성화하면 모든 사용자 데이터와 설정이 완전 삭제됩니다. 부트로더가 잠금 해제되고 나서 16KB 옵션을 활성화하려면 두 번 재부팅해야 합니다. 이 모드에서는 한 번의 재부팅으로 4KB와 16KB 모드 사이를 오가며 전환할 수 있습니다. 이 모드에서는 일부 기능이 사용 중지되므로 일부 애플리케이션이 작동하지 않을 수 있습니다. 기기를 프로덕션 모드로 되돌리려면 4KB 모드로 다시 전환한 후 OEM/부트로더로 기기를 잠가 초기화해야 합니다. 부트로더를 잠금 해제한 후 다시 시도해 주세요. <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>에서 방법에 대한 안내를 참고하세요."</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"페이지에 구속받지 않는 4KB 모드 사용"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"현재 페이지에 구속받지 않는 4KB 모드입니다. 이 모드에서는 소프트웨어 무결성이 보장되지 않기 때문에 부트로더가 잠금 해제된 상태에서는 휴대전화에 저장된 모든 데이터가 위험에 노출될 수 있습니다. 이 모드에서는 일부 기능이 사용 중지되므로 일부 애플리케이션이 작동하지 않을 수 있습니다. 프로덕션 모드로 다시 들어가려면 기기의 부트로더를 잠가야 합니다. 탭하여 자세히 알아보세요."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"현재 페이지에 구속받지 않는 4KB 모드입니다. 이 모드에서는 소프트웨어 무결성이 보장되지 않기 때문에 부트로더가 잠금 해제된 상태에서는 휴대전화에 저장된 모든 데이터가 위험에 노출될 수 있습니다. 이 모드에서는 일부 기능이 사용 중지되므로 일부 애플리케이션이 작동하지 않을 수 있습니다. 프로덕션 모드로 다시 들어가려면 기기의 부트로더를 잠가야 합니다. 이렇게 하면 기기가 다시 초기화되고 프로덕션 설정으로 복원됩니다. 기기를 Android로 부팅 완료한 후에는 개발자 옵션에서 OEM 잠금 해제를 사용 중지하세요. 기기가 Android로 부팅되지 않거나 불안정한 경우 <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>의 최신 공장 출고 시 이미지로 기기를 다시 플래시하거나 <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a>을 사용하여 \'Wipe Device\'(기기 완전 삭제), \'Lock Bootloader\'(부트로더 잠금), \'Force Flash all partitions\'(모든 파티션 강제 플래시)를 선택하세요."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"페이지에 구속받지 않는 16KB 모드 사용"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"현재 페이지에 구속받지 않는 16KB 모드입니다. 이 모드에서는 소프트웨어 무결성이 보장되지 않기 때문에 부트로더가 잠금 해제된 상태에서는 휴대전화에 저장된 모든 데이터가 위험에 노출될 수 있습니다. 이 모드에서는 일부 기능이 사용 중지되므로 일부 애플리케이션이 작동하지 않을 수 있습니다. 프로덕션 모드로 다시 들어가려면 4K 모드로 다시 전환한 후 기기의 부트로더를 잠가야 합니다. 탭하여 자세히 알아보세요."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"현재 페이지에 구속받지 않는 16KB 모드입니다. 이 모드에서는 소프트웨어 무결성이 보장되지 않기 때문에 부트로더가 잠금 해제된 상태에서 휴대전화에 저장된 모든 데이터가 위험에 노출될 수 있습니다. 이 모드에서는 일부 기능이 사용 중지되므로 일부 애플리케이션이 작동하지 않을 수 있습니다. 프로덕션 모드로 돌아가려면 4K 모드로 다시 전환한 후 기기의 부트로더를 잠가야 합니다. 이렇게 하면 기기가 다시 초기화되고 프로덕션 설정으로 복원됩니다. 기기를 Android로 부팅 완료한 후에는 개발자 옵션에서 OEM 잠금 해제를 사용 중지하세요. 기기가 Android로 부팅되지 않거나 불안정한 경우 <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>의 최신 공장 출고 시 이미지로 기기를 다시 플래시하거나 <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a>을 사용하여 \'Wipe Device\'(기기 완전 삭제), \'Lock Bootloader\'(부트로더 잠금), \'Force Flash all partitions\'(모든 파티션 강제 플래시)를 선택하세요."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"현재 페이지 크기에 구속받지 않는 16KB 모드입니다. 이 모드에서는 소프트웨어 무결성이 보장되지 않기 때문에 부트로더가 잠금 해제된 상태에서는 휴대전화에 저장된 모든 데이터가 위험에 노출될 수 있습니다. 이 모드에서는 일부 기능이 사용 중지되므로 일부 애플리케이션이 작동하지 않을 수 있습니다. 프로덕션 모드로 다시 들어가려면 4KB 모드로 다시 전환한 후 기기의 부트로더를 잠가야 합니다. 탭하여 자세히 알아보세요."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"현재 페이지 크기에 구속받지 않는 16KB 모드입니다. 이 모드에서는 소프트웨어 무결성이 보장되지 않기 때문에 부트로더가 잠금 해제된 상태에서는 휴대전화에 저장된 모든 데이터가 위험에 노출될 수 있습니다. 이 모드에서는 일부 기능이 사용 중지되므로 일부 애플리케이션이 작동하지 않을 수 있습니다. 프로덕션 모드로 다시 들어가려면 4KB 모드로 다시 전환한 후 기기의 부트로더를 잠가야 합니다. 이렇게 하면 기기가 다시 초기화되고 프로덕션 설정으로 복원됩니다. 기기를 Android로 부팅 완료한 후에는 개발자 옵션에서 OEM 잠금 해제를 사용 중지하세요. 기기가 Android로 부팅되지 않거나 불안정한 경우 <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>의 최신 공장 출고 시 이미지로 기기를 다시 플래시하거나 <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a>을 사용하여 \'기기 완전 삭제\', \'부트로더 잠금\', \'모든 파티션 강제 플래시\'를 선택하세요."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"페이지에 구속받지 않는 16KB 모드"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"자세히 알아보기"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"버그 신고 핸들러"</string>
@@ -5013,7 +5072,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"앱 고정 사용"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"개발자 옵션 사용"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"인쇄 서비스 사용"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"여러 사용자 허용"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"허용, 멀티, 사용자, 허가, 다수"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"다중, 사용자, 프로필, 사람, 계정, 전환, 다수"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"무선 디버깅 사용"</string>
@@ -5127,8 +5187,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"태블릿이 도킹되었을 때 화면에 표시할 항목을 선택하세요. 화면 보호기를 사용하면 기기에서 더 많은 에너지를 사용할 수 있습니다."</string>
<string name="customize_button_title" msgid="1110284655990203359">"맞춤설정"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> 맞춤설정"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"자유 형식 지원을 사용 설정하려면 재부팅해야 합니다."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"보조 디스플레이에서 데스크톱 모드를 강제 실행하려면 재부팅해야 합니다."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"레거시 자유 형식 창 모드 지원을 사용하려면 재부팅해야 합니다."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"자유 형식 창 모드 지원을 변경하려면 재부팅해야 합니다."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"보조 디스플레이에서 자유 형식 창 모드를 강제 실행하려면 재부팅해야 합니다."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"지금 재부팅"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"나중에 재부팅"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"공간 음향"</string>
@@ -5357,4 +5418,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"스트림 듣기"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"오디오 스트림 QR 코드를 스캔하여 <xliff:g id="DEVICE_NAME">%1$s</xliff:g> 기기로 들으세요."</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"공유 중에는 비밀번호를 수정할 수 없습니다. 비밀번호를 변경하려면 먼저 오디오 공유를 사용 중지하세요."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-ky/arrays.xml b/res/values-ky/arrays.xml
index 5a18ce1..9a1bf85 100644
--- a/res/values-ky/arrays.xml
+++ b/res/values-ky/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Уйку режими"</item>
+ <item msgid="4152450357280759894">"Унаа айдоо"</item>
+ <item msgid="7096549258219399423">"Сүңгүтүүчү"</item>
+ <item msgid="2760716776980432977">"Башкарылган"</item>
+ <item msgid="601734478369121764">"Жылдыз"</item>
+ <item msgid="6243809315432780521">"Жылнаама"</item>
+ <item msgid="4913577903148415331">"Убакыт"</item>
+ <item msgid="3653377604690057780">"Театр"</item>
+ <item msgid="3843711267408385410">"Гүл"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 1c87d17..0607e79 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Угуу аппаратынын параметрлери"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Ыкчам баскыч, угуу аппаратынын шайкештиги"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Алдын ала коюлган параметрлер"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Булар аудиолог тарабынан алдын ала коюлган параметрлер эмес"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Алдын ала коюлган параметрлер жаңыртылган жок"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Аудио түзмөк"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Аудио түзмөк жөнүндө"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Жүз жана <xliff:g id="WATCH">%s</xliff:g> кошулду"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Жүз, манжа издери жана <xliff:g id="WATCH">%s</xliff:g> кошулду"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Жүз, манжа издери жана <xliff:g id="WATCH">%s</xliff:g> кошулду"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Өздүгүн текшерүү күйгүзүлгөндүктөн, бул керек"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator менен кулпусун ачуу"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Саат кошулду"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Саатыңызды тууралап алыңыз"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Кулпуну саат менен ачуу тууралуу кеңири маалымат"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Саат кошуу"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Саатты өчүрүү"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Манжа изи жана Жүзүнөн таанып ачуу"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Түзмөктү жүз жана манжа изи менен ачуу"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Жумуш профилинде жүз жана манжа изи менен ачуу функциясы"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Коюу керек"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Жүз жана манжа изи кошулду"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Колдонмолорду орнотуу"</b>\n"Жеке мейкиндикте купуя сактагыңыз келген колдонмолорду орнотуңуз"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Эскертүү"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Жеке мейкиндикти кулпулаганыңызда колдонмолор иштебей калат"</b>\n"Жеке мейкиндикти кулпулаганыңызда андагы колдонмолор иштебей калат жана алардан билдирмелерди албай каласыз"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Жеке мейкиндиктер фондук режимде иштеп же маанилүү билдирмелерди жөнөтүшү керек болгон колдонмолорго (мисалы, медициналык колдонмолорго) жарабайт, себеби жеке мейкиндик кулпуланганда, фондогу аракеттер менен билдирмелер токтоп, жөнөтүлбөй калат.\n\nЖеке мейкиндик кулпуланганда, андагы колдонмолор уруксаттарда, купуялык тактасында жана башка параметрлерде көрүнбөй калат.\n\nЖеке мейкиндигиңизди жаңы түзмөккө өткөрө албаганыңыз менен, жаңысын түзө аласыз.\n\nЖеке мейкиндигиңизге түзмөгүңүзгө зыянкеч колдонмолорду орнотуп же аны өз компьютерине кошуп алган адам кире алат."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Жеке мейкиндиктер фондук режимде иштеп же маанилүү билдирмелерди жөнөтүшү керек болгон колдонмолорго (мисалы, медициналык колдонмолорго) жарабайт, себеби жеке мейкиндик кулпуланганда, фондогу аракеттер менен билдирмелер токтоп, жөнөтүлбөй калат.\n\nЖеке мейкиндик кулпуланганда, андагы колдонмолор уруксаттарда, купуялык тактасында жана башка параметрлерде көрүнбөй калат.\n\nЖеке мейкиндигиңизди жаңы түзмөккө өткөрө албаганыңыз менен, жаңысын түзө аласыз.\n\nЖеке мейкиндигиңизге түзмөгүңүзгө зыянкеч колдонмолорду орнотуп же аны өз компьютерине кошуп алган адам кире алат."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Жеке мейкиндик тууралуу кеңири маалымат"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Буга аз эле убакыт кетет"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Жеке мейкиндик туураланууда…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Түзмөк өчүп күйсүнбү?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"NFC\'нин толук таржымалы иштеп чыгуу максатында гана колдонулат. NFC тууралуу кошумча маалыматта мүчүлүштүктөр тууралуу кабарлар жана купуя маалымат камтылышы мүмкүн. Бул параметрди өзгөртүү үчүн түзмөгүңүздү өчүрүп күйгүзүңүз."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Өчүрүп күйгүзүү"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Тышкы экранга чыгаруу"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"күзгү"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Зымсыз мониторду иштетүү"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Ыңгайлаштырылуучу"</string>
<string name="brightness" msgid="6216871641021779698">"Жарык деңгээли"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Ыңгайлашуучу жарык"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Ыңгайлаштырылуучу жарык жөнүндө"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Экрандын жарыктыгы жүргөн жериңизге жана аткарган ишиңизге жараша автоматтык түрдө өзгөрөт. Сыдырманы колуңуз менен сыдырып, жарыкты өзүңүз каалагандай ыңгайлаштырып алыңыз."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Күйүк"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Өчүк"</string>
@@ -1212,7 +1243,7 @@
<string name="adaptive_sleep_privacy" msgid="7664570136417980556">"\"Ыңгайлашуучу көшүү режими\" экранды кимдир-бирөө карап жатканын текшерүү үчүн маңдайкы камераны колдонот. Ал түзмөктө иштеп, сүрөттөрдү эч качан сактап калбайт жана Google\'га жөнөтпөйт."</string>
<string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Ыңгайл. көшүү режимин күйгүзүү"</string>
<string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Экранды карап турганда, өчпөйт"</string>
- <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Экран өчө турган убакыт узак болсо, батарея көбүрөөк сарпталат."</string>
+ <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Экран көпкө чейин өчпөсө, батарея тез отуруп калышы мүмкүн."</string>
<string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Камера кулпуланган"</string>
<string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Жүздү аныктоо үчүн камеранын кулпусун ачуу керек"</string>
<string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Ыңгайлашуучу көшүү режимин колдонуу үчүн камеранын кулпусун ачуу керек"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Параметрлер"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Атайын мүмкүнчүлүктөр"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Аппараттык баскычтоп"</string>
- <string name="show_ime" msgid="4334255501724746849">"Экрандагы баскычтопту колдонуу"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Баскычтоп иштетилгенде экранда көрүнүп турат"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Кайтаруу баскычтары"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> мсек. ичинде баскычтын удаа басылганы этибарга алынбайт"</string>
<string name="slow_keys" msgid="2891452895499690837">"Жай баскычтар"</string>
@@ -1924,11 +1953,11 @@
<string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Дагы параметрлерди көрүү үчүн сенсордук тактанын ылдыйкы оң бурчун таптаңыз"</string>
<string name="trackpad_pointer_speed" msgid="7786579408631352625">"Көрсөткүчтүн ылдамдыгы"</string>
<string name="pointer_fill_style" msgid="8413840032931637595">"Көрсөткүчтү толтуруу стили"</string>
- <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Көрсөткүчтү толтуруу стилин карага өзгөртүү"</string>
- <string name="pointer_fill_style_green_button" msgid="3731413496528067979">"Көрсөткүчтү толтуруу стилин жашылга өзгөртүү"</string>
- <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Көрсөткүчтү толтуруу стилин сарыга өзгөртүү"</string>
- <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Көрсөткүчтү толтуруу стилин кызгылтымга өзгөртүү"</string>
- <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Көрсөткүчтү толтуруу стилин көккө өзгөртүү"</string>
+ <string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Толтуруу стилин карага өзгөртүү"</string>
+ <string name="pointer_fill_style_green_button" msgid="3731413496528067979">"Толтуруу стилин жашылга өзгөртүү"</string>
+ <string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Толтуруу стилин сарыга өзгөртүү"</string>
+ <string name="pointer_fill_style_pink_button" msgid="4106218142489635673">"Толтуруу стилин күлгүнгө өзгөртүү"</string>
+ <string name="pointer_fill_style_blue_button" msgid="5594958078854032785">"Толтуруу стилин көккө өзгөртүү"</string>
<string name="trackpad_touch_gesture" msgid="8641725062131922497">"Сенсордук тактанын жаңсоолорун үйрөнүү"</string>
<string name="keywords_touchpad" msgid="8159846254066666032">"трекпад, трекпад, чычкан, курсор, сыдыруу, сүрүү, оң баскычын чыкылдатуу, чыкылдатуу, көрсөткүч"</string>
<string name="keywords_trackpad_bottom_right_tap" msgid="1285062446073929305">"оң баскычын чыкылдатуу, таптап коюу"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Колдонуучу тандаган: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Кеп"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Көрсөткүчтүн ылдамдыгы"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Оюн контроллери"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Дирилдөөнү багыттоо"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Туташкан учурларда, дирилдөөнү оюн көзөмөлдөгүчүнө жөнөтүү"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Баары бир улантуу"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Жок"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Чоңойтуу параметрлери"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Бир манжа менен жылдыруу"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Лупаны 1 манжаңыз менен жылдырыңыз"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Экрандын башка бөлүгүнө 1 манжаңыз менен жылыңыз"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Чоңойтуу аймагын бир манжаңыз менен сүйрөп жылдырыңыз."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Чоңойтуу аймагын эки манжаңыз менен сүйрөп жылдырыңыз."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Экрандын бир бөлүгүн гана чоңойткондо жеткиликсиз"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Чоңойтуп/кичирейтүү үчүн баскычты басыңыз"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Экранды оңой чоңойто аласыз"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Жакындатуу үчүн:</b><br/> {0,number,integer}. Чоңойтуу режимин иштетүү үчүн ыкчам баскычты басыңыз<br/> {1,number,integer}. Экранды басыңыз<br/> {2,number,integer}. Экрандын башка бөлүгүнө 2 манжаңыз менен жылыңыз<br/> {3,number,integer}. Чоңойтуп/кичирейтүү үчүн 2 манжаңызды бириктириңиз<br/> {4,number,integer}. Чоңойтуу режиминен чыгуу үчүн ыкчам баскычты басыңыз<br/><br/> <b>Убактылуу жакындатуу үчүн:</b><br/> {0,number,integer}. Чоңойтуу режими толук экранга орнотулганын текшериңиз<br/> {1,number,integer}. Чоңойтуу режимин иштетүү үчүн ыкчам баскычты басыңыз<br/> {2,number,integer}. Экрандын бир жерин коё бербей басып туруңуз<br/> {3,number,integer}. Экрандын башка бөлүгүнө манжаңыз менен жылыңыз<br/> {4,number,integer}. Чоңойтуу режиминен чыгуу үчүн манжаңызды көтөрүп коюңуз"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Жакындатуу үчүн:</b><br/> {0,number,integer}. Чоңойтуу режимин иштетүү үчүн ыкчам баскычты басыңыз<br/> {1,number,integer}. Экранды басыңыз<br/> {2,number,integer}. Экрандын башка бөлүгүнө 2 манжаңыз менен жылыңыз<br/> {3,number,integer}. Чоңойтуп/кичирейтүү үчүн 2 манжаңызды бириктириңиз<br/> {4,number,integer}. Чоңойтуу режиминен чыгуу үчүн ыкчам баскычты басыңыз<br/><br/> Ошондой эле, убактылуу жакындатып жана башка аракеттерди аткара аласыз."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Жакындатуу үчүн:</b><br/> {0,number,integer}. Чоңойтуу режимин иштетүү үчүн ыкчам баскычты басыңыз<br/> {1,number,integer}. Экранды басыңыз<br/> {2,number,integer}. Экрандын башка бөлүгүнө 1 же 2 манжаңыз менен жылыңыз<br/> {3,number,integer}. Чоңойтуп/кичирейтүү үчүн 2 манжаңызды бириктириңиз<br/> {4,number,integer}. Чоңойтуу режиминен чыгуу үчүн ыкчам баскычты басыңыз<br/><br/> Ошондой эле, убактылуу жакындатып жана башка аракеттерди аткара аласыз."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Бул функциянын жардамы менен, экрандагы нерсени чоңойтуп, кичирейте аласыз.\n\n"<b>"Чоңойткуңуз келсе"</b>", кызматты иштетип туруп, экрандын бир жерин басыңыз.\n"<ul><li>"Чоңойгон жерди ары-бери жылдырып көргүңүз келсе, экранды эки же үч манжаңыз менен сүрүңүз."</li>\n<li>"Чоңойтуп/кичирейтүү үчүн эки же үч манжаңызды бириктирип/ажыратыңыз."</li></ul>\n\n<b>"Убактылуу чоңойтуп/кичирейтүү үчүн"</b>" кызматты иштетип, экрандын бир жерин коё бербей басып туруңуз.\n"<ul><li>"Экранды жылдырып көрүү үчүн аны манжаңыз менен сүрүңүз."</li>\n<li>"Кызматты өчүрүү үчүн манжаңызды көтөрүңүз."</li></ul>\n\n"Баскычтопто же чабыттоо тилкесинде көрүнүш чоңойбойт."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g> ичинен <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>-барак"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Атайын мүмкүнчүлүктөр ыкчам баскычы"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Маанилүү байланыштар менен колдонмолордон гана билдирмелерди алып турасыз"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Иштетүү түрүн тандоо"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Убакыт"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Мис., \"9:30 – 17:00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Жылнаама"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Мис., \"Жеке жылнаама\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Режим түзүү"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Жеке"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Билдирмелерди чектөө"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\"Тынчымды алба\" режимин күйгүзүү"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Ойготкучтар менен медиа добуштар үзгүлтүккө учуратышы мүмкүн"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Ырааттамалар"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Ырааттамаларды өчүрүү"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Өчүрүү"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Түзөтүү"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Ырааттамалар"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Ырааттама"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Жылнаама кошуу"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Жылнааманы колдонуу"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"График"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"График түзүү"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"График"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> с. <xliff:g id="MINUTES">%2$d</xliff:g> мүн."</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Автоматтык түрдө күйөт"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Ырааттама"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Телефондун үнүн өчүрүүнү жөндөө"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"\"Тынчымды алба\" режиминин эрежелерин коюу"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Үнү чыккан билдирмелерге уруксат берүү"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Визуалдык билдирмелерди бөгөттөө"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Визуалдык сигнал иштетилсин"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Сиз ала турган билдирмелер"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Алагды болбоңуз"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Кошумча аракеттер"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Көрүнүш параметрлери"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Көрүнүш параметрлери"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"караңгы теманы иштетүү"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Текстти күңүрт фондо ачык түстө көрүү үчүн OS менен колдонмолорду которуңуз. Бул көзүңүзгө доо кетирбей, айрым түзмөктөрдө батареяны олуттуу үнөмдөөгө жардам бериши мүмкүн"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Көрүнүш өзгөргөн жок}=1{{effect_1}}=2{{effect_1} жана {effect_2}}=3{{effect_1}, {effect_2} жана {effect_3}}other{{effect_1}, {effect_2} жана дагы #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Билдирмелерди чыпкалоо"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Билдирмелер чыпкаланган жок"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Чыпкаланган билдирмелерди көрсөтүү параметрлери"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"\"Тынчымды алба\" режими күйүп турганда"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Билдирмелердин үнү чыкпайт"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"билдирмени ачуу"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Билдирмени тындырууга уруксат берүү"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Колдонмонун сүрөтчөсүндөгү билдирменин белгиси"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Билдирмелердин топтомдору"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Калкып чыкма билдирмелер"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Калкып чыкма билдирмелер"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Калкып чыкма билдирмелерди көрсөтүү"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Категориялар"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Башка"</string>
<string name="no_channels" msgid="4716199078612071915">"Бул колдонмодон эч кандай билдирме келген жок"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Колдонулбаган категорияларды көрсөтүү"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Колдонмонун кошумча параметрлери"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Колдонулбаган категорияларды көрсөтүү"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Колдонулбаган категорияларды жашыруу"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Баары"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Колдонмолорго өзгөртүп коюуга уруксат берүү"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"\"Тынчымды алба\" режими таасир этпеген колдонмолор"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Дагы колдонмолорду тандаңыз"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} чейин бир саатка \"Ойготкучтар гана\" режимине өзгөртүү}other{{time} чейин # саатка \"Ойготкучтар гана\" режимине өзгөртүү}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> чейин \"Ойготкучтар гана\" режимин иштетүү"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Ар дайым үзгүлтүккө учуратуу режимине өзгөртүү"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Аталышын өзгөртүү"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Сүрөтчөнү өзгөртүү"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Сүрөтчөнү өзгөртүү"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Эскертүү"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Жабуу"</string>
<string name="device_feedback" msgid="5351614458411688608">"Түзмөк тууралуу пикир билдирүү"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Кутуча"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Батарея"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Параметрлер панели"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Иш такта режимин күйгүзүү"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Иш тактанын сынамык режими көмөкчү экрандарда мажбурлап иштетилет"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Эркин формадагы терезелерди түзүүнү иштетүү"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Эркин формадагы терезелерди түзүүнү иштетиңиз."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Эркин формадагы терезелерди экинчи экранда түзүүнү иштетүү"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Эркин формадагы терезелерди кошумча экранда гана түзүүнү иштетүү."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Өлчөмү өзгөрбөгөн колдонмолорду бир нече терезеде иштетүү"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Өлчөмү өзгөрбөгөн колдонмолор бир нече терезеде көрүнөт"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Түнкү режимди мажбурлап иштетүү функциясын өзгөртүп коюу"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Бул түзмөктүн маалымат камтылган катуу диск бөлүгү 16Kб өлчөмүндөгү иштеп чыгуучунун параметрин колдонуудан мурун ext4 форматына өзгөртүлүшү керек. Бул режимде программанын бүтүндүгүнө кепилдик берилбейт. Операциялык тутумду жүктөгүчтүн кулпусу ачылып турганда телефондо сакталган бардык маалыматтар коркунучта болушу мүмкүн. 16Kб параметрин иштетүү үчүн дагы бир жолу өчүрүп-күйгүзүү талап кылынат. Бул режимге өткөндөн кийин, бир жолу өчүрүп-күйгүзүү менен 4Kб жана 16Kб режимдеринин арасында которула аласыз. Бул режимдерде айрым функциялар өчүрүлөт, андыктан кээ бир колдонмолор иштебей калышы мүмкүн. Түзмөктү өндүрүш режимине кайтаруу үчүн кайра 4Кб режимине которулуп, түзмөктү баштапкы абалга келтирген операциялык тутумду жүктөгүчтү кулпулашыңыз керек болот. Түзмөк Android\'ге ийгиликтүү жүктөлгөндөн кийин, иштеп чыгуучунун параметрлеринен OEM ачууну өчүрүңүз. Ырастоодон кийин түзмөк тазаланат жана файл системасы ext4 форматына өзгөртүлөт. Бул процесс аяктагандан кийин, 16Кб режимин кайра иштетүү үчүн кайтыңыз."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Бардык нерселерди өчүрүү"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Кайра форматталбай жана катуу диск бөлүгүндөгү маалымат ext4 үчүн тазаланбай калды."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16Kб режими үчүн операциялык тутумду жүктөгүчтүн кулпусун ачуу талап кылынат"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Операциялык тутумду жүктөгүчтүн кулпусун ачуу талап кылынат"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Беттин өлчөмүн 16 кБка өзгөртүп, иштеп чыгуучуларга арналган параметрди колдонуудан мурун, түзмөктөгү операциялык системаны жүктөгүчтүн кулпусун ачыңыз. Бул режимде программанын бүтүндүгүнө кепилдик бере албайбыз. Операциялык системаны жүктөгүчтүн кулпусу ачылып турганда телефондо сакталган бардык нерселер коркунучта болушу мүмкүн. Беттин өлчөмүн 16 кБ көбөйткөндө, колдонуучунун бардык нерселери жана параметрлери өчүп калат. Операциялык системаны жүктөгүчтүн кулпусу ачылгандан кийин түзмөктү эки жолу өчүрүп күйгүзүшүңүз керек. Бул режимде беттин өлчөмүн 4 кБтан 16 кБка которуу үчүн түзмөктү бир жолу өчүрүп күйгүзүшүңүз керек. Кээ бир функциялар өчүп калгандыктан, айрым колдонмолор иштебей калышы мүмкүн. Түзмөктү баштапкы абалга кайтаруу үчүн беттин өлчөмүн кайра 4 кБ режимине которуп, операциялык системаны жүктөгүчтү кулпулашыңыз керек. Операциялык системаны жүктөгүчтүн кулпусун ачып, кайталап көрүңүз. Бул жөнүндө кененирээк маалымат алгыңыз келсе, бул жерге өтүңүз: <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Беттен көз карандысыз 4Кб өлчөмүндөгү режимди колдонуу"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Беттен көз карандысыз режиминин 4Кб өлчөмүндөгү режиминдесиз. Бул режимде программанын бүтүндүгүнө кепилдик берилбейт. Операциялык тутумду жүктөгүчтүн кулпусу ачылып турганда телефондо сакталган бардык маалыматтар коркунучта болушу мүмкүн. Бул режимдерде айрым функциялар өчүрүлөт, андыктан кээ бир колдонмолор иштебей калышы мүмкүн. Өндүрүш режимине кайра кирүү үчүн, түзмөктүн операциялык тутумунун жүктөгүчүн кулпулашыңыз керек. Көбүрөөк окуу үчүн таптаңыз."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Беттен көз карандысыз режиминин 4Кб өлчөмүндөгү режиминдесиз. Бул режимде программанын бүтүндүгүнө кепилдик берилбейт. Операциялык тутумду жүктөгүчтүн кулпусу ачылып турганда телефондо сакталган бардык маалыматтар коркунучта болушу мүмкүн. Бул режимдерде айрым функциялар өчүрүлөт, андыктан кээ бир колдонмолор иштебей калышы мүмкүн. Өндүрүш режимине кайра кирүү үчүн, түзмөктүн операциялык тутумунун жүктөгүчүн кулпулашыңыз керек. Бул түзмөктү кайра баштапкы абалга келтирип, өндүрүш параметрлерине кайтарат. Түзмөк Android\'ге ийгиликтүү жүктөлгөндөн кийин, иштеп чыгуучунун параметрлеринен OEM ачууну өчүрүңүз. Түзмөк Android\'ге жүктөлбөй калса же туруксуз болсо, <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> дарегиндеги баштапкы сүрөттөр менен акыркы версияга кайтарып, \"Түзмөктү тазалоо\", \"Операциялык тутумду жүктөгүчтү кулпулоо\" жана \'Бардык бөлүктөрүн мажбурлап программалоо\" параметрлерин тандаңыз."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"16 кБ өлчөмүндөгү бетке байланышпаган режимди колдонуу"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Беттен көз карандысыз режимдин 16Кб режиминдесиз. Бул режимде программанын бүтүндүгүнө кепилдик берилбейт. Операциялык тутумду жүктөгүчтүн кулпусу ачылып турганда телефондо сакталган бардык маалыматтар коркунучта болушу мүмкүн. Бул режимдерде айрым функциялар өчүрүлөт, андыктан кээ бир колдонмолор иштебей калышы мүмкүн. Өндүрүш режимине кайра кирүү үчүн 4Кб режимине кайтып, андан кийин түзмөктүн операциялык тутумунун жүктөгүчүн кулпулашыңыз керек. Көбүрөөк окуу үчүн таптаңыз."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"16 кБ өлчөмдүү беттин эс тутумуна байланышпаган режимде иштеп жатасыз. Бул режимде программанын бүтүндүгүнө кепилдик бере албайбыз. Операциялык системаны жүктөгүчтүн кулпусу ачылып турганда, телефондо сакталган бардык нерселер коркунучта мүмкүн. Бул режимдерде айрым функциялар өчүрүлгөндүктөн, кээ бир колдонмолор иштебей калышы мүмкүн. Өндүрүш режимине кайтуу үчүн беттин өлчөмүн 4 кБ чейин азайтып, түзмөктүн операциялык системасын жүктөгүчтү кулпулап коюңуз. Натыйжада, түзмөктүн параметрлери баштапкы абалга коюлат. Android ишке киргизилгенден кийин, иштеп чыгуучунун параметрлеринен жүктөгүчтү кулпулап коюңуз. Түзмөк жакшы иштебей же Android ишке киргизилбей жатса, түзмөктү тазалап салыңыз. Ал үчүн <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> же use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> дарегиндеги баштапкы сүрөттөрдү колдонуңуз. Андан соң \"Түзмөктү тазалоо\", \"Операциялык системаны жүктөгүчтү кулпулоо\" жана \'Бардык бөлүмдөрдү мажбурлап программалоо\" параметрлерин тандаңыз."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Беттин көлөмүнө көз каранды эмес режимдин 16 Кб режиминдесиз. Бул режимде программанын бүтүндүгүнө кепилдик берилбейт. Операциялык тутумду жүктөгүчтүн кулпусу ачылып турганда телефондо сакталган бардык маалыматтар коркунучта болушу мүмкүн. Бул режимдерде айрым функциялар өчүрүлөт, андыктан кээ бир колдонмолор иштебей калышы мүмкүн. Өндүрүш режимине кайра кирүү үчүн 4 Кб режимине кайтып, андан кийин түзмөктүн операциялык тутумунун жүктөгүчүн кулпулашыңыз керек. Көбүрөөк окуу үчүн таптаңыз."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Беттин көлөмүнө көз каранды эмес режимдин 16 Кб режиминдесиз. Бул режимде программанын бүтүндүгүнө кепилдик берилбейт. Операциялык тутумду жүктөгүчтүн кулпусу ачылып турганда телефондо сакталган бардык маалыматтар коркунучта болушу мүмкүн. Бул режимдерде айрым функциялар өчүрүлөт, андыктан кээ бир колдонмолор иштебей калышы мүмкүн. Өндүрүш режимине кайра кирүү үчүн 4 Кб режимине кайтып, андан кийин түзмөктүн операциялык тутумунун жүктөгүчүн кулпулашыңыз керек. Бул түзмөктү кайра баштапкы абалга келтирип, өндүрүш параметрлерине кайтарат. Түзмөк Android\'ге ийгиликтүү жүктөлгөндөн кийин, иштеп чыгуучунун параметрлеринен OEM ачууну өчүрүңүз. Түзмөк Android\'ге жүктөлбөй калса же туруксуз болсо, <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> дарегиндеги баштапкы сүрөттөр менен акыркы версияга кайтарып, \"Түзмөктү тазалоо\", \"Операциялык тутумду жүктөгүчтү кулпулоо\" жана \'Бардык бөлүктөрүн мажбурлап программалоо\" параметрлерин тандаңыз."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Беттен көз карандысыз 16Кб өлчөмүндөгү режим"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Дагы окуу"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Мүчүлүштүк тууралуу кабар берүүнү иштеткич"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Колдонмону кадап коюу функциясын иштетүү"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Иштеп чыгуучулардын параметрлерин колдонуу"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Басып чыгаруу кызматын колдонуу"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Бир нече колдонуучуга уруксат берүү"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"уруксат берүү, бир нече, колдонуучу, уруксат, көп"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"бир нече, колдонуучулар, профилдер, адамдар, аккаунттар, которуштуруу, көп"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Мүчүлүштүктөрдү Wi-Fi аркылуу оңдоону колдонуу"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Планшет док бекетке туташып турганда экранда эмне көрүнөрүн тандаңыз. Көшөгө иштетилгенде, түзмөк көбүрөөк кубат керектеши мүмкүн."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Ыңгайлаштыруу"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> ыңгайлаштыруу"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Эркин форма режиминде колдоону иштетүү үчүн өчүрүп-күйгүзүү керек."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Кошумча экрандарда иш такта режимин мажбурлап иштетүү үчүн өчүрүп-күйгүзүү керек."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Эркин формадагы эски терезелерди түзүүнү иштетүү үчүн өчүрүп-күйгүзүү талап кылынат."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Эркин формадагы терезелерди өзгөртүү үчүн өчүрүп-күйгүзүү талап кылынат."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Эркин формадагы терезелерди кошумча экрандарда түзүүнү иштетүү үчүн өчүрүп-күйгүзүү талап кылынат."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Азыр өчүрүп-күйгүзүү"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Кийинчерээк өчүрүп-күйгүзүү"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Мейкиндиктүү үн"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Агымды угуу"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> түзмөгүндө угуу үчүн аудио агымдын QR кодун скандаңыз"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Чогуу угуп жатканда сырсөздү түзөтүүгө болбойт. Сырсөздү өзгөртүү үчүн, адегенде чогуу угууну өчүрүңүз."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-lo/arrays.xml b/res/values-lo/arrays.xml
index e9cf0b9..8c5f677 100644
--- a/res/values-lo/arrays.xml
+++ b/res/values-lo/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"ເວລານອນ"</item>
+ <item msgid="4152450357280759894">"ການຂັບຂີ່"</item>
+ <item msgid="7096549258219399423">"ສົມຈິງ"</item>
+ <item msgid="2760716776980432977">"ທີ່ມີການຈັດການ"</item>
+ <item msgid="601734478369121764">"ດາວ"</item>
+ <item msgid="6243809315432780521">"ປະຕິທິນ"</item>
+ <item msgid="4913577903148415331">"ເວລາ"</item>
+ <item msgid="3653377604690057780">"ໂຮງລະຄອນ"</item>
+ <item msgid="3843711267408385410">"ດອກໄມ້"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 6bfe1c0..cb57011 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"ການຕັ້ງຄ່າອຸປະກອນຊ່ວຍຟັງ"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"ທາງລັດ, ການໃຊ້ຮ່ວມກັນໄດ້ຂອງເຄື່ອງຊ່ວຍຟັງ"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"ຄ່າທີ່ກຳນົດລ່ວງໜ້າ"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"ບໍ່ມີພຣີເຊັດທີ່ນັກສຳຜັດວິທະຍາຂອງທ່ານຕັ້ງໂປຣແກຣມໄວ້"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"ບໍ່ສາມາດອັບເດດການຕັ້ງຄ່າລ່ວງໜ້າໄດ້"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ເອົ້າພຸດສຽງ"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ກ່ຽວກັບເອົ້າພຸດສຽງ"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"ເພີ່ມໃບໜ້າ ແລະ <xliff:g id="WATCH">%s</xliff:g> ແລ້ວ"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"ເພີ່ມໃບໜ້າ, ລາຍນິ້ວມື ແລະ <xliff:g id="WATCH">%s</xliff:g> ແລ້ວ"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"ເພີ່ມໃບໜ້າ, ລາຍນິ້ວມື ແລະ <xliff:g id="WATCH">%s</xliff:g> ແລ້ວ"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"ຕ້ອງດຳເນີນການເນື່ອງຈາກການກວດສອບຕົວຕົນເປີດຢູ່"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"ການປົດລັອກ Authenticator ຈາກທາງໄກ"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"ເພີ່ມໂມງແລ້ວ"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"ຕັ້ງຄ່າໂມງຂອງທ່ານ"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"ສຶກສາເພີ່ມເຕີມກ່ຽວກັບການປົດລັອກດ້ວຍໂມງ"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"ເພີ່ມໂມງ"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"ລຶບໂມງອອກ"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ປົດລັອກດ້ວຍລາຍນິ້ວມື ແລະ ໜ້າ"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ປົດລັອກດ້ວຍໜ້າ ແລະ ລາຍນິ້ວມື"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"ການປົດລັອກດ້ວຍໜ້າ ແລະ ລາຍນິ້ວມືສຳລັບການເຮັດວຽກ"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ຕ້ອງຕັ້ງຄ່າ"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"ເພີ່ມໜ້າ ແລະ ລາຍນິ້ວມືແລ້ວ"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"ຕິດຕັ້ງແອັບ"</b>\n"ຕິດຕັ້ງແອັບທີ່ທ່ານຕ້ອງການເກັບໄວ້ເປັນສ່ວນຕົວໃນພື້ນທີ່ຂອງທ່ານ"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"ຂໍ້ຄວນຈື່"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"ແອັບຈະຢຸດເຮັດວຽກເມື່ອທ່ານລັອກພື້ນທີ່ຂອງທ່ານ"</b>\n"ເມື່ອທ່ານລັອກພື້ນທີ່ຂອງທ່ານ, ຈະເຮັດໃຫ້ແອັບໃນພື້ນທີ່ດັ່ງກ່າວຢຸດເຮັດວຽກ ແລະ ທ່ານກໍຈະບໍ່ໄດ້ຮັບການແຈ້ງເຕືອນຈາກແອັບເຫຼົ່ານັ້ນ"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"ພື້ນທີ່ສ່ວນບຸກຄົນບໍ່ເໝາະສົມກັບແອັບທີ່ຕ້ອງເຮັດວຽກໃນພື້ນຫຼັງ ຫຼື ສົ່ງການແຈ້ງເຕືອນສຳຄັນ, ເຊັ່ນ: ແອັບທາງການແພດ. ນີ້ແມ່ນຍ້ອນວ່າການແຈ້ງເຕືອນ ແລະ ການເຄື່ອນໄຫວໃນພື້ນຫຼັງໄດ້ຢຸດລົງເມື່ອພື້ນທີ່ຂອງທ່ານຖືກລັອກ.\n\nແອັບໃນພື້ນທີ່ສ່ວນບຸກຄົນຂອງທ່ານຈະບໍ່ປາກົດຢູ່ໃນຕົວຈັດການສິດອະນຸຍາດ, ແຜງໜ້າປັດຄວາມເປັນສ່ວນຕົວ ແລະ ການຕັ້ງຄ່າອື່ນໆ ເມື່ອພື້ນທີ່ສ່ວນບຸກຄົນຂອງທ່ານຖືກລັອກ.\n\nບໍ່ສາມາດຍ້າຍພື້ນທີ່ສ່ວນບຸກຄົນຂອງທ່ານໄປໃສ່ອຸປະກອນໃໝ່ໄດ້. ທ່ານຈະຕ້ອງຕັ້ງຄ່າພື້ນທີ່ສ່ວນບຸກຄົນໃໝ່ຫາກທ່ານຕ້ອງການໃຊ້ຢູ່ອຸປະກອນອື່ນ.\n\nໃຜກໍຕາມທີ່ເຊື່ອມຕໍ່ອຸປະກອນຂອງທ່ານກັບຄອມພິວເຕີ ຫຼື ຕິດຕັ້ງແອັບທີ່ເປັນອັນຕະລາຍຢູ່ອຸປະກອນຂອງທ່ານອາດສາມາດເຂົ້າເຖິງພື້ນທີ່ສ່ວນບຸກຄົນຂອງທ່ານໄດ້."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"ພື້ນທີ່ສ່ວນບຸກຄົນບໍ່ເໝາະສົມກັບແອັບທີ່ຕ້ອງເຮັດວຽກໃນພື້ນຫຼັງ ຫຼື ສົ່ງການແຈ້ງເຕືອນສຳຄັນ, ເຊັ່ນ: ແອັບທາງການແພດ. ນີ້ແມ່ນຍ້ອນວ່າການແຈ້ງເຕືອນ ແລະ ການເຄື່ອນໄຫວໃນພື້ນຫຼັງໄດ້ຢຸດລົງເມື່ອພື້ນທີ່ຂອງທ່ານຖືກລັອກ.\n\nແອັບໃນພື້ນທີ່ສ່ວນບຸກຄົນຂອງທ່ານຈະບໍ່ປາກົດຢູ່ໃນຕົວຈັດການສິດອະນຸຍາດ, ແຜງໜ້າປັດຄວາມເປັນສ່ວນຕົວ ແລະ ການຕັ້ງຄ່າອື່ນໆ ເມື່ອພື້ນທີ່ສ່ວນບຸກຄົນຖືກລັອກ.\n\nບໍ່ສາມາດກູ້ຄືນພື້ນທີ່ສ່ວນບຸກຄົນຂອງທ່ານໄປໃສ່ອຸປະກອນໃໝ່ໄດ້. ທ່ານຈະຕ້ອງຕັ້ງຄ່າພື້ນທີ່ອີກລາຍການໜຶ່ງຫາກທ່ານຕ້ອງການໃຊ້ພື້ນທີ່ນັ້ນໃນອຸປະກອນອື່ນ.\n\nໃຜກໍຕາມທີ່ເຊື່ອມຕໍ່ອຸປະກອນຂອງທ່ານກັບຄອມພິວເຕີ ຫຼື ຕິດຕັ້ງແອັບທີ່ປະສົງຮ້າຍໃນອຸປະກອນຂອງທ່ານອາດເຂົ້າເຖິງພື້ນທີ່ສ່ວນບຸກຄົນຂອງທ່ານໄດ້."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"ສຶກສາເພີ່ມເຕີມກ່ຽວກັບພື້ນທີ່ສ່ວນບຸກຄົນ"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"ຂັ້ນຕອນນີ້ຈະໃຊ້ເວລາໄລຍະໜຶ່ງ"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"ກຳລັງຕັ້ງຄ່າພື້ນທີ່ສ່ວນຕົວ…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"ຣີສະຕາດອຸປະກອນບໍ?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"ການບັນທຶກລາຍລະອຽດຂອງ NFC ແມ່ນສຳລັບຈຸດປະສົງການພັດທະນາເທົ່ານັ້ນ. ຂໍ້ມູນເພີ່ມເຕີມຂອງ NFC ຈະຮວມຢູ່ໃນລາຍງານຂໍ້ຜິດພາດ, ເຊິ່ງອາດມີຂໍ້ມູນສ່ວນຕົວ. ຣີສະຕາດອປະກອນເພື່ອປ່ຽນການຕັ້ງຄ່ານີ້."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"ຣີສະຕາດ"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"ການສົ່ງສັນຍານ"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"ແວ່ນສະທ້ອນ"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"ເປີດໃຊ້ງານການສະແດງພາບໄຮ້ສາຍ"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"ປັບປ່ຽນໄດ້"</string>
<string name="brightness" msgid="6216871641021779698">"ລະດັບຄວາມແຈ້ງ"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"ປັບຄວາມແຈ້ງອັດຕະໂນມັດ"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"ກ່ຽວກັບຄຸນສົມບັດປັບຄວາມແຈ້ງອັດຕະໂນມັດ"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"ຄວາມແຈ້ງໜ້າຈໍຂອງທ່ານຈະຖືກປັບໂດຍອັດຕະໂນມັດໂດຍອ້າງອີງຈາກສະພາບແວດລ້ອມ ແລະ ກິດຈະກຳທີ່ທ່ານເຮັດ. ທ່ານສາມາດຍ້າຍຕົວເລື່ອນດ້ວຍຕົນເອງເພື່ອຊ່ວຍໃຫ້ລະບົບຮຽນຮູ້ການຕັ້ງຄ່າຂອງທ່ານໄດ້."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"ເປີດ"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"ປິດ"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"ຕົວເລືອກ"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"ການຊ່ວຍເຂົ້າເຖິງ"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"ແປ້ນພິມພາຍນອກ"</string>
- <string name="show_ime" msgid="4334255501724746849">"ໃຊ້ແປ້ນພິມຢູ່ໜ້າຈໍ"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"ປະມັນໄວ້ໃນໜ້າຈໍເມື່ອໃຊ້ແປ້ນພິມພາຍນອກ"</string>
<string name="bounce_keys" msgid="7419450970351743904">"ປຸ່ມດີດກັບ"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"ແປ້ນພິມຈະລະເວັ້ນການກົດປຸ່ມດຽວຊ້ຳໆຢ່າງວ່ອງໄວພາຍໃນ <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"ເພີ່ມໄລຍະເວລາໃນການກົດປຸ່ມ"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"ຜູ້ໃຊ້ໄດ້ເລືອກ: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"ສຽງເວົ້າ"</string>
<string name="pointer_speed" msgid="7398649279282675718">"ຄວາມໄວລູກສອນ"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"ມືເກມ"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"ປ່ຽນເສັ້ນທາງການສັ່ນເຕືອນ"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Send vibration to game controller when connected"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"ຢືນຢັນດຳເນີນການຕໍ່"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"ຍົກເລີກ"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"ການຕັ້ງຄ່າການຂະຫຍາຍ"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"ການເລື່ອນດ້ວຍນິ້ວດຽວ"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"ໃຊ້ 1 ນິ້ວຍ້າຍແວ່ນຂະຫຍາຍ"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"ໃຊ້ 1 ນິ້ວລາກເພື່ອຍ້າຍໄປອ້ອມຮອບໜ້າຈໍ"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"ຍ້າຍພື້ນທີ່ການຂະຫຍາຍໂດຍການລາກໜຶ່ງນິ້ວ."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"ຍ້າຍພື້ນທີ່ການຂະຫຍາຍໂດຍການລາກສອງນິ້ວ."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"ບໍ່ສາມາດໃຊ້ໄດ້ໃນລະຫວ່າງທີ່ກຳລັງຂະຫຍາຍພາກສ່ວນຂອງໜ້າຈໍ"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ແຕະປຸ່ມເພື່ອຊູມ"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"ຊູມເຂົ້າໄວໆຢູ່ໜ້າຈໍເພື່ອເຮັດໃຫ້ເນື້ອຫາໃຫຍ່ຂຶ້ນ"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>ເພື່ອຊູມເຂົ້າ:</b><br/> {0,number,integer}. ໃຊ້ທາງລັດເພື່ອເລີ່ມການຂະຫຍາຍ<br/> {1,number,integer}. ແຕະໃສ່ໜ້າຈໍ<br/> {2,number,integer}. ລາກ 2 ນິ້ວເພື່ອເລື່ອນໄປມາຢູ່ໜ້າຈໍ<br/> {3,number,integer}. ບີບດ້ວຍ 2 ນິ້ວເພື່ອປັບແກ້ການຊູມ<br/> {4,number,integer}. ໃຊ້ທາງລັດເພື່ອຢຸດການຂະຫຍາຍ<br/><br/><b>ເພື່ອຊູມເຂົ້າຊົ່ວຄາວ:</b><br/> {0,number,integer}. ກວດສອບວ່າປະເພດການຂະຫຍາຍຂອງທ່ານແມ່ນຕັ້ງເປັນເຕັມຈໍແລ້ວ<br/> {1,number,integer}. ໃຊ້ທາງລັດເພື່ອເລີ່ມການຂະຫຍາຍ<br/> {2,number,integer}. ແຕະຢູ່ບ່ອນໃດກໍໄດ້ຢູ່ໜ້າຈໍຄ້າງໄວ້<br/> {3,number,integer}. ລາກນິ້ວເພື່ອເລື່ອນໄປມາຢູ່ໜ້າຈໍ<br/> {4,number,integer}. ຍົກນິ້ວຂຶ້ນເພື່ອຢຸດການຂະຫຍາຍ"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>ເພື່ອຊູມເຂົ້າ:</b><br/> {0,number,integer}. ໃຊ້ທາງລັດເພື່ອເລີ່ມການຂະຫຍາຍ<br/> {1,number,integer}. ແຕະໜ້າຈໍ<br/> {2,number,integer}. ໃຊ້ 2 ນິ້ວລາກເພື່ອຍ້າຍໄປອ້ອມຮອບໜ້າຈໍ<br/> {3,number,integer}. ໃຊ້ 2 ນິ້ວບີບເພື່ອປັບການຊູມ<br/> {4,number,integer}. ໃຊ້ທາງລັດເພື່ອຢຸດການຂະຫຍາຍ<br/><br/> ທ່ານຍັງສາມາດຊູມເຂົ້າຊົ່ວຄາວ ແລະ ເຮັດສິ່ງອື່ນໆໄດ້ນຳ."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>ເພື່ອຊູມເຂົ້າ:</b><br/> {0,number,integer}. ໃຊ້ທາງລັດເພື່ອເລີ່ມການຂະຫຍາຍ<br/> {1,number,integer}. ແຕະໜ້າຈໍ<br/> {2,number,integer}. ໃຊ້ 1 ຫຼື 2 ນິ້ວລາກເພື່ອຍ້າຍໄປອ້ອມຮອບໜ້າຈໍ<br/> {3,number,integer}. ໃຊ້ 2 ນິ້ວບີບເພື່ອປັບການຊູມ<br/> {4,number,integer}. ໃຊ້ທາງລັດເພື່ອຢຸດການຂະຫຍາຍ<br/><br/> ທ່ານຍັງສາມາດຊູມເຂົ້າຊົ່ວຄາວ ແລະ ເຮັດສິ່ງອື່ນໆໄດ້ນຳ."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"ເມື່ອເປີດໃຊ້ການຂະຫຍາຍແລ້ວ, ທ່ານສາມາດຊູມເຂົ້າຢູ່ໜ້າຈໍຂອງທ່ານໄດ້.\n\n"<b>"ເພື່ອຊູມ"</b>", ໃຫ້ເລີ່ມການຂະຫຍາຍ, ຈາກນັ້ນແຕະໃສ່ບ່ອນໃດກໍໄດ້ຢູ່ໜ້າຈໍ.\n"<ul><li>"ລາກ 2 ນິ້ວ ຫຼື ຫຼາຍກວ່ານັ້ນເພື່ອເລື່ອນ"</li>\n<li>"ຖ່າງ 2 ນິ້ວ ຫຼື ຫຼາຍກວ່ານັ້ນເພື່ອປັບແຕ່ງການຊູມ"</li></ul>\n\n<b>"ເພື່ອຊູມຊົ່ວຄາວ"</b>", ໃຫ້ເລີ່ມການຂະຫຍາຍ, ຈາກນັ້ນແຕະໃສ່ບ່ອນໃດກໍໄດ້ຢູ່ໜ້າຈໍຄ້າງໄວ້.\n"<ul><li>"ລາກເພື່ອຍ້າຍໄປມາຢູ່ໜ້າຈໍ"</li>\n<li>"ຍົກນິ້ວຂຶ້ນເພື່ອຊູມອອກ"</li></ul>\n\n"ທ່ານບໍ່ສາມາດຊູມໃສ່ແປ້ນພິມ ຫຼື ແຖບການນຳທາງໄດ້."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"ໜ້າທີ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> ຈາກທັງໝົດ <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"ທາງລັດຂອງປຸ່ມການຊ່ວຍເຂົ້າເຖິງ"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"ຮັບການແຈ້ງເຕືອນສະເພາະຄົນ ແລະ ແອັບສຳຄັນເທົ່ານັ້ນ"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"ເລືອກປະເພດການເປີດການນຳໃຊ້"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"ເວລາ"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"ເຊັ່ນ: \"9:30 – 17:00 ໂມງ\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"ປະຕິທິນ"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"ເຊັ່ນ: \"ປະຕິທິນສ່ວນຕົວ\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"ສ້າງໂໝດ"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"ກຳນົດເອງ"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"ຈຳກັດການລົບກວນ"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"ເປີດໂໝດຫ້າມລົບກວນ"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"ສຽງໂມງປຸກ ແລະ ມີເດຍສາມາດລົບກວນໄດ້"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"ກຳນົດເວລາ"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"ລຶບກຳນົດເວລາ"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"ລຶບ"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"ແກ້ໄຂ"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"ການກຳນົດເວລາ"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"ກຳນົດເວລາ"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"ເພີ່ມປະຕິທິນ"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"ໃຊ້ປະຕິທິນຂອງທ່ານ"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"ກຳນົດເວລາ"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"ຕັ້ງກຳນົດເວລາ"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"ກຳນົດເວລາ"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ຊມ, <xliff:g id="MINUTES">%2$d</xliff:g> ນທ"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"ເປີດໃຊ້ອັດຕະໂນມັດ"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"ກຳນົດເວລາ"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"ປິດສຽງໂທລະສັບໃນບາງເວລາ"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"ຕັ້ງກົດຂອງການຫ້າມລົບກວນ"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"ອະນຸຍາດການລົບກວນທີ່ມີສຽງ"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"ບລັອກການລົບກວນທາງພາບ"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"ອະນຸຍາດສັນຍານພາບ"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"ການແຈ້ງເຕືອນທີ່ທ່ານອາດໄດ້ຮັບ"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"ມີສະມາທິຢູ່ສະເໝີ"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"ຄຳສັ່ງເພີ່ມເຕີມ"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"ການຕັ້ງຄ່າການສະແດງຜົນ"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"ຕົວເລືອກການສະແດງຜົນ"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ເປີດການນຳໃຊ້ຮູບແບບສີສັນມືດ"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"ສະຫຼັບລະບົບປະຕິບັດການ ແລະ ແອັບເພື່ອໃຊ້ຂໍ້ຄວາມສີອ່ອນເທິງພື້ນຫຼັງສີເຂັ້ມ, ເຊິ່ງອາດສະບາຍຕາຫຼາຍຂຶ້ນ ແລະ ຊ່ວຍປະຢັດແບັດເຕີຣີໄດ້ຫຼາຍໃນອຸປະກອນບາງປະເພດ"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ບໍ່ມີການປ່ຽນແປງການສະແດງຜົນ}=1{{effect_1}}=2{{effect_1} ແລະ {effect_2}}=3{{effect_1}, {effect_2} ແລະ {effect_3}}other{{effect_1}, {effect_2} ແລະ ອີກ # ລາຍການ}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"ກັ່ນຕອງການຂັດຈັງຫວະ"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"ບໍ່ໄດ້ກັ່ນຕອງການຂັດຈັງຫວະ"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ຕົວເລືອກການສະແດງຜົນສຳລັບການແຈ້ງເຕືອນທີ່ຖືກກັ່ນຕອງ"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"ເມື່ອເປີດໃຊ້ໂໝດຫ້າມລົບກວນ"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"ບໍ່ມີສຽງຈາກການແຈ້ງເຕືອນ"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"ເປີດການແຈ້ງເຕືອນ"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"ອະນຸຍາດໃຫ້ເລື່ອນການແຈ້ງເຕືອນ"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"ໄອຄອນຈຸດການແຈ້ງເຕືອນຢູ່ແອັບ"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"ກຸ່ມການແຈ້ງເຕືອນ"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Bubbles"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubbles"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"ສະແດງການສົນທະນານີ້ເປັນຟອງ"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"ໝວດໝູ່"</string>
<string name="notification_channels_other" msgid="18159805343647908">"ອື່ນໆ"</string>
<string name="no_channels" msgid="4716199078612071915">"ແອັບນີ້ຍັງບໍ່ໄດ້ໂພສການແຈ້ງເຕືອນໃດເທື່ອ"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"ສະແດງໝວດໝູ່ທີ່ບໍ່ໄດ້ໃຊ້"</string>
<string name="app_settings_link" msgid="6725453466705333311">"ການຕັ້ງຄ່າເພີ່ມເຕີມໃນແອັບ"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"ສະແດງໝວດໝູ່ທີ່ບໍ່ໄດ້ໃຊ້"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"ເຊື່ອງໝວດໝູ່ທີ່ບໍ່ໄດ້ໃຊ້"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ທັງໝົດ"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ອະນຸຍາດໃຫ້ແອັບຍົກເລີກໄດ້"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ແອັບທີ່ສາມາດລົບກວນໄດ້"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"ເລືອກແອັບເພີ່ມເຕີມ"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{ປ່ຽນເປັນໂມງປຸກພຽງແຕ່ໜຶ່ງຊົ່ວໂມງຈົນຮອດ {time} ເທົ່ານັ້ນ}other{ປ່ຽນເປັນໂມງປຸກພຽງແຕ່ # ຊົ່ວໂມງຈົນຮອດ {time} ເທົ່ານັ້ນ}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"ປ່ຽນເປັນໂມງປຸກເທົ່ານັ້ນຈົນຮອດ <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"ປ່ຽນເປັນຂັດຈັງຫວະທຸກຄັ້ງ"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"ປ່ຽນຊື່"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"ປ່ຽນໄອຄອນ"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"ປ່ຽນໄອຄອນ"</string>
<string name="warning_button_text" msgid="1274234338874005639">"ຄໍາເຕືອນ"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"ປິດ"</string>
<string name="device_feedback" msgid="5351614458411688608">"ສົ່ງຄຳຕິຊົມກ່ຽວກັບອຸປະກອນນີ້"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"ເຄສ"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"ແບັດເຕີຣີ"</string>
<string name="settings_panel_title" msgid="346363079938069215">"ແຜງການຕັ້ງຄ່າ"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"ບັງຄັບໂໝດເດັສທັອບ"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ບັງຄັບໂໝດເດັສທັອບແບບທົດລອງໃຊ້ຢູ່ໜ້າຈໍທີສອງ"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"ເປີດການນຳໃຊ້ໜ້າຈໍຮູບແບບອິດສະຫຼະ"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"ເປີດການນຳໃຊ້ການຮອງຮັບໜ້າຈໍຮູບແບບອິດສະຫຼະ."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"ເປີດການນຳໃຊ້ໜ້າຈໍຮູບແບບອິດສະຫຼະຢູ່ຈໍສະແດງຜົນສຳຮອງ"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"ເປີດການນຳໃຊ້ໜ້າຈໍຮູບແບບອິດສະຫຼະຢູ່ຈໍສະແດງຜົນສຳຮອງເທົ່ານັ້ນ."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"ເປີດການນຳໃຊ້ແບບບໍ່ສາມາດປັບຂະໜາດໃນການໃຊ້ຫຼາຍໜ້າຈໍ"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"ອະນຸຍາດໃຫ້ມີແອັບແບບບໍ່ສາມາດປັບຂະໜາດໄດ້ໃນການໃຊ້ຫຼາຍໜ້າຈໍ"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"ຍົກເລີກການບັງຄັບໃຫ້ໃຊ້ແບບມືດ"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"ພາທິຊັນຂໍ້ມູນຂອງອຸປະກອນນີ້ຈະຕ້ອງປ່ຽນແປງເປັນ ext4 ກ່ອນທີ່ຈະໃຊ້ຕົວເລືອກນັກພັດທະນາແບບ 16KB. ບໍ່ຮັບປະກັນຄວາມສົມບູນຂອງຊອບແວໃນໂໝດນີ້ ແລະ ຂໍ້ມູນໃດກໍຕາມທີ່ຈັດເກັບໃນໂທລະສັບໃນລະຫວ່າງທີ່ bootloader ປົດລັອກຢູ່ອາດມີຄວາມສ່ຽງ. ການເປີດນຳໃຊ້ຕົວເລືອກ 16KB ຈະຕ້ອງມີການປິດເປີດໃໝ່ອີກເທື່ອໜຶ່ງຫຼັງຈາກນີ້. ເມື່ອທ່ານຢູ່ໃນໂໝດນີ້ແລ້ວ, ທ່ານສາມາດປ່ຽນໄປມາລະຫວ່າງໂໝດ 4KB ແລະ 16KB ໄດ້ໂດຍການປິດເປີດໃໝ່ເທື່ອດຽວ. ຄຸນສົມບັດບາງຢ່າງອາດຖືກປິດການນຳໃຊ້ໃນໂໝດເຫຼົ່ານີ້, ດັ່ງນັ້ນບາງແອັບພລິເຄຊັນຈຶ່ງອາດບໍ່ເຮັດວຽກ. ເພື່ອໃຫ້ອຸປະກອນກັບຄືນເປັນໂໝດໂປຣດັກຊັນ, ທ່ານຈະຕ້ອງປ່ຽນກັບໄປໃຊ້ໂໝດ 4KB ຈາກນັ້ນລັອກ bootloader, ເຊິ່ງຈະຣີເຊັດອຸປະກອນເປັນຄ່າຈາກໂຮງງານ. ຫຼັງຈາກທີ່ອຸປະກອນເປີດເຂົ້າເປັນ Android ໄດ້ສຳເລັດ, ໃຫ້ປິດການນຳໃຊ້ການປົດລັອກ OEM ໃນຕົວເລືອກນັກພັດທະນາ. ອຸປະກອນຈະຖືກລ້າງຂໍ້ມູນ ແລະ ລະບົບໄຟລ໌ຈະປ່ຽນເປັນ ext4 ຫຼັງຈາກການຢືນຢັນ. ຫຼັງຈາກການດຳເນີນການນີ້ສຳເລັດ, ກະລຸນາກັບຄືນມາເປີດການນຳໃຊ້ໂໝດ 16KB ອີກເທື່ອໜຶ່ງ."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"ລຶບຂໍ້ມູນທັງໝົດ"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"ຟໍແມັດໃໝ່ ແລະ ລ້າງພາທິຊັນຂໍ້ມູນເປັນ ext4 ບໍ່ສຳເລັດ."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"ຕ້ອງປົດລັອກ Bootloader ສຳລັບໂໝດ 16KB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"ຕ້ອງປົດລັອກ Bootloader"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"ອຸປະກອນນີ້ຕ້ອງມີການປົດລັອກ bootloader ກ່ອນທີ່ຈະໃຊ້ຕົວເລືອກນັກພັດທະນາແບບ 16KB. ບໍ່ຮັບປະກັນຄວາມສົມບູນຂອງຊອບແວໃນໂໝດນີ້ ແລະ ຂໍ້ມູນໃດກໍຕາມທີ່ຈັດເກັບໃນໂທລະສັບໃນລະຫວ່າງທີ່ bootloader ປົດລັອກຢູ່ອາດມີຄວາມສ່ຽງ. ຂໍ້ມູນຜູ້ໃຊ້ ແລະ ການຕັ້ງຄ່າທັງໝົດຈະຖືກລ້າງເມື່ອເປີດນຳໃຊ້ໂໝດ 16KB. ເມື່ອປົດລັອກ bootloader ແລ້ວ, ການເປີດນຳໃຊ້ຕົວເລືອກ 16KB ຈະຕ້ອງມີການປິດເປີດໃໝ່ສອງເທື່ອ. ເມື່ອທ່ານຢູ່ໃນໂໝດນີ້ແລ້ວ, ທ່ານສາມາດປ່ຽນໄປມາລະຫວ່າງໂໝດ 4KB ແລະ 16KB ໄດ້ໂດຍການປິດເປີດໃໝ່ເທື່ອດຽວ. ຄຸນສົມບັດບາງຢ່າງອາດຖືກປິດການນຳໃຊ້ໃນໂໝດເຫຼົ່ານີ້, ດັ່ງນັ້ນບາງແອັບພລິເຄຊັນຈຶ່ງອາດບໍ່ເຮັດວຽກ. ເພື່ອໃຫ້ອຸປະກອນກັບຄືນເປັນໂໝດໂປຣດັກຊັນ, ທ່ານຈະຕ້ອງປ່ຽນກັບໄປໃຊ້ໂໝດ 4KB ຈາກນັ້ນລັອກ OEM/bootloader (ເຊິ່ງຈະຣີເຊັດອຸປະກອນເປັນຄ່າຈາກໂຮງງານ). ກະລຸນາປົດລັອກ bootloader ແລ້ວລອງໃໝ່. ທ່ານສາມາດເບິ່ງຄຳແນະນຳສຳລັບວິທີການນີ້ໄດ້ຢູ່ <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"ກຳລັງໃຊ້ໂໝດບໍ່ເນັ້ນການໃຊ້ໜ້າ ໂດຍໃຊ້ຂະໜາດ 4KB"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"ທ່ານຢູ່ໃນໂໝດ 4KB ຂອງໂໝດບໍ່ເນັ້ນການໃຊ້ໜ້າ. ບໍ່ຮັບປະກັນຄວາມສົມບູນຂອງຊອບແວໃນໂໝດນີ້ ແລະ ຂໍ້ມູນໃດກໍຕາມທີ່ຈັດເກັບໃນໂທລະສັບໃນລະຫວ່າງທີ່ bootloader ປົດລັອກຢູ່ອາດມີຄວາມສ່ຽງ. ຄຸນສົມບັດບາງຢ່າງອາດຖືກປິດການນຳໃຊ້ໃນໂໝດເຫຼົ່ານີ້, ດັ່ງນັ້ນບາງແອັບພລິເຄຊັນຈຶ່ງອາດບໍ່ເຮັດວຽກ. ເພື່ອກັບຄືນເປັນໂໝດໂປຣດັກຊັນອີກເທື່ອໜຶ່ງ, ທ່ານຕ້ອງລັອກ bootloader ຂອງອຸປະກອນ. ແຕະເພື່ອອ່ານເພີ່ມເຕີມ."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"ທ່ານຢູ່ໃນໂໝດ 4KB ຂອງໂໝດບໍ່ເນັ້ນການໃຊ້ໜ້າ. ບໍ່ຮັບປະກັນຄວາມສົມບູນຂອງຊອບແວໃນໂໝດນີ້ ແລະ ຂໍ້ມູນໃດກໍຕາມທີ່ຈັດເກັບໃນໂທລະສັບໃນລະຫວ່າງທີ່ bootloader ປົດລັອກຢູ່ອາດມີຄວາມສ່ຽງ. ຄຸນສົມບັດບາງຢ່າງອາດຖືກປິດການນຳໃຊ້ໃນໂໝດເຫຼົ່ານີ້, ດັ່ງນັ້ນບາງແອັບພລິເຄຊັນຈຶ່ງອາດບໍ່ເຮັດວຽກ. ເພື່ອກັບຄືນເປັນໂໝດໂປຣດັກຊັນອີກເທື່ອໜຶ່ງ, ທ່ານຕ້ອງລັອກ bootloader ຂອງອຸປະກອນ. ການດຳເນີນການນີ້ຈະຣີເຊັດອຸປະກອນເປັນຄ່າຈາກໂຮງງານອີກເທື່ອໜຶ່ງ ແລະ ກູ້ຄືນເປັນການຕັ້ງຄ່າໂປຣດັກຊັນ. ຫຼັງຈາກທີ່ອຸປະກອນເປີດເຂົ້າເປັນ Android ໄດ້ສຳເລັດ, ໃຫ້ປິດການນຳໃຊ້ການປົດລັອກ OEM ໃນຕົວເລືອກນັກພັດທະນາ. ຫາກອຸປະກອນບໍ່ສາມາດເປີດເຂົ້າເປັນ Android ຫຼື ບໍ່ສະຖຽນ, ໃຫ້ແຟລຊອຸປະກອນອີກເທື່ອໜຶ່ງໂດຍໃຊ້ຮູບພາບໂຮງງານຫຼ້າສຸດຈາກ <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ຫຼື ໃຊ້ <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ແລະ ເລືອກ \'ລ້າງຂໍ້ມູນອຸປະກອນ\', \'ລັອກ Bootloader\' ແລະ \'ບັງຄັບໃຫ້ແຟລຊທຸກພາທິຊັນ\'."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"ກຳລັງໃຊ້ໂໝດບໍ່ເນັ້ນການໃຊ້ໜ້າ ໂດຍໃຊ້ຂະໜາດ 16KB"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"ທ່ານຢູ່ໃນໂໝດ 16KB ຂອງໂໝດບໍ່ເນັ້ນການໃຊ້ໜ້າ. ບໍ່ຮັບປະກັນຄວາມສົມບູນຂອງຊອບແວໃນໂໝດນີ້ ແລະ ຂໍ້ມູນໃດກໍຕາມທີ່ຈັດເກັບໃນໂທລະສັບໃນລະຫວ່າງທີ່ bootloader ປົດລັອກຢູ່ອາດມີຄວາມສ່ຽງ. ຄຸນສົມບັດບາງຢ່າງອາດຖືກປິດການນຳໃຊ້ໃນໂໝດເຫຼົ່ານີ້, ດັ່ງນັ້ນບາງແອັບພລິເຄຊັນຈຶ່ງອາດບໍ່ເຮັດວຽກ. ເພື່ອກັບຄືນເປັນໂໝດໂປຣດັກຊັນອີກເທື່ອໜຶ່ງ, ທ່ານຕ້ອງປ່ຽນກັບໄປໃຊ້ໂໝດ 4K ຈາກນັ້ນລັອກ bootloader ຂອງອຸປະກອນ. ແຕະເພື່ອອ່ານເພີ່ມເຕີມ."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"ທ່ານຢູ່ໃນໂໝດ 16KB ຂອງໂໝດບໍ່ເນັ້ນການໃຊ້ໜ້າ. ບໍ່ຮັບປະກັນຄວາມສົມບູນຂອງຊອບແວໃນໂໝດນີ້ ແລະ ຂໍ້ມູນໃດກໍຕາມທີ່ຈັດເກັບໃນໂທລະສັບໃນລະຫວ່າງທີ່ bootloader ປົດລັອກຢູ່ອາດມີຄວາມສ່ຽງ. ຄຸນສົມບັດບາງຢ່າງອາດຖືກປິດການນຳໃຊ້ໃນໂໝດເຫຼົ່ານີ້, ດັ່ງນັ້ນບາງແອັບພລິເຄຊັນຈຶ່ງອາດບໍ່ເຮັດວຽກ. ເພື່ອກັບຄືນເປັນໂໝດໂປຣດັກຊັນອີກເທື່ອໜຶ່ງ, ທ່ານຕ້ອງປ່ຽນກັບໄປໃຊ້ໂໝດ 4K ຈາກນັ້ນລັອກ bootloader ຂອງອຸປະກອນ. ການດຳເນີນການນີ້ຈະຣີເຊັດອຸປະກອນເປັນຄ່າຈາກໂຮງງານອີກເທື່ອໜຶ່ງ ແລະ ກູ້ຄືນເປັນການຕັ້ງຄ່າໂປຣດັກຊັນ. ຫຼັງຈາກທີ່ອຸປະກອນເປີດເຂົ້າເປັນ Android ໄດ້ສຳເລັດ, ໃຫ້ປິດການນຳໃຊ້ການປົດລັອກ OEM ໃນຕົວເລືອກນັກພັດທະນາ. ຫາກອຸປະກອນບໍ່ສາມາດເປີດເຂົ້າເປັນ Android ຫຼື ບໍ່ສະຖຽນ, ໃຫ້ແຟລຊອຸປະກອນອີກເທື່ອໜຶ່ງໂດຍໃຊ້ຮູບພາບໂຮງງານຫຼ້າສຸດຈາກ <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ຫຼື ໃຊ້ <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ແລະ ເລືອກ \'ລ້າງຂໍ້ມູນອຸປະກອນ\', \'ລັອກ Bootloader\' ແລະ \'ບັງຄັບໃຫ້ແຟລຊທຸກພາທິຊັນ\'."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"ທ່ານຢູ່ໃນໂໝດ 16KB ຂອງໂໝດບໍ່ຂຶ້ນກັບໜ້າ. ບໍ່ຮັບປະກັນຄວາມສົມບູນຂອງຊອບແວໃນໂໝດນີ້ ແລະ ຂໍ້ມູນໃດກໍຕາມທີ່ຈັດເກັບໃນໂທລະສັບໃນລະຫວ່າງທີ່ Bootloader ປົດລັອກຢູ່ອາດມີຄວາມສ່ຽງ. ຄຸນສົມບັດບາງຢ່າງອາດຖືກປິດການນຳໃຊ້ໃນໂໝດເຫຼົ່ານີ້, ດັ່ງນັ້ນບາງແອັບພລິເຄຊັນຈຶ່ງອາດບໍ່ເຮັດວຽກ. ເພື່ອກັບຄືນເປັນໂໝດໂປຣດັກຊັນອີກເທື່ອໜຶ່ງ, ທ່ານຕ້ອງປ່ຽນກັບໄປໃຊ້ໂໝດ 4KB ຈາກນັ້ນລັອກ Bootloader ຂອງອຸປະກອນ. ແຕະເພື່ອອ່ານເພີ່ມເຕີມ."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"ທ່ານຢູ່ໃນໂໝດ 16KB ຂອງໂໝດບໍ່ຂຶ້ນກັບໜ້າ. ບໍ່ຮັບປະກັນຄວາມສົມບູນຂອງຊອບແວໃນໂໝດນີ້ ແລະ ຂໍ້ມູນໃດກໍຕາມທີ່ຈັດເກັບໃນໂທລະສັບໃນລະຫວ່າງທີ່ Bootloader ປົດລັອກຢູ່ອາດມີຄວາມສ່ຽງ. ຄຸນສົມບັດບາງຢ່າງອາດຖືກປິດການນຳໃຊ້ໃນໂໝດເຫຼົ່ານີ້, ດັ່ງນັ້ນບາງແອັບພລິເຄຊັນຈຶ່ງອາດບໍ່ເຮັດວຽກ. ເພື່ອກັບຄືນເປັນໂໝດໂປຣດັກຊັນອີກເທື່ອໜຶ່ງ, ທ່ານຕ້ອງປ່ຽນກັບໄປໃຊ້ໂໝດ 4KB ຈາກນັ້ນລັອກ Bootloader ຂອງອຸປະກອນ. ການດຳເນີນການນີ້ຈະຣີເຊັດອຸປະກອນເປັນຄ່າຈາກໂຮງງານອີກເທື່ອໜຶ່ງ ແລະ ກູ້ຄືນເປັນການຕັ້ງຄ່າໂປຣດັກຊັນ. ຫຼັງຈາກທີ່ອຸປະກອນເປີດເຂົ້າເປັນ Android ໄດ້ສຳເລັດ, ໃຫ້ປິດການນຳໃຊ້ການປົດລັອກ OEM ໃນຕົວເລືອກນັກພັດທະນາ. ຫາກອຸປະກອນບໍ່ສາມາດເປີດເຂົ້າເປັນ Android ຫຼື ບໍ່ສະຖຽນ, ໃຫ້ແຟລຊອຸປະກອນອີກເທື່ອໜຶ່ງໂດຍໃຊ້ຮູບພາບໂຮງງານຫຼ້າສຸດຈາກ <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ຫຼື ໃຊ້ <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ແລະ ເລືອກ \'ລ້າງຂໍ້ມູນອຸປະກອນ\', \'ລັອກ Bootloader\' ແລະ \'ບັງຄັບໃຫ້ແຟລຊທຸກພາທິຊັນ\'."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"ໂໝດບໍ່ເນັ້ນການໃຊ້ໜ້າ ໂດຍໃຊ້ຂະໜາດ 16KB"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"ອ່ານເພີ່ມເຕີມ"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"ເຄື່ອງຈັດການລາຍງານຂໍ້ຜິດພາດ"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ໃຊ້ການປັກໝຸດແອັບ"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"ໃຊ້ຕົວເລືອກນັກພັດທະນາ"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"ໃຊ້ບໍລິການພິມ"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"ອະນຸຍາດຜູ້ໃຊ້ຫຼາຍຄົນ"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"ອະນຸຍາດ, ຫຼາຍຄົນ, ຜູ້ໃຊ້, ອະນຸຍາດ, ຫຼາຍ"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"ຫຼາຍ, ຜູ້ໃຊ້, ໂປຣໄຟລ໌, ຄົນ, ບັນຊີ, ສະຫຼັບ, ຫຼາຍ"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ໃຊ້ການດີບັກໄຮ້ສາຍ"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"ເລືອກວ່າທ່ານຈະເຫັນຫຍັງຢູ່ໜ້າຈໍຂອງທ່ານເມື່ອແທັບເລັດຂອງທ່ານຕັ້ງຢູ່ດັອກ. ອຸປະກອນຂອງທ່ານອາດໃຊ້ພະລັງງານຫຼາຍຂຶ້ນເມື່ອໃຊ້ສະກຣີນເຊບເວີ."</string>
<string name="customize_button_title" msgid="1110284655990203359">"ປັບແຕ່ງ"</string>
<string name="customize_button_description" msgid="7440248477266126231">"ປັບແຕ່ງ <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"ຕ້ອງປິດເປີດໃໝ່ເພື່ອເປີດການນຳໃຊ້ການຊ່ວຍເຫຼືອຮູບແບບອິດສະລະ."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"ຕ້ອງປິດເປີດໃໝ່ເພື່ອບັງຄັບໂໝດເດັສທັອບຢູ່ໜ້າຈໍທີສອງ."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"ຕ້ອງປິດເປີດໃໝ່ເພື່ອເປີດການນຳໃຊ້ການຮອງຮັບໜ້າຈໍຮູບແບບອິດສະຫຼະແບບເກົ່າ."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"ຕ້ອງປິດເປີດໃໝ່ເພື່ອປ່ຽນການຮອງຮັບໜ້າຈໍຮູບແບບອິດສະຫຼະ."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"ຕ້ອງປິດເປີດໃໝ່ເພື່ອບັງຄັບໃຫ້ເປີດການນຳໃຊ້ໜ້າຈໍຮູບແບບອິດສະຫຼະຢູ່ຈໍສະແດງຜົນສຳຮອງ."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"ປິດເປີດໃໝ່ໃນຕອນນີ້"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"ປິດເປີດໃໝ່ໃນພາຍຫຼັງ"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"ສຽງຮອບທິດທາງ"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ຟັງສະຕຣີມ"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"ສະແກນລະຫັດ QR ການສະຕຣີມສຽງເພື່ອຟັງກັບ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"ບໍ່ສາມາດແກ້ໄຂລະຫັດຜ່ານໃນລະຫວ່າງທີ່ແບ່ງປັນໄດ້. ເພື່ອປ່ຽນລະຫັດຜ່ານ, ທຳອິດໃຫ້ປິດການແບ່ງປັນສຽງ."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-lt/arrays.xml b/res/values-lt/arrays.xml
index c0d7b1f..004822f 100644
--- a/res/values-lt/arrays.xml
+++ b/res/values-lt/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Laikas miegoti"</item>
+ <item msgid="4152450357280759894">"Vairavimas"</item>
+ <item msgid="7096549258219399423">"Įtraukiantis"</item>
+ <item msgid="2760716776980432977">"Tvarkoma"</item>
+ <item msgid="601734478369121764">"Žvaigždė"</item>
+ <item msgid="6243809315432780521">"Kalendorius"</item>
+ <item msgid="4913577903148415331">"Laikas"</item>
+ <item msgid="3653377604690057780">"Teatras"</item>
+ <item msgid="3843711267408385410">"Gėlė"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index a0c2a6f..a33ebfd 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Klausos įrenginio nustatymai"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Spartusis klavišas, klausos aparato suderinamumas"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Išankstiniai nustatymai"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Nėra jūsų audiologo suprogramuotų išankstinių nustatymų"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Išankstinių nustatymų atnaujinti nepavyko"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Garso išvestis"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Apie garso išvestį"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Pridėti veido ir <xliff:g id="WATCH">%s</xliff:g> duomenys"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Pridėti veido, piršto atspaudo ir <xliff:g id="WATCH">%s</xliff:g> duomenys"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Pridėti veido, piršto atspaudų ir <xliff:g id="WATCH">%s</xliff:g> duomenys"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Tai reikia padaryti todėl, kad įjungta tapatybės patikra"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Nuotolinės Autentifikavimo priemonės atrakinimas"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Laikrodis pridėtas"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Nustatykite laikrodį"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Sužinokite daugiau apie funkciją „Laikrodžio atrakinimas“"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Pridėti laikrodį"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Pašalinti laikrodį"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Atrakinimas piršto atspaudu ir pagal veidą"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Atrakinimas pagal veidą ir piršto atspaudu"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Atrakinimas pagal veidą ir piršto atspaudu darbe"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Reikia nustatyti"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Pridėtas veidas ir kontroliniai kodai"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Įdiekite programų"</b>\n"Įdiekite programų, kurias norite laikyti privačiai savo erdvėje"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Ką verta atminti"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Programos sustabdomos, kai užrakinate erdvę"</b>\n"Kai užrakinate erdvę, erdvėje esančios programos sustabdomos ir negaunate iš jų pranešimų"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Privačios erdvės netinkamos programoms, kurios turi veikti fone ar siųsti svarbius pranešimus, pvz., medicinos programoms. Taip yra todėl, kad pranešimai ir veikla fone sustabdomi, užrakinus erdvę.\n\nProgramos privačioje erdvėje nebus rodomos leidimų tvarkytuvėje, privatumo informacijos suvestinėje ir kituose nustatymuose, kai privati erdvė bus užrakinta.\n\nPrivačios erdvės negalima perkelti į naują įrenginį. Turėsite nustatyti kitą privačią erdvę, jei norėsite ją naudoti kitame įrenginyje.\n\nBet kuris naudotojas, prijungęs jūsų įrenginį prie kompiuterio ar įdiegęs žalingų programų įrenginyje, galės pasiekti jūsų privačią erdvę."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Privačios erdvės netinkamos programoms, kurios turi veikti fone ar siųsti svarbius pranešimus, pvz., medicinos programoms. Taip yra todėl, kad pranešimai ir veikla fone sustabdomi, užrakinus erdvę.\n\nProgramos privačioje erdvėje nebus rodomos leidimų tvarkytuvėje, privatumo informacijos suvestinėje ir kituose nustatymuose, kai privati erdvė bus užrakinta.\n\nPrivačios erdvės negalima atkurti naujame įrenginyje. Jei norite ją naudoti kitame įrenginyje, reikės sukurti kitą erdvę.\n\nAsmenys, prijungę jūsų įrenginį prie kompiuterio ar įrenginyje įdiegę kenkėjiškų programų, gali pasiekti jūsų privačią erdvę."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Sužinokite daugiau apie privačią erdvę"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Tai užtruks kelias akimirkas"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Nustatoma privati erdvė…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Paleisti įrenginį iš naujo?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Išsamių NFC duomenų įrašymas gali būti naudojamas tik kuriant produktą. Į pranešimus apie riktus įtraukiama papildomų NFC duomenų, kuriuose gali būti privačios informacijos. Jei norite pakeisti šį nustatymą, paleiskite įrenginį iš naujo."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Paleisti iš naujo"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Perdavimas"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"ekrano vaizdo bendrinimas"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Įgalinti belaidį rodymą"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Prisitaikanti"</string>
<string name="brightness" msgid="6216871641021779698">"Šviesumo lygis"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Prisitaikantis šviesumas"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Apie prisitaikantį šviesumą"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Ekrano šviesumas automatiškai prisitaikys prie jūsų aplinkos ir veiklos. Galite šliaužiklį perkelti patys, kad prisitaikantis šviesumas įsimintų jūsų nuostatas."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Įjungta"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Išjungta"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Parinktys"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Pritaikomumas"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Fizinė klaviatūra"</string>
- <string name="show_ime" msgid="4334255501724746849">"Ekrano klaviatūros naudojimas"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Palikti ekrane, kol fizinė klaviatūra aktyvi"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Peradresavimo klavišai"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Klaviatūra nepaiso greitai kartojamų to paties klavišo paspaudimų <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> milisek."</string>
<string name="slow_keys" msgid="2891452895499690837">"Lėtieji klavišai"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Pasirinktas naudotojo: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Kalba"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Žymiklio greitis"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Žaidimų valdiklis"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Nukreipti vibravimą"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Siųsti vibraciją į žaidimų valdiklį, kai jis prijungtas"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Vis tiek tęsti"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Atšaukti"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Didinimo nustatymai"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Stumdymas vienu pirštu"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Perkelkite didintuvą vienu pirštu"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Judėkite ekrane vilkdami pirštu."</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Perkelkite didinimo sritį vilkdami vienu pirštu."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Perkelkite didinimo sritį vilkdami dviem pirštais."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Nepasiekiama, kol didinama tik dalis ekrano"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Palieskite mygtuką, kad keistumėte mastelį"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Sparčiai artinkite ekrane, kad turinys būtų didesnis"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Kad priartintumėte, atlikite toliau nurodytus veiksmus.</b><br/> {0,number,integer}. Paleiskite didinimo funkciją sparčiuoju klavišu.<br/> {1,number,integer}. Palieskite ekraną.<br/> {2,number,integer}. Pereikite nuo vieno ekrano elemento prie kito vilkdami dviem pirštais.<br/> {3,number,integer}. Koreguokite mastelį suėmę dviem pirštais.<br/> {4,number,integer}. Sustabdykite didinimo funkciją sparčiuoju klavišu.<br/><br/> <b>Kad laikinai priartintumėte, atlikite toliau nurodytus veiksmus.</b><br/> {0,number,integer}. Įsitikinkite, kad didinimo tipas nustatytas į viso ekrano.<br/> {1,number,integer}. Paleiskite didinimo funkciją sparčiuoju klavišu.<br/> {2,number,integer}. Palieskite ir palaikykite bet kurią ekrano vietą.<br/> {3,number,integer}. Pereikite nuo vieno ekrano elemento prie kito vilkdami pirštu.<br/> {4,number,integer}. Sustabdykite didinimo funkciją pakeldami pirštą."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Kad priartintumėte, atlikite toliau nurodytus veiksmus.:</b><br/> {0,number,integer}. Paleiskite didinimo funkciją sparčiuoju klavišu.<br/> {1,number,integer}. Palieskite ekraną.<br/> {2,number,integer}. Judėkite ekrane vilkdami dviem pirštais.<br/> {3,number,integer}. Koreguokite mastelį suėmę dviem pirštais.<br/> {4,number,integer}. Sustabdykite didinimo funkciją sparčiuoju klavišu.<br/><br/> Taip pat galite laikinai priartinti ir atlikti kitus veiksmus."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Kad priartintumėte, atlikite toliau nurodytus veiksmus.:</b><br/> {0,number,integer}. Paleiskite didinimo funkciją sparčiuoju klavišu.<br/> {1,number,integer}. Palieskite ekraną.<br/> {2,number,integer}. Judėkite ekrane vilkdami vienu arba dviem pirštais.<br/> {3,number,integer}. Koreguokite mastelį suėmę dviem pirštais.<br/> {4,number,integer}. Sustabdykite didinimo funkciją sparčiuoju klavišu.<br/><br/> Taip pat galite laikinai priartinti ir atlikti kitus veiksmus."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Kai didinimas įjungtas, galite artinti ekraną.\n\n"<b>"Jei norite keisti mastelį,"</b>", įjunkite didinimą, tada palieskite bet kurioje ekrano vietoje.\n"<ul><li>"Slinkite vilkdami dviem ar daugiau pirštų"</li>\n<li>"Koreguokite mastelį suimdami dviem ar daugiau pirštų"</li></ul>\n\n<b>"Jei norite laikinai pakeisti mastelį"</b>", įjunkite didinimą, tada palieskite ir palaikykite bet kurioje ekrano vietoje.\n"<ul><li>"Naršykite ekraną vilkdami pirštu"</li>\n<li>"Pakelkite pirštą, kad tolintumėte"</li></ul>\n\n"Negalite artinti naudodami klaviatūrą ar naršymo juostą."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> psl. iš <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Pritaikomumo mygtuko spartusis klavišas"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Gauti pranešimus tik iš svarbių žmonių ar programų"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Pasirinkti suaktyvinimo tipą"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Laikas"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Pvz.: „9.30–17.00 val.“"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Kalendorius"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Pvz.: „Asmeninis kalendorius“"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Režimo kūrimas"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Tinkinta"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Pertraukčių apribojimas"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Netrukdymo režimo įjungimas"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Signalai ir medijos garsai gali trikdyti"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Tvarkaraščiai"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Tvarkaraščių trynimas"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Ištrinti"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Redaguoti"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Tvarkaraščiai"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Tvarkaraštis"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Nustatykite tvarkaraštį"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Tvarkaraštis"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> val. <xliff:g id="MINUTES">%2$d</xliff:g> min."</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Įjungti automatiškai"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Tvarkaraštis"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Nutildykite telefoną tam tikru metu"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Nustatykite netrukdymo režimo taisykles"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Leisti pertrauktis, skleidžiančias garsą"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokuoti vaizdinius trikdžius"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Leisti vaizdinius signalus"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Leidžiami pranešimai"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Susikaupkite"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Papildomi veiksmai"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Vaizdo nustatymai"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Pateikties parinktys"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"įgalinti tamsiąją temą"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Perjunkite, kad OS ir programos teiktų pirmenybę šviesiam tekstui tamsiame fone, nes taip mažiau pavargsta akys ir labai tausojamas akumuliatorius kai kuriuose įrenginiuose"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Nėra vaizdo pakeitimų}=1{{effect_1}}=2{{effect_1} ir {effect_2}}=3{{effect_1}, {effect_2} ir {effect_3}}one{{effect_1}, {effect_2} ir dar #}few{{effect_1}, {effect_2} ir dar #}many{{effect_1}, {effect_2} ir dar #}other{{effect_1}, {effect_2} ir dar #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filtruoti trukdžius"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Nefiltruojami jokie trukdžiai"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Išfiltruotų pranešimų rodymo parinktys"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Kai įjungtas netrukdymo režimas"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Neskambėti gavus pranešimų"</string>
@@ -3483,6 +3541,8 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"atidaromas pranešimas"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Leisti nustatyti pranešimus snausti"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Pranešimo taškas programos piktogramoje"</string>
+ <!-- no translation found for notification_bundles (3614044525822580826) -->
+ <skip />
<string name="notification_bubbles_title" msgid="5681506665322329301">"Burbulai"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Burbulai"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Rodyti šio pokalbio burbulą"</string>
@@ -3664,6 +3724,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Kategorijos"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Kita"</string>
<string name="no_channels" msgid="4716199078612071915">"Ši programa nepaskelbė jokių pranešimų"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Rodyti nenaudojamas kategorijas"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Papildomi programos nustatymai"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Rodyti nenaudojamas kategorijas"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Slėpti nenaudojamas kategorijas"</string>
@@ -3775,6 +3836,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Viskas"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Leisti programoms nepaisyti"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Programos, kurios gali trikdyti"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Pasirinkti daugiau programų"</string>
@@ -4799,8 +4862,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Dėklas"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Akumuliatorius"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Nustatymų skydelis"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Priverstinai įjungti darbalaukio režimą"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Priverstinai įjungti eksperimentinį darbalaukio režimą antriniuose ekranuose"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Įgalinti laisvos formos langus"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Įgalinti laisvos formos langų palaikymą."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Įgal. pateikimą laisvos formos lang. papild. ekr."</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Įgalinti laisvos formos langus tik papildomame ekrane."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Įgalinti nekeičiamo dydžio progr. naud. kelių langų funkciją"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Leidžiama naudoti nekeičiamo dydžio programas su kelių langų funkcija"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Nepaisyti priverst. tamsaus rež. įgalin."</string>
@@ -4868,14 +4933,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Šio įrenginio duomenų skaidinį reikia konvertuoti į „ext4“ prieš naudojant 16 KB kūrėjo parinktį. Šiuo režimu negalima garantuoti programinės įrangos vientisumo ir visiems telefone saugomiems duomenims, kai panaikintas paleidyklės operatoriaus pasirinkimo ribojimas, gali kilti pavojus. Suaktyvinus 16 KB parinktį, po to reikės dar vieno paleidimo iš naujo. Dirbdami šiuo režimu galėsite perjungti 4 KB ir 16 KB režimus paleidę iš naujo vieną kartą. Kai kurios funkcijos gali būti išjungtos šiais režimais, todėl kai kurios programos gali neveikti. Jei norite vėl įjungti įrenginio generavimo režimą, turite vėl perjungti į 4 KB režimą ir užrakinti paleidyklę, tada bus atkurti įrenginio gamykliniai nustatymai. Kai įrenginys bus sėkmingai paleistas sistemoje „Android“, išjunkite OĮG operatoriaus pasirinkimo ribojimo panaikinimą „Kūrėjo parinkčių“ skiltyje. Įrenginio duomenys bus panaikinti ir patvirtinus failų sistema bus pakeista į „ext4“. Kai tai bus baigta, grįžkite ir vėl įgalinkite 16 KB."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Ištrinti visus duomenis"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Nepavyko performatuoti į „ext4“ ir panaikinti duomenų skaidinio."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Norint naudoti 16 KB režimą, reikia panaikinti paleidyklės operatoriaus pasirinkimo ribojimą"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Reikia atrakinti paleidyklę"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Kad būtų galima naudoti 16 KB kūrėjo parinktį, turi būti panaikintas šio įrenginio paleidyklės operatoriaus pasirinkimo ribojimas. Šiuo režimu negalima garantuoti programinės įrangos vientisumo ir visiems telefone saugomiems duomenims, kai panaikintas paleidyklės operatoriaus pasirinkimo ribojimas, gali kilti pavojus. Suaktyvinus 16 KB režimą, visi naudotojo duomenys ir nustatymai bus panaikinti. Panaikinus paleidyklės operatoriaus pasirinkimo ribojimą, norint suaktyvinti 16 KB parinktį, reikės du kartus paleisti iš naujo. Dirbdami šiuo režimu galėsite perjungti 4 KB ir 16 KB režimus paleidę iš naujo vieną kartą. Kai kurios funkcijos gali būti išjungtos šiais režimais, todėl kai kurios programos gali neveikti. Jei norite vėl įjungti įrenginio generavimo režimą, turite vėl perjungti į 4 KB režimą ir taikyti įrenginio OĮG ir (arba) paleidyklės užrakinimą (tada bus atkurti gamykliniai nustatymai). Panaikinkite paleidyklės operatoriaus pasirinkimo ribojimą ir bandykite dar kartą. Instrukcijas, kaip tai atlikti, rasite adresu <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"4 KB nepriklausomo puslapio dydžio režimo naudojimas"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Dirbate 4 KB nepriklausomo puslapio dydžio režimu. Šiuo režimu negalima garantuoti programinės įrangos vientisumo ir visiems telefone saugomiems duomenims, kai panaikintas paleidyklės operatoriaus pasirinkimo ribojimas, gali kilti pavojus. Kai kurios funkcijos gali būti išjungtos šiais režimais, todėl kai kurios programos gali neveikti. Jei norite vėl įjungti generavimo režimą, turite užrakinti įrenginio paleidyklę. Palieskite, jei norite skaityti daugiau."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Dirbate 4 KB nepriklausomo puslapio dydžio režimu. Šiuo režimu negalima garantuoti programinės įrangos vientisumo ir visiems telefone saugomiems duomenims, kai panaikintas paleidyklės operatoriaus pasirinkimo ribojimas, gali kilti pavojus. Kai kurios funkcijos gali būti išjungtos šiais režimais, todėl kai kurios programos gali neveikti. Jei norite vėl įjungti generavimo režimą, turite užrakinti įrenginio paleidyklę. Tada vėl bus atkurti įrenginio gamykliniai nustatymai. Kai įrenginys bus sėkmingai paleistas sistemoje „Android“, išjunkite OĮG operatoriaus pasirinkimo ribojimo panaikinimą „Kūrėjo parinkčių“ skiltyje. Jei nepavyksta paleisti įrenginio sistemoje „Android“ arba jis nestabilus, iš naujo įdiekite įrenginį „Android“ ROM vidinėje atmintyje su naujausiais gamykliniais disko atvaizdžiais iš <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> arba naudokite <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ir pasirinkite „Naikinti įrenginio duomenis“, „Užrakinti paleidyklę“ ir „Priverstinai įdiegti visus skaidinius „Android“ ROM vidinėje atmintyje“."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"16 KB nepriklausomo puslapio dydžio režimo naudojimas"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Dirbate 16 KB nepriklausomo puslapio dydžio režimu. Šiuo režimu negalima garantuoti programinės įrangos vientisumo ir visiems telefone saugomiems duomenims, kai panaikintas paleidyklės operatoriaus pasirinkimo ribojimas, gali kilti pavojus. Kai kurios funkcijos gali būti išjungtos šiais režimais, todėl kai kurios programos gali neveikti. Jei norite vėl įjungti generavimo režimą, turite vėl perjungti į 4 KB režimą ir užrakinti įrenginio paleidyklę. Palieskite, jei norite skaityti daugiau."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Dirbate 16 KB nepriklausomo puslapio dydžio režimu. Šiuo režimu negalima garantuoti programinės įrangos vientisumo ir visiems telefone saugomiems duomenims, kai panaikintas paleidyklės operatoriaus pasirinkimo ribojimas, gali kilti pavojus. Kai kurios funkcijos gali būti išjungtos šiais režimais, todėl kai kurios programos gali neveikti. Jei norite vėl įjungti generavimo režimą, turite vėl perjungti į 4 KB režimą ir užrakinti įrenginio paleidyklę. Tada vėl bus atkurti įrenginio gamykliniai nustatymai. Kai įrenginys bus sėkmingai paleistas sistemoje „Android“, išjunkite OĮG operatoriaus pasirinkimo ribojimo panaikinimą „Kūrėjo parinkčių“ skiltyje. Jei nepavyksta paleisti įrenginio sistemoje „Android“ arba jis nestabilus, iš naujo įdiekite įrenginį „Android“ ROM vidinėje atmintyje su naujausiais gamykliniais disko atvaizdžiais iš <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> arba naudokite <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ir pasirinkite „Naikinti įrenginio duomenis“, „Užrakinti paleidyklę“ ir „Priverstinai įdiegti visus skaidinius „Android“ ROM vidinėje atmintyje“."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Dirbate 16 KB puslapio agnostikos režimu. Šiuo režimu negalima garantuoti programinės įrangos vientisumo ir visiems telefone saugomiems duomenims, kai paleidyklė atrakinta, gali kilti pavojus. Kai kurios funkcijos gali būti išjungtos šiais režimais, todėl kai kurios programos gali neveikti. Jei norite vėl įjungti generavimo režimą, turite vėl perjungti į 4 KB režimą ir užrakinti įrenginio paleidyklę. Palieskite, jei norite skaityti daugiau."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Dirbate 16 KB puslapio agnostikos režimu. Šiuo režimu negalima garantuoti programinės įrangos vientisumo ir visiems telefone saugomiems duomenims, kai paleidyklė atrakinta, gali kilti pavojus. Kai kurios funkcijos gali būti išjungtos šiais režimais, todėl kai kurios programos gali neveikti. Jei norite vėl įjungti generavimo režimą, turite vėl perjungti į 4 KB režimą ir užrakinti įrenginio paleidyklę. Tada vėl bus atkurti įrenginio gamykliniai nustatymai. Kai įrenginys bus sėkmingai paleistas sistemoje „Android“, išjunkite OĮG operatoriaus pasirinkimo ribojimo panaikinimą skiltyje „Kūrėjo parinktys“. Jei nepavyksta paleisti įrenginio sistemoje „Android“ arba jis nestabilus, iš naujo įdiekite įrenginį „Android“ ROM vidinėje atmintyje su naujausiais gamykliniais disko atvaizdžiais iš <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> arba naudokite <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ir pasirinkite „Naikinti įrenginio duomenis“, „Užrakinti paleidyklę“ ir „Priverstinai įdiegti visus skaidinius „Android“ ROM vidinėje atmintyje“."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16 KB nepriklausomo puslapio dydžio režimas"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Skaityti daugiau"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Pranešimų apie riktus doroklė"</string>
@@ -5009,7 +5074,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Programos prisegimo naudojimas"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Kūrėjo parinkčių naudojimas"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Naudoti spausdinimo paslaugą"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Kelių naudotojų leidimas"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"leisti, keli, naudotojas, leidimas, daug"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"keli, naudotojai, profiliai, žmonės, paskyros, perjungti, daug"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Belaidžio ryšio derinimo naudojimas"</string>
@@ -5123,8 +5189,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Pasirinkite, kas bus rodoma ekrane, kai planšetinis kompiuteris bus prijungtas prie doko. Naudojant ekrano užsklandą gali būti eikvojama daugiau įrenginio energijos."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Tinkinti"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Tinkinti skiltį „<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>“"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Norint įgalinti laisvos formos palaikymą, būtina paleisti iš naujo."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Norint priverstinai įjungti darbalaukio režimą antriniuose ekranuose, būtina paleisti iš naujo."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Norint įgalinti pasenusių laisvos formos langų palaikymą reikia paleisti įrenginį iš naujo."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Norint pakeisti pateikimo laisvos formos languose palaikymą reikia paleisti įrenginį iš naujo."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Norint įgalinti priverstinį pateikimą laisvos formos languose papildomuose ekranuose reikia paleisti įrenginį iš naujo."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Paleisti iš naujo dabar"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Paleisti iš naujo vėliau"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Erdvinis garsas"</string>
@@ -5353,4 +5420,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Klausyti srauto"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Nuskaitykite garso srauto QR kodą, kad galėtumėte klausyti naudodami „<xliff:g id="DEVICE_NAME">%1$s</xliff:g>“"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Bendrinant negalima redaguoti slaptažodžio. Jei norite pakeisti slaptažodį, pirmiausia išjunkite garso įrašų bendrinimą."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-lv/arrays.xml b/res/values-lv/arrays.xml
index 0740d38..b537f09 100644
--- a/res/values-lv/arrays.xml
+++ b/res/values-lv/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Naktsmiers"</item>
+ <item msgid="4152450357280759894">"Braukšana pie stūres"</item>
+ <item msgid="7096549258219399423">"Iekļaujošs"</item>
+ <item msgid="2760716776980432977">"Pārvaldīts"</item>
+ <item msgid="601734478369121764">"Zvaigzne"</item>
+ <item msgid="6243809315432780521">"Kalendārs"</item>
+ <item msgid="4913577903148415331">"Laiks"</item>
+ <item msgid="3653377604690057780">"Kinoteātris"</item>
+ <item msgid="3843711267408385410">"Zieds"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 59aa4dd..f1e1ffb 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Dzirdes aparāta iestatījumi"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Saīsne, saderība ar dzirdes aparātiem."</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Pirmsiestatījums"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Jūsu audiologs nav ieprogrammējis nekādus pirmsiestatījumus."</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Nebija iespējams atjaunināt pirmsiestatījumu."</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audio izeja"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Par audio izvadi"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Pievienota seja un pulkstenis <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Pievienota seja, pirksta nospiedums un pulkstenis <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Pievienota seja, pirkstu nospiedumi un pulkstenis <xliff:g id="WATCH">%s</xliff:g>"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Šāda pārbaude ir vajadzīga, jo ir ieslēgta funkcija Identity Check."</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Atbloķēšana ar Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Pulkstenis pievienots"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Pulksteņa iestatīšana"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Uzzināt vairāk par funkciju “Atbloķēšana ar pulksteni”"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Pievienot pulksteni"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Noņemt pulksteni"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Autorizācija ar pirksta nospiedumu un pēc sejas"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Autorizācija pēc sejas un pirksta nospieduma"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Autorizācija pēc sejas un pirksta nospieduma darba profilam"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Nepieciešama iestatīšana"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Seja un pirksta nospiedumi ir pievienoti"</string>
@@ -496,7 +498,7 @@
<string name="security_settings_sfps_animation_a11y_label" msgid="8808819903730940446">"Reģistrēšanas progresa procenti: <xliff:g id="PERCENTAGE">%d</xliff:g>"</string>
<string name="security_settings_udfps_enroll_progress_a11y_message" msgid="6183535114682369699">"Pirksta nospieduma reģistrēšana: <xliff:g id="PERCENTAGE">%d</xliff:g> procenti"</string>
<string name="security_settings_fingerprint_enroll_finish_title" msgid="3606325177406951457">"Pirksta nospiedums pievienots"</string>
- <string name="security_settings_require_screen_on_to_auth_title" msgid="1641621458536715518">"Pieskarties un atbloķēt jebkurā laikā"</string>
+ <string name="security_settings_require_screen_on_to_auth_title" msgid="1641621458536715518">"Pieskarieties, lai atbloķētu jebkurā laikā"</string>
<string name="security_settings_require_screen_on_to_auth_description" msgid="4158414711168345398">"Pieskarieties sensoram, lai atbloķētu ierīci, pat ja ekrāns ir izslēgts. Tādējādi tiek palielināta nejaušas atbloķēšanas iespējamība."</string>
<string name="security_settings_require_screen_on_to_auth_keywords" msgid="5557869560397089603">"Ekrāns, atbloķēšana"</string>
<string name="security_settings_fingerprint_enroll_enrolling_skip" msgid="3004786457919122854">"Vēlāk"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Lietotņu instalēšana"</b>\n"Instalējiet lietotnes, ko vēlaties privāti glabāt savā telpā."</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Svarīga informācija"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Lietotnes pārstāj darboties, kad bloķējat privāto telpu"</b>\n"Kad bloķējat privāto telpu, lietotnes šajā telpā pārstāj darboties un jūs turpmāk nesaņemat šo lietotņu paziņojumus."</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Privātās telpas nav piemērotas lietotnēm, kam nepieciešams darboties fonā vai sūtīt kritiskus paziņojumus, piemēram, medicīnas lietotnēm. Iemesls ir tas, ka paziņojumi un darbība fonā tiek apturēta, kad telpa tiek bloķēta.\n\nLietotnes, kas atrodas jūsu privātajā telpā, nebūs redzamas atļauju pārvaldniekā, konfidencialitātes informācijas panelī un citos iestatījumos, kad privātā telpa būs bloķēta.\n\nPrivāto telpu nevar pārvietot uz jaunu ierīci. Ja vēlēsieties izmantot privāto telpu citā ierīcē, jums būs jāiestata jauna telpa.\n\nJebkura persona, kas izveidos savienojumu starp jūsu ierīci un datoru vai instalēs kaitīgas lietotnes jūsu ierīcē, iespējams, varēs piekļūt jūsu privātajai telpai."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Privātās telpas nav piemērotas lietotnēm, kam nepieciešams darboties fonā vai sūtīt kritiskus paziņojumus, piemēram, medicīnas lietotnēm. Iemesls ir tas, ka paziņojumi un darbība fonā tiek apturēta, kad telpa tiek bloķēta.\n\nLietotnes, kas atrodas jūsu privātajā telpā, nebūs redzamas atļauju pārvaldniekā, konfidencialitātes informācijas panelī un citos iestatījumos, kad privātā telpa būs bloķēta.\n\nPrivāto telpu nevar atjaunot jaunā ierīcē. Ja vēlēsieties izmantot privāto telpu citā ierīcē, jums būs jāiestata jauna telpa.\n\nJebkura persona, kas izveidos savienojumu starp jūsu ierīci un datoru vai instalēs ļaunprātīgas lietotnes jūsu ierīcē, iespējams, varēs piekļūt jūsu privātajai telpai."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Uzzināt vairāk par privāto telpu"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Tas ilgs kādu brīdi."</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Notiek privātās telpas iestatīšana…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Vai restartēt ierīci?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Detalizētu NFC datu reģistrēšana ir paredzēta tikai ar izstrādi saistītiem nolūkiem. Papildu NFC dati tiek iekļauti kļūdu pārskatos, un tajos var būt ietverta privāta informācija. Lai mainītu šo iestatījumu, restartējiet ierīci."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Restartēt"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Apraide"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"spogulis"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Bezvadu attēlošanas iespējošana"</string>
@@ -1173,7 +1203,7 @@
<string name="accessibility_work_account_title" msgid="7622485151217943839">"Darba konts — <xliff:g id="MANAGED_BY">%s</xliff:g>"</string>
<string name="accessibility_personal_account_title" msgid="8535265881509557013">"Personīgais konts — <xliff:g id="MANAGED_BY">%s</xliff:g>"</string>
<string name="search_settings" msgid="7573686516434589771">"Meklēt"</string>
- <string name="display_settings" msgid="7197750639709493852">"Attēls"</string>
+ <string name="display_settings" msgid="7197750639709493852">"Displejs"</string>
<string name="accelerometer_title" msgid="7745991950833748909">"Automātiska ekrāna pagriešana"</string>
<string name="auto_rotate_option_off" msgid="2788096269396290731">"Izslēgta"</string>
<string name="auto_rotate_option_on" msgid="5776678230808498171">"Ieslēgta"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptīva krāsa"</string>
<string name="brightness" msgid="6216871641021779698">"Spilgtuma līmenis"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Adaptīvs spilgtums"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Par adaptīvo spilgtumu"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Ekrāna spilgtums automātiski tiks pielāgots apkārtējai videi un veiktajām darbībām. Lai adaptīvajam spilgtumam iestatītu savas preferences, pārvietojiet slīdni."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Ieslēgt"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Izslēgts"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Opcijas"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Pieejamība"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Fiziskā tastatūra"</string>
- <string name="show_ime" msgid="4334255501724746849">"Izmantot ekrāna tastatūru"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Paturēt ekrānā, kamēr ir aktīva fiziskā tastatūra"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Atlēcienu taustiņi"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Tastatūra ignorē ātru taustiņa nospiešanu vairākas reizes, ja tas tiek atkārtoti nospiests <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms laikā."</string>
<string name="slow_keys" msgid="2891452895499690837">"Lēnie taustiņi"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Lietotāja atlasītais izkārtojums: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Runa"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Rādītāja ātrums"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Spēļu vadība"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Vibrācijas novirzīšana"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Novirzīt vibrāciju uz spēles vadāmierīci, kad ir izveidots savienojums"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Tomēr turpināt"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Atcelt"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Palielināšanas iestatījumi"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Pārvietošana ar vienu pirkstu"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Pārvietot lupu ar vienu pirkstu"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Velciet ar pirkstu, lai pārvietotos ekrānā."</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Palielinājuma apgabala pārvietošanai velciet vienu pirkstu."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Palielinājuma apgabala pārvietošanai velciet divus pirkstus."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Nav pieejama, kad tiek palielināta tikai daļa ekrāna"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Pieskarieties pogai, lai palielinātu"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Ātri tuviniet ekrānu, lai palielinātu saturu"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Tuvināšana</b><br/> {0,number,integer}. Izmantojiet īsinājumtaustiņu, lai sāktu palielināšanu.<br/> {1,number,integer}. Pieskarieties ekrānam.<br/> {2,number,integer}. Lai pārvietotos ekrānā, velciet ar diviem pirkstiem.<br/> {3,number,integer}. Lai regulētu tālummaiņu, savelciet ar diviem pirkstiem.<br/> {4,number,integer}. Izmantojiet īsinājumtaustiņu, lai pārtrauktu palielināšanu.<br/><br/> <b>Īslaicīga tuvināšana</b><br/> {0,number,integer}. Pārliecinieties, vai iestatītais palielinājuma veids ir “Pilnekrāna režīms”.<br/> {1,number,integer}. Izmantojiet īsinājumtaustiņu, lai sāktu palielināšanu.<br/> {2,number,integer}. Pieskarieties un turiet jebkurā ekrāna vietā.<br/> {3,number,integer}. Lai pārvietotos ekrānā, velciet ar pirkstu.<br/> {4,number,integer}. Paceliet pirkstu, lai pārtrauktu palielināšanu."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Tuvināšana</b><br/> {0,number,integer}. Izmantojiet saīsni, lai sāktu palielināšanu.<br/> {1,number,integer}. Pieskarieties ekrānam.<br/> {2,number,integer}. Lai pārvietotos ekrānā, velciet ar diviem pirkstiem.<br/> {3,number,integer}. Lai regulētu tālummaiņu, savelciet ar diviem pirkstiem.<br/> {4,number,integer}. Lai atceltu palielinājumu, izmantojiet saīsni.<br/><br/> Varat arī tuvināt īslaicīgi un veikt vēl citas darbības."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Tuvināšana</b><br/> {0,number,integer}. Izmantojiet saīsni, lai sāktu palielināšanu.<br/> {1,number,integer}. Pieskarieties ekrānam.<br/> {2,number,integer}. Lai pārvietotos ekrānā, velciet ar vienu vai diviem pirkstiem.<br/> {3,number,integer}. Lai regulētu tālummaiņu, savelciet ar diviem pirkstiem.<br/> {4,number,integer}. Lai atceltu palielinājumu, izmantojiet saīsni.<br/><br/> Varat arī tuvināt īslaicīgi un veikt vēl citas darbības."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Kad ir ieslēgts palielinājums, ekrānā varat izmantot tuvināšanu.\n\n"<b>"Lai izmantotu tālummaiņu"</b>", aktivizējiet palielinājumu un pēc tam pieskarieties jebkur ekrānā.\n"<ul><li>"Velciet ar vismaz 2 pirkstiem, lai ritinātu."</li>\n<li>"Savelciet kopā vismaz 2 pirkstus, lai pielāgotu tālummaiņu."</li></ul>\n\n<b>"Lai veiktu īslaicīgu tālummaiņu"</b>", aktivizējiet palielinājumu un pēc tam pieskarieties jebkurai vietai ekrānā un turiet to.\n"<ul><li>"Velciet ar pirkstu, lai pārvietotos pa ekrānu."</li>\n<li>"Paceliet pirkstu, lai veiktu tālināšanu."</li></ul>\n\n"Tastatūrā vai navigācijas joslā nevarat veikt tuvināšanu."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>. lapa no <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Saīsne: pieejamības poga"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Saņemiet paziņojumus tikai no svarīgām personām un lietotnēm."</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Atlasiet aktivizācijas veidu"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Laiks"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Piemērs. “9:30–17:00”."</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Kalendārs"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Piemērs. “Personīgais kalendārs”."</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Režīma izveide"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Pielāgots"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Traucējumu ierobežošana"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Režīma “Netraucēt” ieslēgšana"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Modinātāji un multivides skaņas, kam atļauts pārtraukt"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Grafiki"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Grafiku dzēšana"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Dzēst"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Rediģēt"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Grafiki"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Grafiks"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Pievienot kalendāru"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Izmantot kalendāru"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Grafiks"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Iestatiet grafiku"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Grafiks"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Ieslēgt automātiski"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Grafiks"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Skaņas izslēgšana noteiktā laikā"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Iestatīt režīma “Netraucēt” kārtulas"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Atļaut pārtraukumus ar skaņas signālu"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Bloķēt vizuālos traucējumus"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Vizuālu signālu atļaušana"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Paziņojumi, kas var jūs sasniegt"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Ilglaicīga koncentrēšanās"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Papildu darbības"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Attēlojuma iestatījumi"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Attēlojuma iespējas"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"iespējot tumšo motīvu"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Iestatiet, lai operētājsistēmā un lietotnēs priekšroka tiktu dota gaišam tekstam uz tumša fona. Tas var mazāk nogurdināt acis un ievērojami ietaupīt akumulatora jaudu dažās ierīcēs."</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Nav attēlojuma izmaiņu}=1{{effect_1}}=2{{effect_1} un {effect_2}}=3{{effect_1}, {effect_2} un {effect_3}}zero{{effect_1}, {effect_2} un vēl #}one{{effect_1}, {effect_2} un vēl #}other{{effect_1}, {effect_2} un vēl #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filtrēt traucēkļus"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Netiek filtrēts neviens traucēklis"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Filtrētu paziņojumu attēlojuma iespējas"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Kad ir ieslēgts režīms “Netraucēt”"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Nav skaņas signālu no paziņojumiem"</string>
@@ -3486,6 +3541,8 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"atvērt paziņojumu"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Atļaut paziņojumu atlikšanu"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Paziņojuma punkts lietotnes ikonā"</string>
+ <!-- no translation found for notification_bundles (3614044525822580826) -->
+ <skip />
<string name="notification_bubbles_title" msgid="5681506665322329301">"Burbuļi"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Burbuļi"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Sarunas rādīšana burbulī"</string>
@@ -3667,6 +3724,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Kategorijas"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Cits"</string>
<string name="no_channels" msgid="4716199078612071915">"Šai lietotnei nav neviena paziņojuma."</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Rādīt neizmantotās kategorijas"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Lietotnes papildu iestatījumi"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Rādīt neizmantotās kategorijas"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Paslēpt neizmantotās kategorijas"</string>
@@ -3778,6 +3836,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Visas"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Atļaut lietotnēm ignorēt režīmu “Netraucēt”"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Lietotnes, kas var pārtraukt"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Citu lietotņu atlase"</string>
@@ -3814,12 +3874,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Vienu stundu pāriet uz režīmu “Tikai signāli” (līdz: {time})}zero{# stundas pāriet uz režīmu “Tikai signāli” (līdz: {time})}one{# stundu pāriet uz režīmu “Tikai signāli” (līdz: {time})}other{# stundas pāriet uz režīmu “Tikai signāli” (līdz: {time})}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Pāriet uz režīmu “Tikai signāli” līdz plkst. <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Pāriet uz “Vienmēr pārtraukt”"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Pārdēvēt"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Mainīt ikonu"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Mainīt ikonu"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Brīdinājums"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Aizvērt"</string>
<string name="device_feedback" msgid="5351614458411688608">"Sūtīt atsauksmes par šo ierīci"</string>
@@ -4805,8 +4862,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Futrālis"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Akumulators"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Iestatījumu panelis"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Veikt piespiedu darbvirsmas režīma atvēršanu"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Veikt piespiedu eksperimentālā darbvirsmas režīma atvēršanu sekundārajos displejos"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Iespējot brīvās formas logus"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Iespējot atbalstu brīvās formas logiem."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Iespējot brīvās formas logus otrajā displejā"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Iespējot brīvās formas logus tikai sekundārajā displejā."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Vairāku logu režīmā iespējot nemainīga lieluma lietotnes"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Šis iestatījums ļauj vairāku logu režīmā rādīt lietotnes, kuru lielums nav maināms"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Tumšā režīma piespiedu ieslēgšanas ignorēšana"</string>
@@ -4874,14 +4933,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Ierīces datu nodalījuma failu sistēma jākonvertē uz ext4, lai varētu izmantot izstrādātāju opciju “16 KB”. Šajā režīmā nevar garantēt programmatūras integritāti, un tālrunī glabātie dati var būt apdraudēti, kamēr operētājsistēmu ielādes rīks ir atbloķēts. Lai varētu aktivizēt opciju “16 KB”, ierīce būs vēl vienu reizi atkārtoti jāpalaiž. Kad būs ieslēgts šis režīms, varēsiet pārslēgt 4 KB vai 16 KB režīmu, vienreiz atkārtoti palaižot ierīci. Šajos režīmos dažas funkcijas tiks atspējotas, tādēļ dažas lietojumprogrammas var nedarboties. Lai ierīcē atjaunotu produkcijas režīmu, jums būs jāpārslēdz 4 KB režīms un jābloķē operētājsistēmu ielādes rīks. Tādējādi ierīcē tiks atjaunoti rūpnīcas dati. Kad ierīcē būs sekmīgi palaista operētājsistēma Android, izstrādātāju opcijās atspējojiet OAR atbloķēšanu. Apstiprinot šo darbību, ierīcē tiks notīrīti dati un failu sistēma tiks mainīta uz ext4. Kad tas būs paveikts, lūdzu, atgriezieties, lai iespējotu 16 KB."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Dzēst visus datus"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Neizdevās notīrīt datu nodalījumu un to pārformatēt uz failu sistēmu ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Lai varētu izmantot 16 KB režīmu, jāatbloķē operētājsistēmu ielādes rīks"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Jāatbloķē operētājsistēmu ielādes rīks"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Lai varētu izmantot izstrādātāju opciju “16 KB”, ierīcē ir jāatbloķē operētājsistēmu ielādes rīks. Šajā režīmā nevar garantēt programmatūras integritāti, un tālrunī glabātie dati var būt apdraudēti, kamēr operētājsistēmu ielādes rīks ir atbloķēts. Aktivizējot 16 KB režīmu, tiks notīrīti visi lietotāja dati un iestatījumi. Kad operētājsistēmu ielādes rīks būs atbloķēts, ierīce būs atkārtoti jāpalaiž divas reizes, lai aktivizētu opciju “16 KB”. Kad būs ieslēgts šis režīms, varēsiet pārslēgt 4 KB vai 16 KB režīmu, vienreiz atkārtoti palaižot ierīci. Šajos režīmos dažas funkcijas tiks atspējotas, tādēļ dažas lietojumprogrammas var nedarboties. Lai ierīcē atjaunotu produkcijas režīmu, jums būs jāpārslēdz 4 KB režīms un jābloķē OAR/operētājsistēmu ielādes rīks. Tādējādi ierīcē tiks atjaunoti rūpnīcas dati. Lūdzu, atbloķējiet operētājsistēmu ielādes rīku un mēģiniet vēlreiz. Norādījumi ir sniegti šeit: <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Tiek izmantots 4 KB režīms, kas nav atkarīgs no lappušatmiņas lieluma"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Pašlaik izmantojat 4 KB režīmu, kas nav atkarīgs no lappušatmiņas lieluma. Šajā režīmā nevar garantēt programmatūras integritāti, un tālrunī glabātie dati var būt apdraudēti, kamēr operētājsistēmu ielādes rīks ir atbloķēts. Šajos režīmos dažas funkcijas tiks atspējotas, tādēļ dažas lietojumprogrammas var nedarboties. Lai ierīcē atjaunotu produkcijas režīmu, jums ir jābloķē operētājsistēmu ielādes rīks. Pieskarieties, lai lasītu vairāk."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Pašlaik izmantojat 4 KB režīmu, kas nav atkarīgs no lappušatmiņas lieluma. Šajā režīmā nevar garantēt programmatūras integritāti, un tālrunī glabātie dati var būt apdraudēti, kamēr operētājsistēmu ielādes rīks ir atbloķēts. Šajos režīmos dažas funkcijas tiks atspējotas, tādēļ dažas lietojumprogrammas var nedarboties. Lai ierīcē atjaunotu produkcijas režīmu, jums ir jābloķē operētājsistēmu ielādes rīks. Tādējādi ierīcē atkal tiks atjaunoti rūpnīcas dati un produkcijas iestatījumi. Kad ierīcē būs sekmīgi palaista operētājsistēma Android, izstrādātāju opcijās atspējojiet OAR atbloķēšanu. Ja ierīcē neizdodas palaist operētājsistēmu Android vai tā nav stabila, ierīcē instalējiet jaunākos rūpnīcas attēlus no vietnes <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> vai apmeklējiet vietni <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> un atlasiet “Wipe Device” (Notīrīt ierīci), “Lock Bootloader” (Bloķēt operētājsistēmu ielādes rīku) un “Force Flash all partitions” (Veikt piespiedu instalēšanu visos nodalījumos)."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Tiek izmantots 16 KB režīms, kas nav atkarīgs no lappušatmiņas lieluma"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Pašlaik izmantojat 16 KB režīmu, kas nav atkarīgs no lappušatmiņas lieluma. Šajā režīmā nevar garantēt programmatūras integritāti, un tālrunī glabātie dati var būt apdraudēti, kamēr operētājsistēmu ielādes rīks ir atbloķēts. Šajos režīmos dažas funkcijas tiks atspējotas, tādēļ dažas lietojumprogrammas var nedarboties. Lai ierīcē atjaunotu produkcijas režīmu, jums būs jāpārslēdz 4 KB režīms un jābloķē operētājsistēmu ielādes rīks. Pieskarieties, lai lasītu vairāk."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Pašlaik izmantojat 16 KB režīmu, kas nav atkarīgs no lappušatmiņas lieluma. Šajā režīmā nevar garantēt programmatūras integritāti, un tālrunī glabātie dati var būt apdraudēti, kamēr operētājsistēmu ielādes rīks ir atbloķēts. Šajos režīmos dažas funkcijas tiks atspējotas, tādēļ dažas lietojumprogrammas var nedarboties. Lai ierīcē atjaunotu produkcijas režīmu, jums būs jāpārslēdz 4 KB režīms un jābloķē operētājsistēmu ielādes rīks. Tādējādi ierīcē atkal tiks atjaunoti rūpnīcas dati un produkcijas iestatījumi. Kad ierīcē būs sekmīgi palaista operētājsistēma Android, izstrādātāju opcijās atspējojiet OAR atbloķēšanu. Ja ierīcē neizdodas palaist operētājsistēmu Android vai tā nav stabila, ierīcē instalējiet jaunākos rūpnīcas attēlus no vietnes <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> vai apmeklējiet vietni <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> un atlasiet “Wipe Device” (Notīrīt ierīci), “Lock Bootloader” (Bloķēt operētājsistēmu ielādes rīku) un “Force Flash all partitions” (Veikt piespiedu instalēšanu visos nodalījumos)."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Pašlaik izmantojat 16 KB režīmu, kas nav atkarīgs no lappušatmiņas lieluma. Šajā režīmā nevar garantēt programmatūras integritāti, un tālrunī glabātie dati var būt apdraudēti, kamēr operētājsistēmu ielādes rīks ir atbloķēts. Šajos režīmos dažas funkcijas tiks atspējotas, tāpēc dažas lietojumprogrammas var nedarboties. Lai atjaunotu produkcijas režīmu, jums būs atkal jāpāriet uz 4 KB režīmu un pēc tam jābloķē ierīces operētājsistēmu ielādes rīks. Pieskarieties, lai lasītu vairāk."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Pašlaik izmantojat 16 KB režīmu, kas nav atkarīgs no lappušatmiņas lieluma. Šajā režīmā nevar garantēt programmatūras integritāti, un tālrunī glabātie dati var būt apdraudēti, kamēr operētājsistēmu ielādes rīks ir atbloķēts. Šajos režīmos dažas funkcijas tiks atspējotas, tāpēc dažas lietojumprogrammas var nedarboties. Lai atjaunotu produkcijas režīmu, jums būs atkal jāpāriet uz 4 KB režīmu un pēc tam jābloķē ierīces operētājsistēmu ielādes rīks. Tādējādi ierīcē tiks atkal atiestatīti rūpnīcas dati un atjaunoti produkcijas iestatījumi. Kad ierīcē būs sekmīgi palaista operētājsistēma Android, izstrādātāju opcijās atspējojiet OAR atbloķēšanu. Ja ierīcē neizdodas palaist operētājsistēmu Android vai tā nav stabila, atkārtoti instalējiet lasāmatmiņu ierīces iekšējā atmiņā, izmantojot jaunākos rūpnīcas attēlus no vietnes <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> vai apmeklējiet vietni <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> un atlasiet “Wipe Device” (Notīrīt ierīci), “Lock Bootloader” (Bloķēt operētājsistēmu ielādes rīku) un “Force Flash all partitions” (Piespiedu kārtā instalēt lasāmatmiņu visos ierīces iekšējās atmiņas nodalījumos)."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16 KB režīms, kas nav atkarīgs no lappušatmiņas lieluma"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Uzzināt vairāk"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Kļūdu pārskatu apstrādātājs"</string>
@@ -5014,14 +5073,15 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Izmantot lietotņu piespraušanu"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Izmantot izstrādātāju opcijas"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Izmantot drukāšanas pakalpojumu"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Atļaut vairākus lietotājus"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"ļaut, vairāki, lietotājs, atļaut, daudz"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"vairāki, lietotāji, profili, personas, konti, pārslēgties, daudzi"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Izmantot bezvadu atkļūdošanu"</string>
<string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"Izmantot grafikas draivera preferences"</string>
<string name="night_light_main_switch_title" msgid="3428298022467805219">"Izmantot funkciju Nakts režīms"</string>
<string name="nfc_main_switch_title" msgid="6295839988954817432">"Izmantot tehnoloģiju NFC"</string>
- <string name="adaptive_brightness_main_switch_title" msgid="2681666805191642737">"Izmantot adaptīvu spilgtumu"</string>
+ <string name="adaptive_brightness_main_switch_title" msgid="2681666805191642737">"Izmantot adaptīvo spilgtumu"</string>
<string name="wifi_calling_main_switch_title" msgid="4070224008346815634">"Izmantot Wi-Fi zvanus"</string>
<string name="default_see_all_apps_title" msgid="7481113230662612178">"Skatīt visas lietotnes"</string>
<string name="smart_forwarding_title" msgid="8368634861971949799">"Viedā pāradresācija"</string>
@@ -5128,8 +5188,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Izvēlieties, kas būs redzams ekrānā, kad planšetdators būs dokots. Ja izmantosiet ekrānsaudzētāju, ierīce var patērēt vairāk enerģijas."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Pielāgot"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Pielāgot ekrānsaudzētāju “<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>”"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Lai iespējotu brīvās formas atbalstu, nepieciešama atkārtota palaišana."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Lai piespiedu kārtā aktivizētu darbvirsmas režīmu sekundārajos displejos, nepieciešama atkārtota palaišana."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Lai iespējotu atbalstu mantotajam brīvās formas logu režīmam, nepieciešama atkārtota palaišana."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Lai mainītu atbalstu brīvās formas logu režīmam, nepieciešama atkārtota palaišana."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Lai piespiedu kārtā aktivizētu brīvās formas logu režīmu sekundārajos displejos, nepieciešama atkārtota palaišana."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Atkārtoti palaist tūlīt"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Atkārtoti palaist vēlāk"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Telpiskais audio"</string>
@@ -5358,4 +5419,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Klausīties straumi"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Skenējiet audio straumes kvadrātkodu, lai to klausītos ierīcē <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Kopīgošanas laikā paroli nevar rediģēt. Lai mainītu paroli, vispirms izslēdziet audio kopīgošanu."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-mk/arrays.xml b/res/values-mk/arrays.xml
index 7587cfa..2daa309 100644
--- a/res/values-mk/arrays.xml
+++ b/res/values-mk/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Време за спиење"</item>
+ <item msgid="4152450357280759894">"Возење"</item>
+ <item msgid="7096549258219399423">"Реалистично"</item>
+ <item msgid="2760716776980432977">"Управувано"</item>
+ <item msgid="601734478369121764">"Ѕвезда"</item>
+ <item msgid="6243809315432780521">"Календар"</item>
+ <item msgid="4913577903148415331">"Време"</item>
+ <item msgid="3653377604690057780">"Театар"</item>
+ <item msgid="3843711267408385410">"Цвет"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 0977a51..d1d4f0c 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Поставки за слушни апарати"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Кратенка, компатибилност со слушни помагала"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Зададена вредност"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Нема зададени вредности што ги програмирал вашиот аудиолог"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Не можеше да се ажурира зададената вредност"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Аудиоизлез"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"За аудио-излезот"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Додадени се лик и <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Додадени се лик, отпечаток и <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Додадени се лик, отпечатоци и <xliff:g id="WATCH">%s</xliff:g>"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Ова е потребно бидејќи е вклучена „Проверка на идентитетот“"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Отклучување со далечински автентикатор"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Часовникот е додаден"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Поставете го часовникот"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Дознајте повеќе за „Отклучување со часовник“"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Додај часовник"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Отстрани часовник"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Отклучување со отпечаток и лик"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Отклучување со лик и отпечаток"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Отклучување со лик и отпечаток за работа"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Потребно е поставување"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Ликот и отпечатоците се додадени"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Инсталирајте апликации"</b>\n"Инсталирајте ги апликациите што сакате да останат приватни во вашиот „Приватен простор“"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Имајте предвид"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Апликациите сопираат кога ќе го заклучите вашиот „Приватен простор“"</b>\n"Кога ќе го заклучите вашиот „Приватен простор“, апликациите во него се сопираат и нема да добивате известувања од нив"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"„Приватен простор“ не е соодветен за апликации што треба да работат во заднина или да испраќаат важни известувања, како што се медицинските апликации. Тоа е затоа што известувањата и активноста во заднина сопираат кога вашиот „Приватен простор“ е заклучен.\n\nАпликациите од вашиот „Приватен простор“ нема да се појавуваат во „Управувач со дозволи“, „Контролна табла за приватност“, ниту во други поставки кога „Приватниот простор“ е заклучен.\n\nВашиот „Приватен простор“ не може да се премести на нов уред. Ќе треба да поставите друг „Приватен простор“ ако сакате да го користите на друг уред.\n\nАко некој го поврзе вашиот уред со компјутер или инсталира штетни апликации на уредот, можеби ќе може да пристапи до вашиот „Приватен простор“."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"„Приватен простор“ не е соодветен за апликации што треба да работат во заднина или да испраќаат важни известувања, како што се медицинските апликации. Тоа е затоа што известувањата и активноста во заднина сопираат кога вашиот „Приватен простор“ е заклучен.\n\nАпликациите од вашиот „Приватен простор“ нема да се појавуваат во „Управувач со дозволи“, „Контролна табла за приватност“, ниту во други поставки кога „Приватниот простор“ е заклучен.\n\nВашиот „Приватен простор“ не може да се врати на нов уред. Ќе треба да поставите друг „Приватен простор“ ако сакате да го користите на друг уред.\n\nАко некој го поврзе вашиот уред со компјутер или инсталира злонамерни апликации на уредот, можеби ќе може да пристапи до вашиот „Приватен простор“."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Дознајте повеќе за „Приватен простор“"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Ова ќе трае неколку секунди"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Се поставува „Приватен простор“…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Да се рестартира уредот?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Деталното евидентирање на NFC е наменето само за развојни цели. Дополнителни податоци од NFC се вклучени во извештаите за грешки, коишто може да содржат приватни податоци. Рестартирајте го уредов за да ја промените оваа поставка."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Рестартирај"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Емитување"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"огледало"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Овозможи приказ на безжични мрежи"</string>
@@ -1192,7 +1222,8 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Адаптивни"</string>
<string name="brightness" msgid="6216871641021779698">"Ниво на осветленост"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Адаптивна осветленост"</string>
- <string name="auto_brightness_description" msgid="6807117118142381193">"Осветленоста на екранот ќе се приспособува автоматски на вашата околина и активностите. Може да го поместите лизгачот рачно за да ѝ помогнете на адаптивната осветленост да научи што ви одговара."</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"За „Адаптивна осветленост“"</string>
+ <string name="auto_brightness_description" msgid="6807117118142381193">"Осветленоста на екранот ќе се приспособува автоматски на вашата околина и активности. Може да го поместите лизгачот рачно за да ѝ помогнете на адаптивната осветленост да научи што ви одговара."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Вклучено"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Исклучена"</string>
<string name="display_white_balance_title" msgid="2624544323029364713">"Баланс на бела боја на екранот"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Опции"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Пристапност"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Физичка тастатура"</string>
- <string name="show_ime" msgid="4334255501724746849">"Користете тастатура на екран"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Прикажувај ја на екранот додека е активна физичката тастатура"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Игнорирај повторени притискања"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Тастатурата игнорира брзи притискања на истото копче што се повторуваат во <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Бавни копчиња"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Корисникот избрал: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Говор"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Брзина на покажувачот"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Контролор на игра"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Пренасочување вибрации"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Испрати вибрации кон контролорот на игра кога е поврзан"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Сепак продолжи"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Откажи"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Поставки за зголемување"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Повлекување со еден прст"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Движете ја лупата со 1 прст"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Повлечете со 1 прст за движење низ екранот"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Преместете го зголемување со повлекување со еден прст."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Преместете го зголемување со повлекување со два прста."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Недостапно кога се зголемува само дел од екранот"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Допрете копче за зумирање"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Брзо зумирајте на екранот за да ги направите содржините поголеми"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>За да зумирате:</b><br/> {0,number,integer}. Употребете кратенка за почеток на зголемувањето<br/> {1,number,integer}. Допрете го екранот<br/> {2,number,integer}. Повлечете со два прста за да се движите низ екранот<br/> {3,number,integer}. Штипнете со два прста за да го приспособите зумот<br/> {4,number,integer}. Употребете кратенка за крај на зголемувањето<br/><br/><b>За да зумирате привремено:</b><br/> {0,number,integer}. Погрижете се типот на зголемувањето да биде поставен на цел екран<br/> {1,number,integer}. Употребете кратенка за почеток на зголемувањето<br/> {2,number,integer}. Допрете и задржете каде било на екранот<br/> {3,number,integer}. Повлечете со прст за да се движите низ екранот<br/> {4,number,integer}. Подигнете го прстот за крај на зголемувањето"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>За да зумирате:</b><br/> {0,number,integer}. Употребете кратенка за почеток на зголемувањето<br/> {1,number,integer}. Допрете го екранот<br/> {2,number,integer}. Повлечете со 2 прста за да се движите низ екранот<br/> {3,number,integer}. Штипнете со 2 прста за да го приспособите зумот<br/> {4,number,integer}. Употребете кратенка за сопирање на зголемувањето<br/><br/> Може и да зумирате привремено и друго."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>За да зумирате:</b><br/> {0,number,integer}. Употребете кратенка за почеток на зголемувањето<br/> {1,number,integer}. Допрете го екранот<br/> {2,number,integer}. Повлечете со 1 или 2 прста за да се движите низ екранот<br/> {3,number,integer}. Штипнете со 2 прста за да го приспособите зумот<br/> {4,number,integer}. Употребете кратенка за сопирање на зголемувањето<br/><br/> Може и да зумирате привремено и друго."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Кога е вклучено зумирањето, може да зумирате на екранот.\n\n"<b>"За да зумирате"</b>", стартувајте го зголемувањето, па допрете каде било на екранот.\n"<ul><li>"Повлечете со два или повеќе прсти за да лизгате"</li>\n<li>"Штипнете со два или повеќе прсти за да го приспособите зумот"</li></ul>\n\n<b>"За да зумирате привремено"</b>", стартувајте го зголемувањето, а потоа допрете и задржете каде било на екранот.\n"<ul><li>"Повлечете за да се движите околу екранот"</li>\n<li>"Подигнете го прстот за да одзумирате"</li></ul>\n\n"Не може да зумирате на тастатурата или на лентата за навигација."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Страница <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> од <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Кратенка за копчето за пристапност"</string>
@@ -2189,8 +2227,8 @@
<string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Дознајте повеќе за копчето за пристапност и движење"</string>
<string name="accessibility_button_intro" msgid="2601976470525277903">"Користење на копчето за пристапност. Движењето не е достапно со навигација со 3 копчиња."</string>
<string name="accessibility_button_summary" msgid="8510939012631455831">"Брзо пристапувајте до функциите за пристапност"</string>
- <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"<b>За да започнете</b><br/> {0,number,integer}. oдете во поставките за пристапност<br/> {1,number,integer}. изберете функција и допрете ја кратенката<br/> {2,number,integer}. изберете дали сакате да користите копче или движење за пристап до функцијата<br/>"</string>
- <string name="accessibility_button_description" msgid="7669538706120092399">"<b>За да започнете</b><br/> {0,number,integer}. oдете во поставките за пристапност<br/> {1,number,integer}. изберете функција и допрете ја кратенката<br/> {2,number,integer}. изберете го копчето за пристап до функцијата<br/>"</string>
+ <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"<b>За да започнете</b><br/> {0,number,integer}. Одете во поставките за пристапност<br/> {1,number,integer}. Изберете функција и допрете ја кратенката<br/> {2,number,integer}. Изберете дали сакате да користите копче или движење за пристап до функцијата<br/>"</string>
+ <string name="accessibility_button_description" msgid="7669538706120092399">"<b>За да започнете</b><br/> {0,number,integer}. Одете во поставките за пристапност<br/> {1,number,integer}. Изберете функција и допрете ја кратенката<br/> {2,number,integer}. Изберете го копчето за пристап до функцијата<br/>"</string>
<string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Користете копче или движење"</string>
<string name="accessibility_button_location_title" msgid="7182107846092304942">"Локација"</string>
<string name="accessibility_button_size_title" msgid="5785110470538960881">"Големина"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Добивајте известувања само од важни луѓе и апликации"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Изберете тип активација"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Време"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"На пр. „9:30 – 17:00“"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Календар"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"На пр. „Личен календар“"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Создајте режим"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Приспособено"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ограничете ги прекините"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Исклучување на „Не вознемирувај“"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Алармите и звуците од аудиовизуелните содржини може да го прекинуваат"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Распореди"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Избришете ги распоредите"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Избриши"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Измени"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Распореди"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Распоред"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Додајте календар"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Користете го календарот"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Распоред"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Поставете распоред"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Распоред"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ч. <xliff:g id="MINUTES">%2$d</xliff:g> мин."</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Автоматско вклучување"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Распоред"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Не вознемирувај во одредено време"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Правила за „Не вознемирувај“"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Дозволете прекинувања што произведуваат звук"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Блокирајте визуелни нарушувања"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Дозволи визуелни сигнали"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Известувања што може да стигнат до вас"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Останете фокусирани"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Дополнителни дејства"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Поставки за екранот"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Опции за екранот"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"овозможете темна тема"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Префрлете ги OS и апликациите за да претпочитаат светол текст на темна заднина, што може да биде полесно за очите и овозможува значителна заштеда на батеријата на некои уреди"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Нема промени на екранот}=1{{effect_1}}=2{{effect_1} и {effect_2}}=3{{effect_1}, {effect_2} и {effect_3}}one{{effect_1}, {effect_2} и уште #}other{{effect_1}, {effect_2} и уште #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Филтрирај ги прекините"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Не се филтрираат прекините"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Опции за прикажување филтрирани известувања"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Кога е вклучен режимот „Не вознемирувај“"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Без звук од известувањата"</string>
@@ -3486,6 +3541,8 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"отворете го известувањето"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Дозволи одложување на известувањата"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Точка за известување на икона за апликацијата"</string>
+ <!-- no translation found for notification_bundles (3614044525822580826) -->
+ <skip />
<string name="notification_bubbles_title" msgid="5681506665322329301">"Балончиња"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Балончиња"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Стави го разговорот во балонче"</string>
@@ -3667,6 +3724,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Категории"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Друго"</string>
<string name="no_channels" msgid="4716199078612071915">"Апликацијава не објави ниедно известување"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Прикажи ги некористените категории"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Дополнителни поставки во апликацијата"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Прикажи ги некористените категории"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Скриј ги некористените категории"</string>
@@ -3778,6 +3836,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Сите"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Дозволете апликациите да занемаруваат"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Апликации што може да го прекинуваат режимот"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Изберете уште апликации"</string>
@@ -3814,12 +3874,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Смени само на аларми во траење од еден час до {time}}one{Смени само на аларми во траење од # час до {time}}other{Смени само на аларми во траење од # часа до {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Промена на аларми само до <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Промени секогаш да се прекине"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Преименувајте"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Променете ја иконата"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Променете ја иконата"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Опомена"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Затвори"</string>
<string name="device_feedback" msgid="5351614458411688608">"Повратни информации за уредов"</string>
@@ -4805,8 +4862,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Футрола за полнење"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Батерија"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Табла за поставки"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Наметни режим на работна површина"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Наметнете го експерименталниот режим на работна површина на секундарните екрани"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Овозможете прозорци со менлива големина"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Овозможете поддршка за прозорци со слободна форма."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Овозм. прозорци со менлива големина на втор екран"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Овозможете прозорци со слободна форма само на втор екран."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Овозможи фиксна големина во режим со повеќе прозорци"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Овозможува апликации со фиксна големина да бидат во режим со повеќе прозорци"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Отфрли го наметнувањето темен режим"</string>
@@ -4874,14 +4933,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Пред да се користи програмерската опција од 16 kB, партицијата со податоци на уредов треба да се конвертира во ext4. Во овој режим не може да се гарантира интегритетот на софтверот, а податоците складирани на телефонот додека е отклучен вчитувачот на систем може да бидат изложени на ризик. За да се активира опцијата од 16 kB, ќе биде потребно уште едно рестартирање по ова. Штом ќе влезете во овој режим, може да се префрлате меѓу режимите од 4 kB и 16 kB со едно рестартирање. Некои функции ќе бидат оневозможени во овие режими, па некои апликации можеби нема да функционираат. За да го вратите уредот во работен режим, ќе треба да се вратите во режимот од 4 kB, па да го заклучите вчитувачот на систем, којшто го ресетира уредот на фабрички поставки. Откако уредот успешно ќе се подигне во Android, оневозможете го отклучувањето OEM во „Програмерски опции“. По потврдувањето, уредот ќе се избрише трајно, а системот на датотеки ќе се промени во ext4. Кога ќе заврши ова, вратете се за да овозможите режим од 16 kB повторно."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Избриши ги сите податоци"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Неуспешно повторно форматирање и трајно бришење на партицијата со податоци во ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Вчитувачот на систем треба да се отклучи за режим од 16 kB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Потребно е отклучување на вчитувачот на системот"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Пред да може да се користи програмерската опција од 16 kB, треба да се отклучи вчитувачот на систем на уредов. Во овој режим не може да се гарантира интегритетот на софтверот, а податоците складирани на телефонот додека е отклучен вчитувачот на систем може да бидат изложени на ризик. При активирањето режим од 16 kB, ќе се избришат трајно сите кориснички податоци и поставки. Откако ќе се отклучи вчитувачот на систем, ќе бидат потребни две рестартирања за да се активира опцијата од 16 kB. Штом ќе влезете во овој режим, може да се префрлате меѓу режимите од 4 kB и 16 kB со едно рестартирање. Некои функции ќе бидат оневозможени во овие режими, па некои апликации можеби нема да функционираат. За да го вратите уредот во работен режим, ќе треба да се вратите во режимот од 4 kB, па да го заклучите OEM/вчитувачот на систем, којшто го ресетира уредот на фабрички поставки. Отклучете го вчитувачот на систем, па обидете се повторно. Инструкции како да го направите ова може да најдете на <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Се користи режимот за компатибилност со мемориски страници од 4 kB"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Вие сте во режимот од 4 kB на режимот за компатибилност со мемориски страници. Во овој режим не може да се гарантира интегритетот на софтверот, а податоците складирани на телефонот додека е отклучен вчитувачот на систем може да бидат изложени на ризик. Некои функции ќе бидат оневозможени во овие режими, па некои апликации можеби нема да функционираат. За да влезете во работен режим повторно, мора да го заклучите вчитувачот на систем на уредот. Допрете за да прочитате повеќе."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Вие сте во режимот од 4 kB на режимот за компатибилност со мемориски страници. Во овој режим не може да се гарантира интегритетот на софтверот, а податоците складирани на телефонот додека е отклучен вчитувачот на систем може да бидат изложени на ризик. Некои функции ќе бидат оневозможени во овие режими, па некои апликации можеби нема да функционираат. За да влезете во работен режим повторно, мора да го заклучите вчитувачот на систем на уредот. Ова ќе го ресетира уредот на фабрички поставки повторно и ќе го врати на поставките за работен режим. Откако уредот успешно ќе се подигне во Android, оневозможете го отклучувањето OEM во „Програмерски опции“. Ако уредот не може да се подигне во Android или е нестабилен, преинсталирајте ги најновите фабрички слики на уредот од <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> или користете <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> и изберете „Трајно избриши ги податоците на уредот“, „Заклучи го вчитувачот на системот“ и „Force Flash all partitions“ (Наметни инсталирање на сите партиции)."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Се користи режимот за компатибилност со мемориски страници од 16 kB"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Вие сте во режимот од 16 kB на режимот за компатибилност со мемориски страници. Во овој режим не може да се гарантира интегритетот на софтверот, а податоците складирани на телефонот додека е отклучен вчитувачот на систем може да бидат изложени на ризик. Некои функции ќе бидат оневозможени во овие режими, па некои апликации можеби нема да функционираат. За да влезете во работен режим повторно, мора да се вратите во режим од 4 kB, па да го заклучите вчитувачот на систем на уредот. Допрете за да прочитате повеќе."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Вие сте во режимот од 16 kB на режимот за компатибилност со мемориски страници. Во овој режим не може да се гарантира интегритетот на софтверот, а податоците складирани на телефонот додека е отклучен вчитувачот на систем може да бидат изложени на ризик. Некои функции ќе бидат оневозможени во овие режими, па некои апликации можеби нема да функционираат. За да влезете во работен режим повторно, мора да се вратите во режим од 4 kB, па да го заклучите вчитувачот на систем на уредот. Ова ќе го ресетира уредот на фабрички поставки повторно и ќе го врати на поставките за работен режим. Откако уредот успешно ќе се подигне во Android, оневозможете го отклучувањето OEM во „Програмерски опции“. Ако уредот не може да се подигне во Android или е нестабилен, преинсталирајте ги најновите фабрички слики на уредот од <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> или користете <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> и изберете „Трајно избриши ги податоците на уредот“, „Заклучи го вчитувачот на системот“ и „Force Flash all partitions“ (Наметни инсталирање на сите партиции)."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Вие сте во режимот од 16 KB на режимот за компатибилност на мемориски страници. Во овој режим не може да се гарантира интегритетот на софтверот, а податоците складирани на телефонот додека е отклучен вчитувачот на систем може да бидат изложени на ризик. Некои функции ќе бидат оневозможени во овие режими, па некои апликации можеби нема да функционираат. За да влезете во работен режим повторно, мора да се вратите во режим од 4 KB, па да го заклучите вчитувачот на систем на уредот. Допрете за да прочитате повеќе."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Вие сте во режимот од 16 KB на режимот за компатибилност на мемориски страници. Во овој режим не може да се гарантира интегритетот на софтверот, а податоците складирани на телефонот додека е отклучен вчитувачот на систем може да бидат изложени на ризик. Некои функции ќе бидат оневозможени во овие режими, па некои апликации можеби нема да функционираат. За да влезете во работен режим повторно, мора да се вратите во режим од 4 KB, па да го заклучите вчитувачот на систем на уредот. Ова ќе го ресетира уредот на фабрички поставки повторно и ќе го врати на поставките за работен режим. Откако уредот успешно ќе се подигне во Android, оневозможете го отклучувањето OEM во „Програмерски опции“. Ако уредот не може да се подигне во Android или е нестабилен, преинсталирајте ги најновите фабрички слики на уредот од <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> или користете <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> и изберете „Трајно избриши ги податоците на уредот“, „Заклучи го вчитувачот на системот“ и „Force Flash all partitions“ (Наметни инсталирање на сите партиции)."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Режим за компатибилност со мемориски страници од 16 kB"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Прочитајте повеќе"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Ракувач со извештајот за грешки"</string>
@@ -5013,7 +5072,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Користи „Закачување апликации“"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Користи „Програмерски опции“"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Користи ја услугата за печатење"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Дозволи повеќе корисници"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"дозволи, повеќекратно, корисник, дозвола, многу"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"повеќе, корисници, профили, лица, сметки, смени, многу"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Користи „Безжично отстранување грешки“"</string>
@@ -5127,8 +5187,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Изберете што да се прикажува на екранот кога таблетот е приклучен на док. Уредот може да користи повеќе енергија кога се користи штедач на екранот."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Приспособете"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Приспособете го <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Потребно е рестартирање за да се овозможи поддршка со слободна форма."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Потребно е рестартирање за да се присили режимот на компјутер на секундарни екрани."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Потребно е рестартирање за да се овозможи поддршка за застарени прозорци со менлива големина."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Потребно е рестартирање за да се промени поддршката за прозорци со менлива големина."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Потребно е рестартирање за да се присилат прозорци со менлива големина на секундарни екрани."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Рестартирај сега"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Рестартирај подоцна"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Просторен звук"</string>
@@ -5357,4 +5418,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Слушнете го стримот"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Скенирајте го QR-кодот на аудиостримот за да слушате со <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Лозинката не може да се измени додека се споделува. За промена на лозинката, прво исклучете го споделувањето аудио."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-ml/arrays.xml b/res/values-ml/arrays.xml
index f0c66cd..a9cfcb7 100644
--- a/res/values-ml/arrays.xml
+++ b/res/values-ml/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"ബെഡ്ടൈം"</item>
+ <item msgid="4152450357280759894">"ഡ്രൈവിംഗ്"</item>
+ <item msgid="7096549258219399423">"ഇമേഴ്സീവ്"</item>
+ <item msgid="2760716776980432977">"മാനേജ് ചെയ്യുന്നത്"</item>
+ <item msgid="601734478369121764">"നക്ഷത്രം"</item>
+ <item msgid="6243809315432780521">"കലണ്ടർ"</item>
+ <item msgid="4913577903148415331">"സമയം"</item>
+ <item msgid="3653377604690057780">"തിയേറ്റർ"</item>
+ <item msgid="3843711267408385410">"പൂവ്"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 92dd19b..d4be889 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"ശ്രവണ സഹായിയുടെ ക്രമീകരണം"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"കുറുക്കുവഴി, ശ്രവണ സഹായ അനുയോജ്യത"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"പ്രീസെറ്റ്"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"ഓഡിയോളജിസ്റ്റ് പ്രോഗ്രാം ചെയ്ത പ്രീസെറ്റുകളൊന്നുമില്ല"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"പ്രീസെറ്റ് അപ്ഡേറ്റ് ചെയ്യാനായില്ല"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ഓഡിയോ ഔട്ട്പുട്ട്"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ഓഡിയോ ഔട്ട്പുട്ടിനെ കുറിച്ച്"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"മുഖവും <xliff:g id="WATCH">%s</xliff:g> എന്നതും ചേർത്തു"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"മുഖവും ഫിംഗർപ്രിന്റും <xliff:g id="WATCH">%s</xliff:g> എന്നതും ചേർത്തു"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"മുഖവും ഫിംഗർപ്രിന്റുകളും <xliff:g id="WATCH">%s</xliff:g> എന്നതും ചേർത്തു"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"ഐഡന്റിറ്റി പരിശോധന ഓണായിരിക്കുന്നതിനാൽ ഇത് ആവശ്യമാണ്"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"വിദൂര Authenticator അൺലോക്ക്"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"വാച്ച് ചേർത്തു"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"നിങ്ങളുടെ വാച്ച് സജ്ജീകരിക്കൂ"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"വാച്ച് അൺലോക്കിനെ കുറിച്ച് കൂടുതലറിയുക"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"വാച്ച് ചേർക്കുക"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"വാച്ച് നീക്കം ചെയ്യുക"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ഫിംഗർപ്രിന്റ് & ഫേസ് അൺലോക്ക്"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ഫെയ്സ്, ഫിംഗർപ്രിന്റ് അൺലോക്ക്"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"ഔദ്യോഗികാവശ്യത്തിനുള്ള ഫെയ്സ്, ഫിംഗർപ്രിന്റ് അൺലോക്ക്"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"സജ്ജീകരിക്കേണ്ടതുണ്ട്"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"മുഖവും ഫിംഗർപ്രിന്റുകളും ചേർത്തു"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"ആപ്പുകൾ ഇൻസ്റ്റാൾ ചെയ്യുക"</b>\n"നിങ്ങളുടെ സ്പേസിൽ സ്വകാര്യമായി സൂക്ഷിക്കേണ്ട ആപ്പുകൾ ഇൻസ്റ്റാൾ ചെയ്യുക"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"ശ്രദ്ധിക്കേണ്ട കാര്യങ്ങൾ"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"നിങ്ങൾ സ്പേസ് ലോക്ക് ചെയ്യുമ്പോൾ ആപ്പുകൾ നിർത്തുന്നു"</b>\n"നിങ്ങളുടെ സ്പേസ് ലോക്ക് ചെയ്യുമ്പോൾ, സ്പേസിലെ ആപ്പുകൾ നിർത്തും, അവയിൽ നിന്ന് അറിയിപ്പുകൾ ലഭിക്കില്ല"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"പശ്ചാത്തലത്തിൽ റൺ ചെയ്യേണ്ട ആപ്പുകൾക്ക് അല്ലെങ്കിൽ മെഡിക്കൽ ആപ്പുകൾ പോലുള്ള, നിർണ്ണായക അറിയിപ്പുകൾ അയയ്ക്കേണ്ട ആപ്പുകൾക്ക് സ്വകാര്യ സ്പേസുകൾ അനുയോജ്യമല്ല. നിങ്ങളുടെ സ്പേസ് ലോക്ക് ചെയ്യുമ്പോൾ അറിയിപ്പുകളും പശ്ചാത്തല ആക്റ്റിവിറ്റിയും നിർത്തും എന്നതാണ് ഇതിന്റെ കാരണം.\n\nനിങ്ങളുടെ സ്വകാര്യ സ്പേസ് ലോക്ക് ചെയ്തിരിക്കുമ്പോൾ അനുമതി മാനേജർ, സ്വകാര്യതാ ഡാഷ്ബോർഡ്, മറ്റ് ക്രമീകരണം എന്നിവയിൽ സ്വകാര്യ സ്പേസിലെ ആപ്പുകൾ ദൃശ്യമാകില്ല.\n\nനിങ്ങളുടെ സ്വകാര്യ സ്പേസ് പുതിയ ഉപകരണത്തിലേക്ക് പുനഃസ്ഥാപിക്കാനാകില്ല. മറ്റൊരു ഉപകരണത്തിൽ നിങ്ങൾക്ക് അത് ഉപയോഗിക്കണമെന്നുണ്ടെങ്കിൽ നിങ്ങൾ മറ്റൊരു സ്വകാര്യ സ്പേസ് സജ്ജീകരിക്കേണ്ടതുണ്ട്.\n\nനിങ്ങളുടെ ഉപകരണത്തെ കമ്പ്യൂട്ടറുമായി ബന്ധിപ്പിക്കുന്ന അല്ലെങ്കിൽ ഉപകരണത്തിൽ ദോഷകരമായ ആപ്പുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്ന ആർക്കും നിങ്ങളുടെ സ്വകാര്യ സ്പേസ് ആക്സസ് ചെയ്യാനാകും."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"പശ്ചാത്തലത്തിൽ റൺ ചെയ്യേണ്ട ആപ്പുകൾക്ക് അല്ലെങ്കിൽ മെഡിക്കൽ ആപ്പുകൾ പോലുള്ള, നിർണ്ണായക അറിയിപ്പുകൾ അയയ്ക്കേണ്ട ആപ്പുകൾക്ക് സ്വകാര്യ സ്പേസുകൾ അനുയോജ്യമല്ല. നിങ്ങളുടെ സ്പേസ് ലോക്ക് ചെയ്യുമ്പോൾ അറിയിപ്പുകളും പശ്ചാത്തല ആക്റ്റിവിറ്റിയും നിർത്തും എന്നതാണ് ഇതിന്റെ കാരണം.\n\nസ്വകാര്യ സ്പേസ് ലോക്ക് ചെയ്തിരിക്കുമ്പോൾ അനുമതി മാനേജർ, സ്വകാര്യതാ ഡാഷ്ബോർഡ്, മറ്റ് ക്രമീകരണം എന്നിവയിൽ സ്വകാര്യ സ്പേസിലെ ആപ്പുകൾ ദൃശ്യമാകില്ല.\n\nനിങ്ങളുടെ സ്വകാര്യ സ്പേസ് പുതിയ ഉപകരണത്തിലേക്ക് പുനഃസ്ഥാപിക്കാനാകില്ല. മറ്റൊരു ഉപകരണത്തിൽ നിങ്ങൾക്ക് അത് ഉപയോഗിക്കണമെന്നുണ്ടെങ്കിൽ നിങ്ങൾ മറ്റൊരു സ്പേസ് സജ്ജീകരിക്കേണ്ടതുണ്ട്.\n\nനിങ്ങളുടെ ഉപകരണത്തെ കമ്പ്യൂട്ടറുമായി ബന്ധിപ്പിക്കുന്ന അല്ലെങ്കിൽ ഉപകരണത്തിൽ ദോഷകരമായ ആപ്പുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്ന ആർക്കും നിങ്ങളുടെ സ്വകാര്യ സ്പേസ് ആക്സസ് ചെയ്യാനാകും."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"സ്വകാര്യ സ്പേസിനെക്കുറിച്ച് കൂടുതലറിയുക"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"ഇതിന് കുറച്ച് സമയമെടുക്കും"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"സ്വകാര്യ സ്പേസ് സജ്ജീകരിക്കുന്നു…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"ഉപകരണം റീസ്റ്റാർട്ട് ചെയ്യണോ?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"ഡെവലപ്പ്മെന്റ് ആവശ്യങ്ങൾക്ക് മാത്രം ഉദ്ദേശിച്ചുള്ളതാണ് വിശദമായ NFC ലോഗ് ചെയ്യൽ. ബഗ് റിപ്പോർട്ടുകളിൽ അധിക NFC ഡാറ്റ ഉൾപ്പെടുത്തിയിരിക്കുന്നു, അവയിൽ സ്വകാര്യ വിവരങ്ങൾ അടങ്ങിയിരിക്കാം. ഈ ക്രമീകരണം മാറ്റാൻ നിങ്ങളുടെ ഉപകരണം റീസ്റ്റാർട്ട് ചെയ്യുക."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"റീസ്റ്റാർട്ട് ചെയ്യൂ"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"കാസ്റ്റ് ചെയ്യുക"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"മിറർ"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"വയർലസ്ഡിസ്പ്ലേ സജീവമാക്കൂ"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"അനുയോജ്യമായത്"</string>
<string name="brightness" msgid="6216871641021779698">"തെളിച്ചനില"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"അനുയോജ്യമായ തെളിച്ചം"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"അനുയോജ്യമായ തെളിച്ചത്തെ കുറിച്ച്"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"നിങ്ങളുടെ ചുറ്റുപാട്, പ്രവർത്തനം എന്നിവ അനുസരിച്ച് സ്ക്രീൻ തെളിച്ചം സ്വയമേവ ക്രമീകരിക്കും. നിങ്ങളുടെ താൽപര്യം മനസ്സിലാക്കാൻ അനുയോജ്യമായ തെളിച്ചത്തിനെ സഹായിക്കുന്നതിന് സ്ലൈഡർ നേരിട്ട് നീക്കാം."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"ഓണാണ്"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"ഓഫ്"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"ഓപ്ഷനുകൾ"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"ഉപയോഗസഹായി"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"ഫിസിക്കൽ കീബോർഡ്"</string>
- <string name="show_ime" msgid="4334255501724746849">"ഓൺ-സ്ക്രീൻ കീബോർഡ് ഉപയോഗിക്കുക"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"ഫിസിക്കൽ കീബോർഡ് സജീവമായിരിക്കുമ്പോൾ സ്ക്രീനിൽ നിലനിർത്തുക"</string>
<string name="bounce_keys" msgid="7419450970351743904">"ബൗൺസ് കീകൾ"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> മില്ലിസെക്കൻഡിനുള്ളിൽ ഒരേ കീ അതിവേഗം ആവർത്തിച്ച് അമർത്തുന്നത് കീബോർഡ് അവഗണിക്കും"</string>
<string name="slow_keys" msgid="2891452895499690837">"സ്ലോ കീകൾ"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"തിരഞ്ഞെടുത്ത ഉപയോക്താവ്: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"സംഭാഷണം"</string>
<string name="pointer_speed" msgid="7398649279282675718">"പോയിന്റർ വേഗത"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"ഗെയിം കൺട്രോളർ"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"വൈബ്രേഷൻ റീഡയറക്റ്റ് ചെയ്യുക"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"കണക്റ്റ് ചെയ്തിരിക്കുമ്പോൾ, ഗെയിം കൺട്രോളറിലേക്ക് വൈബ്രേഷൻ അയയ്ക്കുക"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"എന്തായാലും തുടരുക"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"റദ്ദാക്കുക"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"മാഗ്നിഫിക്കേഷൻ ക്രമീകരണം"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"ഒരു വിരൽ കൊണ്ടുള്ള പാനിംഗ്"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"ഒരു വിരൽ ഉപയോഗിച്ച് മാഗ്നിഫയർ നീക്കുക"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"സ്ക്രീനിലുടനീളം നീങ്ങാൻ ഒരു വിരൽ ഉപയോഗിച്ച് വലിച്ചിടുക"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"ഒരു വിരൽ കൊണ്ട് വലിച്ച് മാഗ്നിഫിക്കേഷൻ ഏരിയ നീക്കുക."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"രണ്ട് വിരലുകൾ കൊണ്ട് വലിച്ച് മാഗ്നിഫിക്കേഷൻ ഏരിയ നീക്കുക."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"സ്ക്രീനിന്റെ ഒരു ഭാഗം മാത്രം വലുതാക്കിയിരിക്കുമ്പോൾ ലഭ്യമല്ല"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"സൂം ചെയ്യുന്നതിന് ബട്ടണിൽ ടാപ്പ് ചെയ്യുക"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"ഉള്ളടക്കം വലുതാക്കാൻ സ്ക്രീനിൽ വേഗത്തിൽ സൂം ഇൻ ചെയ്യുക"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>സൂം ഇൻ ചെയ്യാൻ:</b><br/> {0,number,integer}. മാഗ്നിഫിക്കേഷൻ ആരംഭിക്കാൻ കുറുക്കുവഴി ഉപയോഗിക്കുക<br/> {1,number,integer}. സ്ക്രീനിൽ ടാപ്പ് ചെയ്യുക<br/> {2,number,integer}. സ്ക്രീനിലുടനീളം നീക്കാൻ 2 വിരലുകൾ ഉപയോഗിച്ച് വലിച്ചിടുക<br/> {3,number,integer}. സൂം ക്രമീകരിക്കാൻ 2 വിരലുകൾ ഉപയോഗിച്ച് പിഞ്ച് ചെയ്യുക<br/> {4,number,integer}. മാഗ്നിഫിക്കേഷൻ നിർത്താൻ കുറുക്കുവഴി ഉപയോഗിക്കുക<br/><br/> <b>താൽക്കാലികമായി സൂം ഇൻ ചെയ്യാൻ:</b><br/> {0,number,integer}. നിങ്ങളുടെ മാഗ്നിഫിക്കേഷൻ തരം പൂർണ്ണ സ്ക്രീനിലേക്ക് സജ്ജീകരിച്ചിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക<br/> {1,number,integer}. മാഗ്നിഫിക്കേഷൻ ആരംഭിക്കാൻ കുറുക്കുവഴി ഉപയോഗിക്കുക<br/> {2,number,integer}. സ്ക്രീനിൽ എവിടെയെങ്കിലും സ്പർശിച്ച് പിടിക്കുക<br/> {3,number,integer}. സ്ക്രീനിലുടനീളം നീക്കാൻ വിരൽ ഉപയോഗിച്ച് വലിച്ചിടുക<br/> {4,number,integer}. മാഗ്നിഫിക്കേഷൻ നിർത്താൻ വിരൽ സ്ക്രീനിൽ നിന്ന് എടുക്കുക"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>സൂം ഇൻ ചെയ്യാൻ:</b><br/> {0,number,integer}. മാഗ്നിഫിക്കേഷൻ ആരംഭിക്കാൻ കുറുക്കുവഴി ഉപയോഗിക്കുക<br/> {1,number,integer}. സ്ക്രീനിൽ ടാപ്പ് ചെയ്യുക<br/> {2,number,integer}. സ്ക്രീനിലുടനീളം നീക്കാൻ 2 വിരലുകൾ ഉപയോഗിച്ച് വലിച്ചിടുക<br/> {3,number,integer}. സൂം ക്രമീകരിക്കാൻ 2 വിരലുകൾ ഉപയോഗിച്ച് പിഞ്ച് ചെയ്യുക<br/> {4,number,integer}. മാഗ്നിഫിക്കേഷൻ നിർത്താൻ കുറുക്കുവഴി ഉപയോഗിക്കുക<br/><br/> നിങ്ങൾക്ക് താൽകാലികമായും മറ്റും സൂം ഇൻ ചെയ്യാനും കഴിയും."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>സൂം ഇൻ ചെയ്യാൻ:</b><br/> {0,number,integer}. മാഗ്നിഫിക്കേഷൻ ആരംഭിക്കാൻ കുറുക്കുവഴി ഉപയോഗിക്കുക<br/> {1,number,integer}. സ്ക്രീനിൽ ടാപ്പ് ചെയ്യുക<br/> {2,number,integer}. സ്ക്രീനിലുടനീളം നീക്കാൻ 1 അല്ലെങ്കിൽ 2 വിരലുകൾ ഉപയോഗിച്ച് വലിച്ചിടുക<br/> {3,number,integer}. സൂം ക്രമീകരിക്കാൻ 2 വിരലുകൾ ഉപയോഗിച്ച് പിഞ്ച് ചെയ്യുക<br/> {4,number,integer}. മാഗ്നിഫിക്കേഷൻ നിർത്താൻ കുറുക്കുവഴി ഉപയോഗിക്കുക<br/><br/> നിങ്ങൾക്ക് താൽകാലികമായും മറ്റും സൂം ഇൻ ചെയ്യാനും കഴിയും."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"മാഗ്നിഫിക്കേഷൻ ഓണാക്കിയിരിക്കുമ്പോൾ, നിങ്ങളുടെ സ്ക്രീനിൽ സൂം ഇൻ ചെയ്യാവുന്നതാണ്.\n\n"<b>"സൂം ചെയ്യാൻ"</b>", മാഗ്നിഫിക്കേഷൻ ആരംഭിച്ച ശേഷം നിങ്ങളുടെ സ്ക്രീനിൽ എവിടെയെങ്കിലും ടാപ്പ് ചെയ്യുക.\n"<ul><li>"സ്ക്രോൾ ചെയ്യാൻ രണ്ടോ അതിലധികമോ വിരലുകൾ ഇഴയ്ക്കുക"</li>\n<li>"സൂം ക്രമീകരിക്കാൻ രണ്ടോ അതിലധികമോ വിരലുകൾ പിഞ്ച് ചെയ്യുക"</li></ul>\n\n<b>"താൽക്കാലികമായി സൂം ചെയ്യാൻ"</b>", മാഗ്നിഫിക്കേഷൻ ആരംഭിച്ച ശേഷം സ്ക്രീനിൽ എവിടെയെങ്കിലും സ്പർശിച്ചുപിടിക്കുക.\n"<ul><li>"സ്ക്രീനിന് ചുറ്റും നീക്കാൻ വലിച്ചിടുക"</li>\n<li>"സൂം ഔട്ട് ചെയ്യാൻ വിരൽ എടുക്കുക"</li></ul>\n\n"കീബോർഡിലും നാവിഗേഷൻ ബാറിലും നിങ്ങൾക്ക് സൂം ഇൻ ചെയ്യാനാവില്ല."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g> പേജുകളിൽ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>-ാമത്തെ പേജ്"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"ഉപയോഗസഹായി ബട്ടണിന്റെ കുറുക്കുവഴി"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"പ്രധാനപ്പെട്ട ആളുകളിൽ നിന്നും ആപ്പുകളിൽ നിന്നുമുള്ള അറിയിപ്പ് മാത്രം നേടുക"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"സജീവമാക്കൽ തരം തിരഞ്ഞെടുക്കുക"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"സമയം"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"ഉദാ. \"9:30 – 5:00 PM\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"കലണ്ടർ"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"ഉദാ. \"സ്വകാര്യ കലണ്ടർ\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"മോഡ് സൃഷ്ടിക്കുക"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"ഇഷ്ടാനുസൃതം"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"തടസ്സങ്ങൾ പരിമിതപ്പെടുത്തുക"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'ശല്യപ്പെടുത്തരുത്\' ഓണാക്കുക"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"അലാറങ്ങൾക്കും മീഡിയ ശബ്ദങ്ങൾക്കും തടസ്സപ്പെടുത്താൻ കഴിയും"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"ഷെഡ്യൂളുകൾ"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"ഷെഡ്യൂളുകൾ ഇല്ലാതാക്കുക"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"ഇല്ലാതാക്കുക"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"എഡിറ്റ് ചെയുക"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"ഷെഡ്യൂളുകൾ"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"ഷെഡ്യൂള്"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"കലണ്ടർ ചേർക്കുക"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"നിങ്ങളുടെ കലണ്ടർ ഉപയോഗിക്കുക"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"ഷെഡ്യൂൾ"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"ഷെഡ്യൂൾ സജ്ജീകരിക്കുക"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"ഷെഡ്യൂൾ"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> മണിക്കൂർ, <xliff:g id="MINUTES">%2$d</xliff:g> മിനിറ്റ്"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"സ്വയമേവ ഓണാക്കുക"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"ഷെഡ്യൂള് ചെയ്യുക"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"ചില സമയങ്ങളിൽ ഫോൺ നിശബ്ദമാക്കുക"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"\'ശല്യപ്പെടുത്തരുത്\' നിയമങ്ങൾ സജ്ജമാക്കുക"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"ശബ്ദമുണ്ടാക്കുന്ന തടസ്സങ്ങൾ അനുവദിക്കുക"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"ദൃശ്യതടസങ്ങൾ ബ്ലോക്കുചെയ്യൂ"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"ദൃശ്യ സിഗ്നലുകൾ അനുവദിക്കുക"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"നിങ്ങൾക്ക് ലഭിക്കുന്ന അറിയിപ്പുകൾ"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"ശ്രദ്ധയോടെ തുടരുക"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"കൂടുതൽ പ്രവർത്തനങ്ങൾ"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"ഡിസ്പ്ലേ ക്രമീകരണം"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"ഡിസ്പ്ലേ ഓപ്ഷനുകൾ"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ഡാർക്ക് തീം പ്രവർത്തനക്ഷമമാക്കുക"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"ഇരുണ്ട പശ്ചാത്തലത്തിലെ ലൈറ്റ് ടെക്സ്റ്റിന് മുൻഗണന നൽകാൻ OS-ഉം ആപ്പുകളും തമ്മിൽ മാറുക, ഇത് കണ്ണുകൾക്ക് അനുയോജ്യമായേക്കാം, ചില ഉപകരണങ്ങളിൽ കാര്യമായ തോതിൽ ബാറ്ററി ലാഭിക്കാനും സഹായിച്ചേക്കാം"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ഡിസ്പ്ലേ മാറ്റങ്ങളൊന്നുമില്ല}=1{{effect_1}}=2{{effect_1}, {effect_2} എന്നിവ}=3{{effect_1}, {effect_2}, {effect_3} എന്നിവ}other{{effect_1}, {effect_2} എന്നിവയും മറ്റ് # എണ്ണവും}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"തടസ്സങ്ങൾ ഫിൽട്ടർ ചെയ്യുക"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"തടസ്സങ്ങളൊന്നും ഫിൽട്ടർ ചെയ്തിട്ടില്ല"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ഫിൽട്ടർ ചെയ്ത അറിയിപ്പുകൾക്കുള്ള ഡിസ്പ്ലേ ഓപ്ഷനുകൾ"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"ശല്യപ്പെടുത്തരുത് എന്നത് ഓണാക്കുമ്പോൾ"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"അറിയിപ്പുകൾക്ക് ശബ്ദം വേണ്ട"</string>
@@ -3486,6 +3541,8 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"അറിയിപ്പ് തുറക്കുക"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"അറിയിപ്പ് സ്നൂസ് ചെയ്യൽ അനുവദിക്കുക"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"ആപ്പ് ഐക്കണിലെ അറിയിപ്പ് ഡോട്ട്"</string>
+ <!-- no translation found for notification_bundles (3614044525822580826) -->
+ <skip />
<string name="notification_bubbles_title" msgid="5681506665322329301">"ബബിളുകൾ"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ബബിളുകൾ"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"ഈ സംഭാഷണം ബബിൾ ചെയ്യുക"</string>
@@ -3667,6 +3724,7 @@
<string name="notification_channels" msgid="1502969522886493799">"വിഭാഗങ്ങള്"</string>
<string name="notification_channels_other" msgid="18159805343647908">"മറ്റുള്ളവ"</string>
<string name="no_channels" msgid="4716199078612071915">"ഈ ആപ്പ് അറിയിപ്പുകളൊന്നും പോസ്റ്റ് ചെയ്തിട്ടില്ല"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"ഉപയോഗിക്കാത്ത വിഭാഗങ്ങൾ കാണിക്കൂ"</string>
<string name="app_settings_link" msgid="6725453466705333311">"ആപ്പിലെ അധിക ക്രമീകരണം"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"ഉപയോഗിക്കാത്ത വിഭാഗങ്ങൾ കാണിക്കൂ"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"ഉപയോഗിക്കാത്ത വിഭാഗങ്ങൾ മറയ്ക്കൂ"</string>
@@ -3778,6 +3836,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"എല്ലാം"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"അസാധുവാക്കാൻ ആപ്പുകളെ അനുവദിക്കുക"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"തടസ്സപ്പെടുത്താൻ കഴിയുന്ന ആപ്പുകൾ"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"കൂടുതൽ ആപ്പുകൾ തിരഞ്ഞെടുക്കുക"</string>
@@ -3814,12 +3874,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} വരെ ഒരു മണിക്കൂർ നേരത്തേക്ക് \'അലാറങ്ങൾ മാത്രം\' എന്നതിലേക്ക് മാറ്റുക}other{{time} വരെ # മണിക്കൂർ നേരത്തേക്ക് \'അലാറങ്ങൾ മാത്രം\' എന്നതിലേക്ക് മാറ്റുക}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> വരെ മാത്രം അലാറങ്ങളിലേക്ക് മാറ്റുക"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"\'എല്ലായ്പ്പോഴും തടസ്സപ്പെടുത്തുക\' എന്നതിലേക്ക് മാറ്റുക"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"പേര് മാറ്റുക"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"ഐക്കൺ മാറ്റുക"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"ഐക്കൺ മാറ്റുക"</string>
<string name="warning_button_text" msgid="1274234338874005639">"മുന്നറിയിപ്പ്"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"അടയ്ക്കുക"</string>
<string name="device_feedback" msgid="5351614458411688608">"ഇതേക്കുറിച്ചുള്ള ഫീഡ്ബാക്ക് അയയ്ക്കൂ"</string>
@@ -4805,8 +4862,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"കെയ്സ്"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"ബാറ്ററി"</string>
<string name="settings_panel_title" msgid="346363079938069215">"ക്രമീകരണ പാനൽ"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"ഡെസ്ക്ടോപ്പ് മോഡിലേക്ക് നിർബന്ധിച്ച് വരുത്തുക"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ദ്വിതീയ ഡിസ്പ്ലേകളിൽ, പരീക്ഷണാത്മക ഡെസ്ക്ടോപ്പ് മോഡിലേക്ക് നിർബന്ധിച്ച് വരുത്തുക"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"ഫ്രീഫോം വിൻഡോകൾ പ്രവർത്തനക്ഷമമാക്കുക"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"ഫ്രീഫോം വിൻഡോകൾക്കുള്ള പിന്തുണ പ്രവർത്തനക്ഷമമാക്കുക."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"സെക്കൻഡ് ഡിസ്പ്ലേയിൽ ഫ്രീഫോം വിൻഡോയിംഗ് സജീവമാക്കൂ"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"സെക്കൻഡറി ഡിസ്പ്ലേയിൽ മാത്രം ഫ്രീഫോം വിൻഡോകൾ പ്രവർത്തനക്ഷമമാക്കൂ."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"വലുപ്പം മാറ്റാനാകാത്തവ മൾട്ടി വിൻഡോയിൽ പ്രവർത്തനക്ഷമമാക്കൂ"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"വലുപ്പം മാറ്റാൻ കഴിയാത്ത ആപ്പുകൾ മൾട്ടി വിൻഡോയിൽ അനുവദിക്കുന്നു"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"നിർബന്ധിത ഡാർക്ക് മോഡ് അസാധുവാക്കുക"</string>
@@ -4874,14 +4933,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"16KB ഡെവലപ്പർ ഓപ്ഷൻ ഉപയോഗിക്കുന്നതിന് മുമ്പ് ഈ ഉപകരണത്തിന്റെ ഡാറ്റ പാർട്ടീഷൻ ext4 എന്നതിലേക്ക് പരിവർത്തനം ചെയ്യേണ്ടതുണ്ട്. ഈ മോഡിൽ സോഫ്റ്റ്വെയർ സമഗ്രത സംബന്ധിച്ച് ഉറപ്പ് നൽകാനാകില്ല, കൂടാതെ ബൂട്ട് ലോഡർ അൺലോക്ക് ചെയ്തിരിക്കുമ്പോൾ ഫോണിൽ സംഭരിച്ചിരിക്കുന്ന ഏതെങ്കിലും ഡാറ്റ അപകടത്തിലായേക്കാം. 16KB ഓപ്ഷൻ സജീവമാക്കുന്നതിന് ഇതിന് ശേഷം ഒരു റീബൂട്ട് കൂടി വേണ്ടി വരും. നിങ്ങൾ ഈ മോഡിൽ ആയിക്കഴിഞ്ഞ്, ഒരു സിംഗിൾ റീബൂട്ടിലൂടെ 4KB, 16KB മോഡുകൾക്കിടയിൽ പരസ്പരം മാറാം. ഈ മോഡുകളിൽ ചില ഫീച്ചറുകൾ പ്രവർത്തനരഹിതമാക്കുന്നതിനാൽ, ചില ആപ്പുകൾ പ്രവർത്തിച്ചേക്കില്ല. ഉപകരണത്തെ തിരികെ പ്രൊഡക്ഷൻ മോഡിലേക്ക് മാറ്റുന്നതിന്, നിങ്ങൾ 4KB മോഡിലേക്ക് തിരികെ മാറുകയും ബൂട്ട് ലോഡർ ലോക്ക് ചെയ്യുകയും വേണം, ഇത് ഉപകരണത്തെ ഫാക്ടറി റീസെറ്റ് ചെയ്യും. ഉപകരണം വിജയകരമായി Android-ലേക്ക് ബൂട്ട് ചെയ്ത് കഴിഞ്ഞ്, ഡെവലപ്പർ ഓപ്ഷനുകളിൽ OEM അൺലോക്ക് ചെയ്യൽ പ്രവർത്തനരഹിതമാക്കുക. സ്ഥിരീകരണത്തിന് ശേഷം ഉപകരണം തുടച്ചുനീക്കുകയും ഫയൽസിസ്റ്റം ext4 എന്നതിലേക്ക് മാറ്റുകയും ചെയ്യും. ഇത് പൂർത്തിയായി കഴിഞ്ഞ്, 16KB വീണ്ടും പ്രവർത്തനക്ഷമമാക്കാൻ തിരികെ വരിക."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"എല്ലാ ഡാറ്റയും മായ്ക്കുക"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"ഡാറ്റ പാർട്ടീഷൻ ext4 എന്നതിലേക്ക് വീണ്ടും ഫോർമാറ്റ് ചെയ്യാനും തുടച്ചുനീക്കാനും കഴിഞ്ഞില്ല."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16KB മോഡിന് ബൂട്ട് ലോഡർ അൺലോക്ക് ചെയ്യണം"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"ബൂട്ട് ലോഡർ അൺലോക്ക് ആവശ്യമാണ്"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"16KB ഡെവലപ്പർ ഓപ്ഷൻ ഉപയോഗിക്കുന്നതിന് മുമ്പ് ഈ ഉപകരണത്തിന്റെ ബൂട്ട് ലോഡർ അൺലോക്ക് ചെയ്യണം. ഈ മോഡിൽ സോഫ്റ്റ്വെയർ സമഗ്രത സംബന്ധിച്ച് ഉറപ്പ് നൽകാനാകില്ല, കൂടാതെ ബൂട്ട് ലോഡർ അൺലോക്ക് ചെയ്തിരിക്കുമ്പോൾ ഫോണിൽ സംഭരിച്ചിരിക്കുന്ന ഏതെങ്കിലും ഡാറ്റ അപകടത്തിലായേക്കാം. 16KB മോഡ് സജീവമാക്കുമ്പോൾ എല്ലാ ഉപയോക്തൃ ഡാറ്റയും ക്രമീകരണവും തുടച്ചുനീക്കും. ബൂട്ട് ലോഡർ അൺലോക്ക് ചെയ്ത് കഴിഞ്ഞ്, 16KB ഓപ്ഷൻ സജീവമാക്കുന്നതിന് രണ്ട് റീബൂട്ടുകൾ വേണ്ടി വരും. നിങ്ങൾ ഈ മോഡിൽ ആയിക്കഴിഞ്ഞ്, ഒരു സിംഗിൾ റീബൂട്ടിലൂടെ 4KB, 16KB മോഡുകൾക്കിടയിൽ പരസ്പരം മാറാം. ഈ മോഡുകളിൽ ചില ഫീച്ചറുകൾ പ്രവർത്തനരഹിതമാക്കുന്നതിനാൽ, ചില ആപ്പുകൾ പ്രവർത്തിച്ചേക്കില്ല. ഉപകരണത്തെ തിരികെ പ്രൊഡക്ഷൻ മോഡിലേക്ക് മാറ്റുന്നതിന്, നിങ്ങൾ 4KB മോഡിലേക്ക് തിരികെ മാറുകയും OEM/ബൂട്ട് ലോഡർ ലോക്ക് ചെയ്യുകയും വേണം (ഇത് ഉപകരണത്തെ ഫാക്ടറി റീസെറ്റ് ചെയ്യും). ബൂട്ട് ലോഡർ അൺലോക്ക് ചെയ്യുക അമർത്തിയ ശേഷം വീണ്ടും ശ്രമിക്കുക. ഇത് എങ്ങനെ ചെയ്യണമെന്നത് സംബന്ധിച്ച നിർദ്ദേശങ്ങൾ at <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a> എന്നതിൽ കാണാനാകും"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"4KB പേജ്-ആഗ്നോസ്റ്റിക് മോഡ് ഉപയോഗിക്കുന്നു"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"നിങ്ങൾ പേജ്-ആഗ്നോസ്റ്റിക് മോഡിന്റെ 4KB മോഡിലാണ്. ഈ മോഡിൽ സോഫ്റ്റ്വെയർ സമഗ്രത സംബന്ധിച്ച് ഉറപ്പ് നൽകാനാകില്ല, കൂടാതെ ബൂട്ട് ലോഡർ അൺലോക്ക് ചെയ്തിരിക്കുമ്പോൾ ഫോണിൽ സംഭരിച്ചിരിക്കുന്ന ഏതെങ്കിലും ഡാറ്റ അപകടത്തിലായേക്കാം. ഈ മോഡുകളിൽ ചില ഫീച്ചറുകൾ പ്രവർത്തനരഹിതമാക്കുന്നതിനാൽ, ചില ആപ്പുകൾ പ്രവർത്തിച്ചേക്കില്ല. പ്രൊഡക്ഷൻ മോഡിൽ തിരികെ പ്രവേശിക്കുന്നതിന്, നിങ്ങൾ ഉപകരണത്തിന്റെ ബൂട്ട് ലോഡർ ലോക്ക് ചെയ്യണം. കൂടുതൽ വായിക്കാൻ ടാപ്പ് ചെയ്യുക."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"നിങ്ങൾ പേജ്-ആഗ്നോസ്റ്റിക് മോഡിന്റെ 4KB മോഡിലാണ്. ഈ മോഡിൽ സോഫ്റ്റ്വെയർ സമഗ്രത സംബന്ധിച്ച് ഉറപ്പ് നൽകാനാകില്ല, കൂടാതെ ബൂട്ട് ലോഡർ അൺലോക്ക് ചെയ്തിരിക്കുമ്പോൾ ഫോണിൽ സംഭരിച്ചിരിക്കുന്ന ഏതെങ്കിലും ഡാറ്റ അപകടത്തിലായേക്കാം. ഈ മോഡുകളിൽ ചില ഫീച്ചറുകൾ പ്രവർത്തനരഹിതമാക്കുന്നതിനാൽ, ചില ആപ്പുകൾ പ്രവർത്തിച്ചേക്കില്ല. പ്രൊഡക്ഷൻ മോഡിൽ തിരികെ പ്രവേശിക്കുന്നതിന്, നിങ്ങൾ ഉപകരണത്തിന്റെ ബൂട്ട് ലോഡർ ലോക്ക് ചെയ്യണം. ഇത് ഉപകരണത്തെ വീണ്ടും ഫാക്ടറി റീസെറ്റ് ചെയ്യുകയും പ്രൊഡക്ഷൻ ക്രമീകരണത്തിലേക്ക് പുനഃസ്ഥാപിക്കുകയും ചെയ്യും. ഉപകരണം വിജയകരമായി Android-ലേക്ക് ബൂട്ട് ചെയ്ത് കഴിഞ്ഞ്, ഡെവലപ്പർ ഓപ്ഷനുകളിൽ OEM അൺലോക്ക് ചെയ്യൽ പ്രവർത്തനരഹിതമാക്കുക. ഉപകരണം Android-ലേക്ക് ബൂട്ട് ചെയ്യാനായില്ലെങ്കിലോ അസ്ഥിരമാണെങ്കിലോ, <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> എന്നതിൽ നിന്നുള്ള ഏറ്റവും പുതിയ ഫാക്ടറി ചിത്രങ്ങൾ ഉപയോഗിച്ച് ഉപകരണം അപ്ഡേറ്റ് ചെയ്ത ശേഷം \'ഉപകരണം തുടച്ചുനീക്കുക\', \'ബൂട്ട് ലോഡർ ലോക്ക് ചെയ്യുക\', \'എല്ലാ പാർട്ടീഷനുകളും ഫോഴ്സ് ഫ്ലാഷ് ചെയ്യുക\' എന്നതിലേക്ക് പോകുക."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"16KB പേജ്-ആഗ്നോസ്റ്റിക് മോഡ് ഉപയോഗിക്കുന്നു"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"നിങ്ങൾ പേജ്-ആഗ്നോസ്റ്റിക് മോഡിന്റെ 16KB മോഡിലാണ്. ഈ മോഡിൽ സോഫ്റ്റ്വെയർ സമഗ്രത സംബന്ധിച്ച് ഉറപ്പ് നൽകാനാകില്ല, കൂടാതെ ബൂട്ട് ലോഡർ അൺലോക്ക് ചെയ്തിരിക്കുമ്പോൾ ഫോണിൽ സംഭരിച്ചിരിക്കുന്ന ഏതെങ്കിലും ഡാറ്റ അപകടത്തിലായേക്കാം. ഈ മോഡുകളിൽ ചില ഫീച്ചറുകൾ പ്രവർത്തനരഹിതമാക്കുന്നതിനാൽ, ചില ആപ്പുകൾ പ്രവർത്തിച്ചേക്കില്ല. പ്രൊഡക്ഷൻ മോഡിൽ തിരികെ പ്രവേശിക്കുന്നതിന്, നിങ്ങൾ 4K മോഡിലേക്ക് തിരികെ മാറുകയും ഉപകരണത്തിന്റെ ബൂട്ട് ലോഡർ ലോക്ക് ചെയ്യുകയും വേണം. കൂടുതൽ വായിക്കാൻ ടാപ്പ് ചെയ്യുക."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"നിങ്ങൾ പേജ്-ആഗ്നോസ്റ്റിക് മോഡിന്റെ 16KB മോഡിലാണ്. ഈ മോഡിൽ സോഫ്റ്റ്വെയർ സമഗ്രത സംബന്ധിച്ച് ഉറപ്പ് നൽകാനാകില്ല, കൂടാതെ ബൂട്ട് ലോഡർ അൺലോക്ക് ചെയ്തിരിക്കുമ്പോൾ ഫോണിൽ സംഭരിച്ചിരിക്കുന്ന ഏതെങ്കിലും ഡാറ്റ അപകടത്തിലായേക്കാം. ഈ മോഡുകളിൽ ചില ഫീച്ചറുകൾ പ്രവർത്തനരഹിതമാക്കുന്നതിനാൽ, ചില ആപ്പുകൾ പ്രവർത്തിച്ചേക്കില്ല. പ്രൊഡക്ഷൻ മോഡിൽ തിരികെ പ്രവേശിക്കുന്നതിന്, നിങ്ങൾ 4K മോഡിലേക്ക് തിരികെ മാറുകയും ഉപകരണത്തിന്റെ ബൂട്ട് ലോഡർ ലോക്ക് ചെയ്യുകയും വേണം. ഇത് ഉപകരണത്തെ വീണ്ടും ഫാക്ടറി റീസെറ്റ് ചെയ്യുകയും പ്രൊഡക്ഷൻ ക്രമീകരണത്തിലേക്ക് പുനഃസ്ഥാപിക്കുകയും ചെയ്യും. ഉപകരണം വിജയകരമായി Android-ലേക്ക് ബൂട്ട് ചെയ്ത് കഴിഞ്ഞ്, ഡെവലപ്പർ ഓപ്ഷനുകളിൽ OEM അൺലോക്ക് ചെയ്യൽ പ്രവർത്തനരഹിതമാക്കുക. ഉപകരണം Android-ലേക്ക് ബൂട്ട് ചെയ്യാനായില്ലെങ്കിലോ അസ്ഥിരമാണെങ്കിലോ, <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> എന്നതിൽ നിന്നുള്ള ഏറ്റവും പുതിയ ഫാക്ടറി ചിത്രങ്ങൾ ഉപയോഗിച്ച് ഉപകരണം അപ്ഡേറ്റ് ചെയ്ത ശേഷം \'ഉപകരണം തുടച്ചുനീക്കുക\', \'ബൂട്ട് ലോഡർ ലോക്ക് ചെയ്യുക\', \'എല്ലാ പാർട്ടീഷനുകളും ഫോഴ്സ് ഫ്ലാഷ് ചെയ്യുക\' എന്നതിലേക്ക് പോകുക."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"നിങ്ങൾ പേജ് വലുപ്പം തിരിച്ചറിയൽ മോഡിന്റെ 16KB മോഡിലാണ്. ഈ മോഡിൽ സോഫ്റ്റ്വെയർ സമഗ്രത സംബന്ധിച്ച് ഉറപ്പ് നൽകാനാകില്ല, കൂടാതെ ബൂട്ട് ലോഡർ അൺലോക്ക് ചെയ്തിരിക്കുമ്പോൾ ഫോണിൽ സംഭരിച്ചിരിക്കുന്ന ഏതെങ്കിലും ഡാറ്റ അപകടത്തിലായേക്കാം. ഈ മോഡുകളിൽ ചില ഫീച്ചറുകൾ പ്രവർത്തനരഹിതമാക്കുന്നതിനാൽ, ചില ആപ്പുകൾ പ്രവർത്തിച്ചേക്കില്ല. പ്രൊഡക്ഷൻ മോഡിൽ തിരികെ പ്രവേശിക്കുന്നതിന്, നിങ്ങൾ 4KB മോഡിലേക്ക് തിരികെ മാറുകയും ഉപകരണത്തിന്റെ ബൂട്ട് ലോഡർ ലോക്ക് ചെയ്യുകയും വേണം. കൂടുതൽ വായിക്കാൻ ടാപ്പ് ചെയ്യുക."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"നിങ്ങൾ പേജ് വലുപ്പം തിരിച്ചറിയൽ മോഡിന്റെ 16KB മോഡിലാണ്. ഈ മോഡിൽ സോഫ്റ്റ്വെയർ സമഗ്രത സംബന്ധിച്ച് ഉറപ്പ് നൽകാനാകില്ല, കൂടാതെ ബൂട്ട് ലോഡർ അൺലോക്ക് ചെയ്തിരിക്കുമ്പോൾ ഫോണിൽ സംഭരിച്ചിരിക്കുന്ന ഏതെങ്കിലും ഡാറ്റ അപകടത്തിലായേക്കാം. ഈ മോഡുകളിൽ ചില ഫീച്ചറുകൾ പ്രവർത്തനരഹിതമാക്കുന്നതിനാൽ, ചില ആപ്പുകൾ പ്രവർത്തിച്ചേക്കില്ല. പ്രൊഡക്ഷൻ മോഡിൽ തിരികെ പ്രവേശിക്കുന്നതിന്, നിങ്ങൾ 4KB മോഡിലേക്ക് തിരികെ മാറുകയും ഉപകരണത്തിന്റെ ബൂട്ട് ലോഡർ ലോക്ക് ചെയ്യുകയും വേണം. ഇത് ഉപകരണത്തെ വീണ്ടും ഫാക്ടറി റീസെറ്റ് ചെയ്യുകയും പ്രൊഡക്ഷൻ ക്രമീകരണത്തിലേക്ക് പുനഃസ്ഥാപിക്കുകയും ചെയ്യും. ഉപകരണം വിജയകരമായി Android-ലേക്ക് ബൂട്ട് ചെയ്ത് കഴിഞ്ഞ്, ഡെവലപ്പർ ഓപ്ഷനുകളിൽ OEM അൺലോക്ക് ചെയ്യൽ പ്രവർത്തനരഹിതമാക്കുക. ഉപകരണം Android-ലേക്ക് ബൂട്ട് ചെയ്യാനായില്ലെങ്കിലോ അസ്ഥിരമാണെങ്കിലോ, <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> -ൽ നിന്നുള്ള ഏറ്റവും പുതിയ ഫാക്ടറി ഇമേജുകൾ ഉപയോഗിച്ച് ഉപകരണം വീണ്ടും ഫ്ലാഷ് ചെയ്യുക അല്ലെങ്കിൽ <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ഉപയോഗിക്കുക, തുടർന്ന് \'ഉപകരണം തുടച്ചുനീക്കുക\', \'ബൂട്ട് ലോഡർ ലോക്ക് ചെയ്യുക\', \'എല്ലാ പാർട്ടീഷനുകളും ഫോഴ്സ് ഫ്ലാഷ് ചെയ്യുക\' എന്നിവ തിരഞ്ഞെടുക്കുക."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16KB പേജ്-ആഗ്നോസ്റ്റിക് മോഡ്"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"കൂടുതൽ വായിക്കുക"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"ബഗ് റിപ്പോർട്ട് ഹാൻഡ്ലർ"</string>
@@ -5013,7 +5072,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ആപ്പ് പിൻ ചെയ്യൽ ഉപയോഗിക്കുക"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"ഡെവലപ്പർ ഓപ്ഷനുകൾ ഉപയോഗിക്കുക"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"പ്രിന്റ് സേവനം ഉപയോഗിക്കുക"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"ഒന്നിലധികം ഉപയോക്താക്കളെ അനുവദിക്കുക"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"അനുവദിക്കുക, ഒന്നിലധികം, ഉപയോക്താവ്, അനുവാദം, നിരവധി"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"ഒന്നിലധികം, ഉപയോക്താക്കൾ, പ്രൊഫൈലുകൾ, ആളുകൾ, അക്കൗണ്ടുകൾ, മാറുക, നിരവധി"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"വയർലസ് ഡീബഗ്ഗിംഗ് ഉപയോഗിക്കുക"</string>
@@ -5127,8 +5187,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"നിങ്ങളുടെ ടാബ്ലെറ്റ് ഡോക്ക് ചെയ്തിരിക്കുമ്പോൾ സ്ക്രീനിൽ എന്ത് കാണണമെന്ന് തിരഞ്ഞെടുക്കുക. സ്ക്രീൻ സേവർ ഉപയോഗിക്കുമ്പോൾ ഉപകരണം കൂടുതൽ ഊർജ്ജം ഉപയോഗിച്ചേക്കാം."</string>
<string name="customize_button_title" msgid="1110284655990203359">"ഇഷ്ടാനുസൃതമാക്കുക"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> ഇഷ്ടാനുസൃതമാക്കുക"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"ഫ്രീംഫോം പിന്തുണ പ്രവർത്തനക്ഷമമാക്കാൻ റീബൂട്ട് ചെയ്യേണ്ടതുണ്ട്."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"ദ്വിതീയ ഡിസ്പ്ലേകളെ നിർബന്ധിതമായി ഡെസ്ക്ക്ടോപ്പ് മോഡിലാക്കാൻ റീബൂട്ട് ചെയ്യേണ്ടതുണ്ട്."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"ലെഗസി ഫ്രീഫോം വിൻഡോയിംഗ് പിന്തുണ പ്രവർത്തനക്ഷമമാക്കാൻ റീബൂട്ട് ചെയ്യേണ്ടതുണ്ട്."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"ഫ്രീഫോം വിൻഡോയിംഗ് പിന്തുണ മാറ്റാൻ റീബൂട്ട് ചെയ്യേണ്ടതുണ്ട്."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"സെക്കൻഡറി ഡിസ്പ്ലേകളിൽ ഫ്രീഫോം വിൻഡോയിംഗ് നിർബന്ധമാക്കാൻ റീബൂട്ട് ചെയ്യേണ്ടതുണ്ട്."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"ഇപ്പോൾ റീബൂട്ട് ചെയ്യുക"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"പിന്നീട് റീബൂട്ട് ചെയ്യുക"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"സ്പേഷ്യൽ ഓഡിയോ"</string>
@@ -5141,7 +5202,7 @@
<string name="bluetooth_details_audio_device_type_unknown" msgid="5299284975435974206">"സജ്ജീകരിച്ചിട്ടില്ല"</string>
<string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"സ്പീക്കർ"</string>
<string name="bluetooth_details_audio_device_type_headphones" msgid="7644588291215033798">"ഹെഡ്ഫോണുകൾ"</string>
- <string name="bluetooth_details_audio_device_type_hearing_aid" msgid="6311786545025321187">"കേൾവിക്കുള്ള ഉപകരണം"</string>
+ <string name="bluetooth_details_audio_device_type_hearing_aid" msgid="6311786545025321187">"ഹിയറിംഗ് ഡിവൈസ്"</string>
<string name="bluetooth_details_audio_device_type_carkit" msgid="1866236563013629394">"കാർ"</string>
<string name="bluetooth_details_audio_device_type_other" msgid="7019481234617207563">"മറ്റുള്ളവ"</string>
<string name="ingress_rate_limit_title" msgid="2106694002836274350">"നെറ്റ്വർക്ക് ഡൗൺലോഡ് നിരക്ക് പരിധി"</string>
@@ -5263,7 +5324,7 @@
<string name="fingerprint_acquired_imager_dirty_udfps" msgid="7005042288289506776">"സെൻസറിന് സമീപമുള്ള സ്ക്രീൻ വൃത്തിയാക്കി വീണ്ടും ശ്രമിക്കുക"</string>
<string name="sim_category_converted_sim" msgid="8575548015816988908">"ഇ-സിമ്മിലേക്ക് മാറ്റി. നീക്കം ചെയ്യൂ, ഉപേക്ഷിക്കൂ."</string>
<string name="sync_across_devices_title" msgid="3447757705383089345">"ഉപകരണങ്ങളിലുടനീളം സമന്വയിപ്പിക്കുക"</string>
- <string name="device_diagnostics_title" msgid="2914523189695727897">"Device diagnostics"</string>
+ <string name="device_diagnostics_title" msgid="2914523189695727897">"ഉപകരണ ഡയഗ്നോസ്റ്റിക്സ്"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"ഓഡിയോ പങ്കിടൽ"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"ഓഡിയോ പങ്കിടൂ"</string>
<string name="calls_and_alarms_device_title" msgid="6993559028175454198">"കോളുകളും അലാറങ്ങളും"</string>
@@ -5357,4 +5418,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"സ്ട്രീം ചെയ്യുന്നത് കേൾക്കുക"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ഉപയോഗിച്ച് കേൾക്കാൻ ഓഡിയോ സ്ട്രീം QR കോഡ് സ്കാൻ ചെയ്യുക"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"പങ്കിടുമ്പോൾ പാസ്വേഡ് എഡിറ്റ് ചെയ്യാനാകില്ല. പാസ്വേഡ് മാറ്റാൻ, ആദ്യം ഓഡിയോ പങ്കിടൽ ഓഫാക്കുക."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-mn/arrays.xml b/res/values-mn/arrays.xml
index 7ef1af7..c436c5a 100644
--- a/res/values-mn/arrays.xml
+++ b/res/values-mn/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Унтлагын цаг"</item>
+ <item msgid="4152450357280759894">"Жолоо барих"</item>
+ <item msgid="7096549258219399423">"Бодит мэт"</item>
+ <item msgid="2760716776980432977">"Удирддаг"</item>
+ <item msgid="601734478369121764">"Од"</item>
+ <item msgid="6243809315432780521">"Календарь"</item>
+ <item msgid="4913577903148415331">"Хугацаа"</item>
+ <item msgid="3653377604690057780">"Театр"</item>
+ <item msgid="3843711267408385410">"Цэцэг"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index 28be904..d9dfef7 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Сонсголын төхөөрөмжийн тохиргоо"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Товчлол, сонсголын төхөөрөмжийн зохицол"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Урьдчилсан тохируулга"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Сонсгол судлаачийн программчилсан урьдчилсан тохируулга алга"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Урьдчилсан тохируулгыг шинэчилж чадсангүй"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Аудио гаралт"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Аудио оролтын тухай"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Царай болон <xliff:g id="WATCH">%s</xliff:g>-г нэмсэн"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Царай, хурууны хээ болон <xliff:g id="WATCH">%s</xliff:g>-г нэмсэн"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Царай, хурууны хээ болон <xliff:g id="WATCH">%s</xliff:g>-г нэмсэн"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Таниулбар шалгагч асаалттай тул энэ нь шаардлагатай"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator-н түгжээг тайлах"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Цаг нэмсэн"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Цагаа тохируулна уу"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Утасны түгжээг цагаараа тайлах онцлогийн талаар нэмэлт мэдээлэл авах"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Цаг нэмэх"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Цагийг хасах"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Хурууны хээ болон Царайгаар түгжээ тайлах"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Царай, хурууны хээгээр түгжээ тайлах"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ажилд зориулсан Царай, хурууны хээгээр түгжээ тайлах"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Тохируулга шаардлагатай"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Царай болон хурууны хээнүүд нэмсэн"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Аппуудыг суулгах"</b>\n"Та орон зайдаа хувийн байлгахыг хүсэж буй аппуудаа суулгана уу"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Санамж"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Таныг орон зайгаа түгжихэд аппууд зогсдог"</b>\n"Таныг орон зайгаа түгжихэд таны орон зай дахь аппууд зогсох бөгөөд та тухайн аппуудаас мэдэгдэл хүлээн авахгүй"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Хаалттай орон зай нь эрүүл мэндийн апп зэрэг ард ажиллах эсвэл чухал мэдэгдэл илгээх шаардлагатай аппуудад тохиромжгүй. Энэ нь таны орон зайг түгжээтэй үед мэдэгдэл болон арын үйл ажиллагаа зогсдогтой холбоотой юм.\n\nТаны хаалттай орон зай түгжээтэй үед таны хаалттай орон зай дахь аппууд зөвшөөрлийн менежер, нууцлалын хяналтын самбар болон бусад тохиргоонд гарч ирэхгүй.\n\nТаны хаалттай орон зайг шинэ төхөөрөмж рүү зөөх боломжгүй. Хэрэв та үүнийг өөр төхөөрөмжид ашиглахыг хүсвэл өөр хаалттай орон зай тохируулах шаардлагатай болно.\n\nТаны төхөөрөмжийг компьютерт холбох эсвэл таны төхөөрөмжид хортой апп суулгах аливаа хүн таны хаалттай орон зайд хандах боломжтой байж магадгүй."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Хаалттай орон зай нь эрүүл мэндийн апп зэрэг ард ажиллах эсвэл чухал мэдэгдэл илгээх шаардлагатай аппуудад тохиромжгүй. Энэ нь таны орон зай түгжээтэй үед мэдэгдэл болон арын үйл ажиллагаа зогсдогтой холбоотой юм.\n\nХаалттай орон зай түгжээтэй үед таны хаалттай орон зай дахь аппууд зөвшөөрлийн менежер, нууцлалын хяналтын самбар болон бусад тохиргоонд гарч ирэхгүй.\n\nТаны хаалттай орон зайг шинэ төхөөрөмж рүү сэргээх боломжгүй. Хэрэв та үүнийг өөр төхөөрөмжид ашиглахыг хүсвэл өөр орон зай тохируулах шаардлагатай болно.\n\nТаны төхөөрөмжийг компьютерт холбох эсвэл таны төхөөрөмжид хортой апп суулгах аливаа хүн таны хаалттай орон зайд хандах боломжтой байж магадгүй."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Хаалттай орон зайн нэмэлт мэдээлэл авах"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Үүнд хэдэн хором зарцуулна"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Хаалттай орон зайг тохируулж байна…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Төхөөрөмжийг дахин эхлүүлэх үү?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Нарийвчилсан NFC лог нь зөвхөн хөгжүүлэлтийн зориулалттай. Нэмэлт NFC өгөгдлийг алдааны мэдээнд багтаасан бөгөөд энэ нь хувийн мэдээлэл агуулж байж магадгүй. Энэ тохиргоог өөрчлөхийн тулд төхөөрөмжөө дахин эхлүүлнэ үү."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Дахин эхлүүлэх"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Дамжуулах"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"тусгал"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Утасгүй дэлгэцийг идэвхжүүлэх"</string>
@@ -1192,7 +1222,8 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Дасан зохицох"</string>
<string name="brightness" msgid="6216871641021779698">"Гэрэлтүүлгийн түвшин"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Орчинтой зохицох гэрэлтүүлэг"</string>
- <string name="auto_brightness_description" msgid="6807117118142381193">"Дэлгэцийн гэрэлтүүлэг таны хүрээлэн буй орчин болон үйл ажиллагаанд автоматаар тохирно. Орчинтой зохицох гэрэлтүүлгийн таны тохиргоог мэдэхэд нь туслахын тулд гулсуулагчийг гараараа зөөх боломжтой."</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Орчинтой зохицох гэрэлтүүлгийн тухай"</string>
+ <string name="auto_brightness_description" msgid="6807117118142381193">"Дэлгэцийн гэрэлтүүлэг таны хүрээлэн буй орчин болон үйл ажиллагаанд автоматаар тохирно. Орчинтой зохицох гэрэлтүүлэгт таны тохиргоог мэдэхэд нь туслахын тулд гулсуулагчийг гараараа хөдөлгөх боломжтой."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Асаасан"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Идэвхгүй"</string>
<string name="display_white_balance_title" msgid="2624544323029364713">"Дэлгэцийн цайралтын тэнцвэр"</string>
@@ -1260,7 +1291,7 @@
<string name="dark_ui_bedtime_footer_action" msgid="1493095487994054339">"Унтлагын цагийн горимын тохиргоо"</string>
<string name="even_dimmer_display_title" msgid="6731255736830410149">"Илүү бүдэг"</string>
<string name="even_dimmer_display_summary" msgid="120301078873242172">"Төхөөрөмжид ердийнхөөс илүү бүдэг болохыг нь зөвшөөрөх"</string>
- <string name="screen_timeout" msgid="7709947617767439410">"Дэлгэцийн завсарлага"</string>
+ <string name="screen_timeout" msgid="7709947617767439410">"Дэлгэц автоматаар амрах"</string>
<string name="screen_timeout_summary" msgid="5558778019594643427">"Идэвхгүй <xliff:g id="TIMEOUT_DESCRIPTION">%1$s</xliff:g> болсны дараа"</string>
<string name="screen_timeout_summary_not_set" msgid="5107680774964178875">"Тохируулаагүй"</string>
<string name="wallpaper_settings_title" msgid="5635129851136006383">"Дэлгэцийн зураг"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Сонголт"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Хандалт"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Биет гар"</string>
- <string name="show_ime" msgid="4334255501724746849">"Дэлгэц дээрх гарыг ашиглах"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Биет гар идэвхтэй үед үүнийг дэлгэцэд харуулна уу"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Ойх түлхүүрүүд"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Гар нь <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> мс доторх нэг товчлуурын шуурхай давтагдсан даралтыг үл хэрэгсэнэ"</string>
<string name="slow_keys" msgid="2891452895499690837">"Удаан товчнууд"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Хэрэглэгчийн сонгосон: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Яриа"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Заагчийн хурд"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Тоглоом Контроллер"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Чичиргээг дахин чиглүүлэх"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Холбогдсон үедээ тоглоомын хянагчид чичиргээ илгээнэ үү"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Ямартай ч үргэлжлүүлэх"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Цуцлах"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Томруулах тохиргоо"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Нэг хуруугаар чиглүүлэх"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Томруулагчийг 1 хуруугаараа зөөх"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Дэлгэцийн эргэн тойронд очихын тулд 1 хуруугаараа чирнэ үү"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Нэг хуруугаар чирч, томруулах хэсгийг зөөнө үү."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Хоёр хуруугаар чирч, томруулах хэсгийг зөөнө үү."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Дэлгэцийн зөвхөн нэг хэсгийг томруулж байхад боломжгүй"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Томруулахын тулд товчлуурыг товшино уу"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Контентыг илүү том болгохын тулд дэлгэц дээр шуурхай томруулна уу"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Томруулахын тулд:</b><br/> {0,number,integer}. Томруулах онцлогийг эхлүүлэхийн тулд товчлол ашиглана уу<br/> {1,number,integer}. Дэлгэцийг товшино уу<br/> {2,number,integer}. Дэлгэцийн эргэн тойронд шилжихийн тулд 2 хуруугаа чирнэ үү<br/> {3,number,integer}. Томруулалтыг тохируулахын тулд 2 хуруугаараа чимхэнэ үү<br/> {4,number,integer}. Томруулах онцлогийг зогсоохын тулд товчлол ашиглана уу<br/><br/> <b>Түр хугацаанд томруулахын тулд:</b><br/> {0,number,integer}. Таны томруулах төрлийг бүтэн дэлгэц болгож тохируулсан эсэхийг шалгана уу<br/> {1,number,integer}. Томруулах онцлогийг эхлүүлэхийн тулд товчлол ашиглана уу<br/> {2,number,integer}. Дэлгэцийн аль нэг хэсгийг удаан дарна уу<br/> {3,number,integer}. Дэлгэцийн эргэн тойронд шилжихийн тулд хуруугаа чирнэ үү<br/> {4,number,integer}. Томруулах онцлогийг зогсоохын тулд хуруугаа хөндийрүүлнэ үү"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Томруулахын тулд:</b><br/> {0,number,integer}. Томруулж эхлэхийн тулд товчлол ашиглана уу<br/> {1,number,integer}. Дэлгэц дээр товшино уу<br/> {2,number,integer}. Дэлгэцийн эргэн тойронд шилжихийн тулд 2 хуруугаараа чирнэ үү<br/> {3,number,integer}. Томруулах хэмжээг тохируулахын тулд 2 хуруугаараа чимхэнэ үү<br/> {4,number,integer}. Томруулахыг зогсоохын тулд товчлолыг ашиглана уу<br/><br/> Та мөн түр зуур томруулах болон бусад зүйлийг хийх боломжтой."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Томруулахын тулд:</b><br/> {0,number,integer}. Томруулж эхлэхийн тулд товчлол ашиглана уу<br/> {1,number,integer}. Дэлгэц дээр товшино уу<br/> {2,number,integer}. Дэлгэцийн эргэн тойронд шилжихийн тулд 1 эсвэл 2 хуруугаараа чирнэ үү<br/> {3,number,integer}. Томруулах хэмжээг тохируулахын тулд 2 хуруугаараа чимхэнэ үү<br/> {4,number,integer}. Томруулахыг зогсоохын тулд товчлолыг ашиглана уу<br/><br/> Та мөн түр зуур томруулах болон бусад зүйлийг хийх боломжтой."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Томруулах сонголт асаалттай үед та дэлгэцээ томруулж болно.\n\n"<b>"Томруулахын тулд "</b>" томруулах сонголтыг эхлүүлж, дэлгэцийн аль нэг хэсгийг товшино уу.\n"<ul><li>"Гүйлгэхийн тулд 2 эсвэл түүнээс дээш хуруугаараа чирнэ үү"</li>\n<li>"Томруулах хэмжээг тохируулахын тулд 2 эсвэл түүнээс дээш хуруугаараа чимхэнэ үү"</li></ul>\n\n<b>"Түр хугацаанд томруулахын тулд "</b>" томруулах сонголтыг эхлүүлээд, дэлгэцийн аль нэг хэсэг дээр удаан дарна уу.\n"<ul><li>"Дэлгэцийн эргэн тойронд очихын тулд чирнэ үү"</li>\n<li>"Жижигрүүлэхийн тулд хуруугаа авна уу"</li></ul>\n\n"Та гар эсвэл навигацын самбарт томруулах боломжгүй."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g>-н <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>-р хуудас"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Хандалтын товчлуурын товчлол"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Зөвхөн чухал хүмүүс болон аппуудаас мэдэгдэл авах"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Идэвхжүүлэлтийн төрлийг сонгох"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Хугацаа"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Ж.нь \"9:30 – 17:00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Календарь"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Ж.нь \"Хувийн календарь\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Горим үүсгэх"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Захиалгат"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Саад болох зүйлсийг хязгаарлах"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Бүү саад бол горимыг асаах"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Сэрүүлэг болон медиагийн ая нь тасалдуулах боломжтой"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Хуваарь"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Хуваарийг устгах"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Устгах"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Засах"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Хуваарь"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Хуваарь"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Хуваарь тохируулах"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Хуваарь"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> цаг, <xliff:g id="MINUTES">%2$d</xliff:g> мин"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Автоматаар асаах"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Хуваарь"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Утасны дууг тодорхой цагт хаах"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Бүү саад бол горимын дүрмийг тохируулах"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Дуу гаргадаг саад болох зүйлсийг зөвшөөрөх"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Харааны саадыг блоклох"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Харагдаж буй дохиог зөвшөөрөх"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Танд хүрэх боломжтой мэдэгдэл"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Төвлөрсөөр байгаарай"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Нэмэлт үйлдлүүд"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Дэлгэцийн тохиргоо"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Дэлгэцийн сонголтууд"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"бараан загварыг идэвхжүүлэх"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"OS, аппуудыг бараан дэвсгэр дээрх цайвар текстийг илүүд үзэх болгож сэлгэнэ үү. Энэ нь нүдэнд амар байж болох бөгөөд зарим төхөөрөмж дээр батарей ихээр хэмнэдэг"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Дэлгэцийн ямар ч өөрчлөлт байхгүй}=1{{effect_1}}=2{{effect_1}, {effect_2}}=3{{effect_1}, {effect_2}, {effect_3}}other{{effect_1}, {effect_2}, өөр #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Тасалдлуудыг шүүх"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Ямар ч тасалдлыг шүүгээгүй"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Шүүсэн мэдэгдэлд зориулсан дэлгэцийн сонголтууд"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Бүү саад бол горим асаалттай үед"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Мэдэгдлийн дууг хаах"</string>
@@ -3483,6 +3541,8 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"мэдэгдлийг нээх"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Мэдэгдлийг түр хойшлуулахыг зөвшөөрөх"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Аппын дүрс тэмдэг дэх мэдэгдлийн цэг"</string>
+ <!-- no translation found for notification_bundles (3614044525822580826) -->
+ <skip />
<string name="notification_bubbles_title" msgid="5681506665322329301">"Бөмбөлгүүд"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Бөмбөлгүүд"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Энэ харилцан яриаг бөмбөлөг болгох"</string>
@@ -3664,6 +3724,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Ангилал"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Бусад"</string>
<string name="no_channels" msgid="4716199078612071915">"Энэ апп ямар ч мэдэгдэл нийтлээгүй"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Ашиглаагүй ангиллуудыг харуулах"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Аппын нэмэлт тохиргоо"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Ашиглаагүй ангиллуудыг харуулах"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Ашиглаагүй ангиллуудыг нуух"</string>
@@ -3775,6 +3836,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Бүгд"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Аппуудад дарахыг нь зөвшөөрөх"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Тасалдуулах боломжтой аппууд"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Бусад аппыг сонгох"</string>
@@ -4799,8 +4862,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Гэр"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Батарей"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Тохиргооны самбар"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Дэлгэцийн горимыг хүчлэх"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Дэлгэцийн туршилтын горимыг хоёрдогч дэлгэцэд хүчлэх"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Чөлөөт хэлбэрийн цонхыг идэвхжүүлэх"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Чөлөөт хэлбэрийн цонхны дэмжлэгийг идэвхжүүлнэ үү."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Хоёрдогч дэлгэцэд чөлөөт хэлбэрийн цонхыг асаа"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Зөвхөн хоёрдогч дэлгэц дээр чөлөөт хэлбэрийн цонхыг идэвхжүүлнэ үү."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Хэмжээг өөрчлөх боломжгүй аппуудыг олон цонхонд идэвхжүүлэх"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Хэмжээг нь өөрчлөх боломжгүй аппуудыг олон цонхонд байхыг нь зөвшөөрнө"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Хүчээр бүдгэрүүлэхийг дарах"</string>
@@ -4868,14 +4933,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"16 КБ-ын хөгжүүлэгчийн тохиргоог ашиглаж эхлэхийн өмнө энэ төхөөрөмжийн өгөгдлийн хуваалтыг ext4 рүү хөрвүүлэх шаардлагатай. Энэ горимд программ хангамжийн халдашгүй байдалд баталгаа өгөх боломжгүй бөгөөд эхэлж ачаалагчийн түгжээг тайлсан байхад утсан дээр хадгалсан аливаа өгөгдөл эрсдэлд орж магадгүй. 16 КБ-ын тохиргоог идэвхжүүлэхэд үүний дараа ахин нэг удаа дахин асаах шаардлагатай болно. Та энэ горимд орсны дараа нэг удаа дахин асааснаар 4 КБ, 16 КБ-ын хооронд нааш, цааш сэлгэх боломжтой. Зарим онцлогийг эдгээр горимд идэвхгүй болгох тул зарим аппликэйшн ажиллахгүй байж магадгүй. Төхөөрөмжийг үйлдвэрлэлийн горим руу буцаахын тулд та 4 КБ горим руу буцаж сэлгэж, дараа нь эхэлж ачаалагчийг түгжих шаардлагатай бөгөөд энэ нь төхөөрөмжийг үйлдвэрийн тохиргоонд шинэчилнэ. Тухайн төхөөрөмжийг Android руу амжилттай ачаалсны дараа Хөгжүүлэгчийн тохиргоонд OEM түгжээг тайлахыг идэвхгүй болгоно уу. Баталгаажуулсны дараа тухайн төхөөрөмжийг арчих бөгөөд файлын системийг ext4 болгож өөрчилнө. Үүнийг дууссаны дараа 16 КБ-ыг дахин идэвхжүүлэхийн тулд буцаж ирнэ үү."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Бүх өгөгдлийг устгах"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Өгөгдлийн хуваалтыг ext4 болгож дахин форматалж, арчиж чадсангүй."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16 КБ-ын горимд эхэлж ачаалагчийн түгжээг тайлахыг шаарддаг"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Эхэлж ачаалагчийн түгжээг тайлах шаардлагатай"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"16 КБ-ын хөгжүүлэгчийн тохиргоог ашиглахын өмнө энэ төхөөрөмжид эхэлж ачаалагчийн түгжээг тайлсан байх шаардлагатай. Энэ горимд программ хангамжийн халдашгүй байдалд баталгаа өгөх боломжгүй бөгөөд эхэлж ачаалагчийн түгжээг тайлсан байхад утсан дээр хадгалсан аливаа өгөгдөл эрсдэлд орж магадгүй. 16 КБ-ын горимыг идэвхжүүлэх үед хэрэглэгчийн бүх өгөгдөл, тохиргоог арчина. Эхэлж ачаалагчийн түгжээг тайлсны дараа 16 КБ-ын тохиргоог идэвхжүүлэхэд хоёр удаа дахин асаахыг шаардана. Та энэ горимд орсны дараа нэг удаа дахин асааснаар 4 КБ, 16 КБ-ын хооронд нааш, цааш сэлгэх боломжтой. Зарим онцлогийг эдгээр горимд идэвхгүй болгох тул зарим аппликэйшн ажиллахгүй байж магадгүй. Төхөөрөмжийг үйлдвэрлэлийн горим руу буцаахын тулд та 4 КБ горим руу буцаж сэлгэж, дараа нь төхөөрөмжийн OEM/эхэлж ачаалагчийг түгжинэ (энэ нь төхөөрөмжийг үйлдвэрийн тохиргоонд шинэчилнэ). Эхэлж ачаалагчийн түгжээг тайлаад, дахин оролдоно уу. Та үүнийг хэрхэн хийх зааварчилгааг <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a> дээрээс харах боломжтой"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"4 КБ дурын хэмжээтэй хуудасны (page-agnostic) горимыг ашиглаж байна"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Та хуудасны хэмжээгээ сэлгэж болох (page-agnostic) горимын 4 КБ горимд байна. Энэ горимд программ хангамжийн халдашгүй байдалд баталгаа өгөх боломжгүй бөгөөд эхэлж ачаалагчийн түгжээг тайлсан байхад утсан дээр хадгалсан аливаа өгөгдөл эрсдэлд орж магадгүй. Зарим онцлогийг эдгээр горимд идэвхгүй болгох тул зарим аппликэйшн ажиллахгүй байж магадгүй. Үйлдвэрлэлийн горимд дахин орохын тулд та төхөөрөмжийн эхэлж ачаалагчийг түгжих ёстой. Илүү ихийг уншихын тулд товшино уу."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Та хуудасны хэмжээгээ сэлгэж болох (page-agnostic) горимын 4 КБ горимд байна. Энэ горимд программ хангамжийн халдашгүй байдалд баталгаа өгөх боломжгүй бөгөөд эхэлж ачаалагчийн түгжээг тайлсан байхад утсан дээр хадгалсан аливаа өгөгдөл эрсдэлд орж магадгүй. Зарим онцлогийг эдгээр горимд идэвхгүй болгох тул зарим аппликэйшн ажиллахгүй байж магадгүй. Үйлдвэрлэлийн горимд дахин орохын тулд та төхөөрөмжийн эхэлж ачаалагчийг түгжих ёстой. Энэ нь төхөөрөмжийг үйлдвэрийн тохиргоонд дахин шинэчилж, үйлдвэрлэлийн тохиргоо руу сэргээнэ. Тухайн төхөөрөмжийг Android руу амжилттай ачаалсны дараа Хөгжүүлэгчийн тохиргоонд OEM түгжээг тайлахыг идэвхгүй болгоно уу. Хэрэв төхөөрөмжийг Android руу ачаалж чадаагүй эсвэл энэ нь тогтворгүй байвал <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> дээрээс төхөөрөмжийг хамгийн сүүлийн үеийн үйлдвэрийн зургаар солих эсвэл <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a>-г ашиглаад, \'Төхөөрөмжийг арчих\', \'Эхэлж ачаалагчийг түгжих\' болон \'Бүх хуваалтыг хүчээр солих\'-ыг сонгоно уу."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"16 КБ хуудасны хэмжээгээ сэлгэж болох (page-agnostic) горимыг ашиглаж байна"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Та хуудасны хэмжээгээ сэлгэж болох (page-agnostic) горимын 16 КБ горимд байна. Энэ горимд программ хангамжийн халдашгүй байдалд баталгаа өгөх боломжгүй бөгөөд эхэлж ачаалагчийн түгжээг тайлсан байхад утсан дээр хадгалсан аливаа өгөгдөл эрсдэлд орж магадгүй. Зарим онцлогийг эдгээр горимд идэвхгүй болгох тул зарим аппликэйшн ажиллахгүй байж магадгүй. Үйлдвэрлэлийн горимд дахин орохын тулд та 4 КБ горим руу буцаж сэлгэж, дараа нь төхөөрөмжийн эхэлж ачаалагчийг түгжих ёстой. Илүү ихийг уншихын тулд товшино уу."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Та хуудасны хэмжээгээ сэлгэж болох (page-agnostic) горимын 16 КБ горимд байна. Энэ горимд программ хангамжийн халдашгүй байдалд баталгаа өгөх боломжгүй бөгөөд эхэлж ачаалагчийн түгжээг тайлсан байхад утсан дээр хадгалсан аливаа өгөгдөл эрсдэлд орж магадгүй. Зарим онцлогийг эдгээр горимд идэвхгүй болгох тул зарим аппликэйшн ажиллахгүй байж магадгүй. Үйлдвэрлэлийн горимд дахин орохын тулд та 4 КБ горим руу буцаж сэлгэж, дараа нь төхөөрөмжийн эхэлж ачаалагчийг түгжих ёстой. Энэ нь төхөөрөмжийг үйлдвэрийн тохиргоонд дахин шинэчилж, үйлдвэрлэлийн тохиргоо руу сэргээнэ. Тухайн төхөөрөмжийг Android руу амжилттай ачаалсны дараа Хөгжүүлэгчийн тохиргоонд OEM түгжээг тайлахыг идэвхгүй болгоно уу. Хэрэв төхөөрөмжийг Android руу ачаалж чадаагүй эсвэл энэ нь тогтворгүй байвал <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> дээрээс төхөөрөмжийг хамгийн сүүлийн үеийн үйлдвэрийн зургаар солих эсвэл <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a>-г ашиглаад, \'Төхөөрөмжийг арчих\', \'Эхэлж ачаалагчийг түгжих\' болон \'Бүх хуваалтыг хүчээр солих\'-ыг сонгоно уу."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Та хуудасны хэмжээ сэлгэх горимын 16 КБ горимд байна. Энэ горимд программ хангамжийн халдашгүй байдалд баталгаа өгөх боломжгүй бөгөөд эхэлж ачаалагчийн түгжээг тайлсан байхад утсан дээр хадгалсан аливаа өгөгдөл эрсдэлд орж магадгүй. Зарим онцлогийг эдгээр горимд идэвхгүй болгох тул зарим аппликэйшн ажиллахгүй байж магадгүй. Үйлдвэрлэлийн горимд дахин орохын тулд та 4 КБ горим руу буцаж сэлгээд, дараа нь төхөөрөмжийн эхэлж ачаалагчийг түгжих ёстой. Илүү ихийг уншихын тулд товшино уу."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Та хуудасны хэмжээ сэлгэх горимын 16 КБ горимд байна. Энэ горимд программ хангамжийн халдашгүй байдалд баталгаа өгөх боломжгүй бөгөөд эхэлж ачаалагчийн түгжээг тайлсан байхад утсан дээр хадгалсан аливаа өгөгдөл эрсдэлд орж магадгүй. Зарим онцлогийг эдгээр горимд идэвхгүй болгох тул зарим аппликэйшн ажиллахгүй байж магадгүй. Үйлдвэрлэлийн горимд дахин орохын тулд та 4 КБ горим руу буцаж сэлгээд, дараа нь төхөөрөмжийн эхэлж ачаалагчийг түгжих ёстой. Энэ нь төхөөрөмжийг үйлдвэрийн тохиргоонд дахин шинэчилж, үйлдвэрлэлийн тохиргоо руу сэргээнэ. Тухайн төхөөрөмжийг Android руу амжилттай ачаалсны дараа Хөгжүүлэгчийн тохиргоонд OEM түгжээг тайлахыг идэвхгүй болгоно уу. Хэрэв төхөөрөмжийг Android руу ачаалж чадаагүй эсвэл энэ нь тогтворгүй байвал <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> дээрээс төхөөрөмжийг хамгийн сүүлийн үеийн үйлдвэрийн зургаар солих эсвэл <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a>-г ашиглаад, \'Төхөөрөмжийг арчих\', \'Эхэлж ачаалагчийг түгжих\', \'Бүх хуваалтыг хүчээр солих\'-ыг сонгоно уу."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16 КБ дурын хэмжээтэй хуудасны (page-agnostic) горим"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Цааш унших"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Алдааны мэдээний удирдагч"</string>
@@ -5007,7 +5072,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Апп бэхлэхийг ашиглах"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Хөгжүүлэгчийн тохиргоог ашиглах"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Хэвлэгчийн үйлчилгээ ашиглах"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Олон хэрэглэгчийг зөвшөөрөх"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"зөвшөөрөх, хэд хэдэн, хэрэглэгч, зөвшөөрөл олгох, олон"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"олон, хэрэглэгч, профайл, хүмүүс, бүртгэл, сэлгүүр, хэд хэдэн"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Wireless debugging-г ашиглах"</string>
@@ -5121,8 +5187,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Таблетаа холбох үед дэлгэцэн дээр юу харагдахыг сонгоно уу. Дэлгэц амраагч ашиглах үед таны төхөөрөмж илүү их эрчим хүч зарцуулж болзошгүй."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Өөрчлөх"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>-г өөрчлөх"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Чөлөөт хэлбэрийн дэмжлэгийг идэвхжүүлэхийн тулд дахин асаах шаардлагатай."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Хоёрдогч дэлгэц дээр дэлгэцийн горимыг хүчлэхийн тулд дахин асаах шаардлагатай."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Чөлөөт хэлбэрийн уламжлалт цонхны дэмжлэгийг идэвхжүүлэхэд дахин асаах шаардлагатай."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Чөлөөт хэлбэрийн цонхны дэмжлэгийг өөрчлөхөд дахин асаах шаардлагатай."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Хоёрдогч дэлгэц дээр чөлөөт хэлбэрийн цонхыг хүчлэхэд дахин асаах шаардлагатай."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Одоо дахин асаах"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Дараа дахин асаах"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Орчны аудио"</string>
@@ -5351,4 +5418,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Дамжуулалтыг сонсох"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>-р сонсохын тулд аудио дамжуулалтын QR кодыг скан хийнэ үү"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Хуваалцаж байхад нууц үгийг засах боломжгүй. Нууц үгийг өөрчлөхийн тулд эхлээд аудио хуваалцахыг унтраана уу."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-mr/arrays.xml b/res/values-mr/arrays.xml
index d7ce4b4..a31ec8f 100644
--- a/res/values-mr/arrays.xml
+++ b/res/values-mr/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"बेडटाइम"</item>
+ <item msgid="4152450357280759894">"ड्रायव्हिंग"</item>
+ <item msgid="7096549258219399423">"इमर्सिव्ह"</item>
+ <item msgid="2760716776980432977">"व्यवस्थापित"</item>
+ <item msgid="601734478369121764">"तारा"</item>
+ <item msgid="6243809315432780521">"कॅलेंडर"</item>
+ <item msgid="4913577903148415331">"वेळ"</item>
+ <item msgid="3653377604690057780">"थिएटर"</item>
+ <item msgid="3843711267408385410">"फूल"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index d2e79a5..12e00c8 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"श्रवणयंत्राची सेटिंग्ज"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"शॉर्टकट, श्रवणयंत्राची कंपॅटिबिलिटी"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"प्रीसेट"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"तुमच्या ऑडिओलॉजिस्टने प्रोग्राम केलेले प्रीसेट नाहीत"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"प्रीसेट अपडेट करता आले नाही"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ऑडिओ आउटपुट"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ऑडिओ आउटपुटबद्दल"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"चेहरा आणि <xliff:g id="WATCH">%s</xliff:g> जोडले"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"चेहरा, फिंगरप्रिंट आणि <xliff:g id="WATCH">%s</xliff:g> जोडले"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"चेहरा, फिंगरप्रिंट आणि <xliff:g id="WATCH">%s</xliff:g> जोडले"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"ओळख तपासणी सुरू असल्यामुळे हे आवश्यक आहे"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator अनलॉक करा"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"वॉच जोडले आहे"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"तुमचे वॉच सेट करा"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"वॉच अनलॉक बद्दल अधिक जाणून घ्या"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"वॉच जोडा"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"वॉच काढून टाका"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"फिंगरप्रिंट आणि फेस अनलॉक"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"फेस आणि फिंगरप्रिंट अनलॉक"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"कार्य प्रोफाइलसाठी फेस आणि फिंगरप्रिंट अनलॉक"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"सेटअप आवश्यक आहे"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"चेहरा आणि फिंगरप्रिंट जोडल्या"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"अॅप्स इंस्टॉल करा"</b>\n"तुम्ही तुमच्या स्पेसमध्ये खाजगी ठेवायची असलेली ॲप्स इंस्टॉल करा"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"लक्षात ठेवा"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"तुम्ही तुमची स्पेस लॉक करता, तेव्हा ॲप्स थांबतात"</b>\n"तुम्ही तुमची स्पेस लॉक करता, तेव्हा तुमच्या स्पेसमधील ॲप्स थांबवली जातात आणि तुम्हाला त्यांच्याकडून नोटिफिकेशन मिळणार नाहीत"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"ज्या अॅप्सनी बॅकग्राउंडमध्ये रन होणे आवश्यक आहे किंवा महत्त्वाची नोटिफिकेशन पाठवण्याची आवश्यकता आहे अशी वैद्यकीय अॅप्स यांच्यासाठी खाजगी स्पेस योग्य नाहीत. तुमची स्पेस लॉक केलेली असल्यामुळे, नोटिफिकेशन आणि बॅकग्राउंड अॅक्टिव्हिटी थांबवली जाते.\n\nतुमची खाजगी स्पेस लॉक केलेली असते, तेव्हा खाजगी स्पेसमधील अॅप्स परवानगी व्यवस्थापक, गोपनीयता डॅशबोर्ड आणि इतर सेटिंग्जमध्ये दिसणार नाहीत.\n\nतुमची खाजगी स्पेस नवीन डिव्हाइसवर हलवली जाऊ शकत नाही. तुम्हाला दुसर्या डिव्हाइसवर वापरायची असल्यास, दुसरी खाजगी स्पेस सेट करावी लागेल.\n\nतुमच्या डिव्हाइसला कॉंप्युटरशी कनेक्ट करणारी किंवा तुमच्या डिव्हाइसवर हानिकारक अॅप्स इंस्टॉल करणारी कोणतीही व्यक्ती तुमची खाजगी स्पेस अॅक्सेस करू शकते."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"ज्या अॅप्सनी बॅकग्राउंडमध्ये रन होणे आवश्यक आहे किंवा महत्त्वाची नोटिफिकेशन पाठवण्याची आवश्यकता आहे अशी वैद्यकीय अॅप्स यांच्यासाठी खाजगी स्पेस योग्य नाहीत. तुमची स्पेस लॉक केलेली असल्यामुळे, नोटिफिकेशन आणि बॅकग्राउंड अॅक्टिव्हिटी थांबवली जाते.\n\nतुमची खाजगी स्पेस लॉक केलेली असते, तेव्हा खाजगी स्पेसमधील अॅप्स परवानगी व्यवस्थापक, गोपनीयता डॅशबोर्ड आणि इतर सेटिंग्जमध्ये दिसणार नाहीत.\n\nतुमची खाजगी स्पेस नवीन डिव्हाइसवर रिस्टोअर केली जाऊ शकत नाही. तुम्हाला ती दुसऱ्या डिव्हाइसवर वापरायची असल्यास तुम्हाला दुसरी स्पेस सेट करावी लागेल.\n\nतुमचे डिव्हाइस कॉंप्युटरशी कनेक्ट करणारी किंवा तुमच्या डिव्हाइसवर दुर्भावनापूर्ण ॲप्स इंस्टॉल करणारी कोणतीही व्यक्ती खाजगी स्पेस अॅक्सेस करू शकते."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"खाजगी स्पेसबद्दल अधिक जाणून घ्या"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"यासाठी थोडा वेळ लागू शकतो"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"खाजगी स्पेस सेट करत आहे…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"डिव्हाइस रीस्टार्ट करायचे आहे का?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"तपशीलवार NFC लॉगिंग हे फक्त विकासाच्या उद्देशाने आहे. बग रिपोर्टमध्ये अतिरिक्त NFC डेटाचा समावेश केला आहे, ज्यामध्ये खाजगी माहितीचा समावेश असू शकतो. हे सेटिंग बदलण्यासाठी तुमचे डिव्हाइस रीस्टार्ट करा."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"रीस्टार्ट करा"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"कास्ट करा"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"मिरर करा"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"वायरलेस डिस्प्ले सुरू करा"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"अडॅप्टिव्ह"</string>
<string name="brightness" msgid="6216871641021779698">"ब्राइटनेस पातळी"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"अडॅप्टिव्ह ब्राइटनेस"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"अडॅप्टिव्ह ब्राइटनेसबद्दल"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"तुमच्या स्क्रीनचा ब्राइटनेस तुमच्या वातावरण आणि अॅक्टिव्हिटीशी आपोआप अॅडजस्ट होईल. अडॅप्टिव्ह ब्राइटनेसला तुमची प्राधान्ये जाणून घेण्यात मदत करण्यासाठी तुम्ही स्लाइडर मॅन्युअली हलवू शकता."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"सुरू"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"बंद"</string>
@@ -1261,7 +1292,7 @@
<string name="even_dimmer_display_title" msgid="6731255736830410149">"आणखी मंद"</string>
<string name="even_dimmer_display_summary" msgid="120301078873242172">"डिव्हाइसचा प्रकाश नेहमीपेक्षा मंद असू द्या"</string>
<string name="screen_timeout" msgid="7709947617767439410">"स्क्रीन टाइमआउट"</string>
- <string name="screen_timeout_summary" msgid="5558778019594643427">"निष्क्रियतेच्या <xliff:g id="TIMEOUT_DESCRIPTION">%1$s</xliff:g> नंतर"</string>
+ <string name="screen_timeout_summary" msgid="5558778019594643427">"इनॅक्टिव्हिटीच्या <xliff:g id="TIMEOUT_DESCRIPTION">%1$s</xliff:g> नंतर"</string>
<string name="screen_timeout_summary_not_set" msgid="5107680774964178875">"सेट केलेले नाही"</string>
<string name="wallpaper_settings_title" msgid="5635129851136006383">"वॉलपेपर"</string>
<string name="style_and_wallpaper_settings_title" msgid="2232042809407308946">"वॉलपेपर आणि शैली"</string>
@@ -1548,7 +1579,7 @@
<string name="tether_settings_summary_usb_and_bluetooth_and_ethernet" msgid="5880591133984166550">"USB, ब्लूटूथ, इथरनेट"</string>
<string name="tether_settings_summary_all" msgid="7565193614882005775">"हॉटस्पॉट, USB, ब्लूटूथ, इथरनेट"</string>
<string name="tether_settings_summary_off" msgid="2526164899130351968">"इतर डिव्हाइससह इंटरनेट शेअर करत नाही"</string>
- <string name="tether_preference_summary_off" msgid="6266799346319794630">"बंद आहे"</string>
+ <string name="tether_preference_summary_off" msgid="6266799346319794630">"बंद"</string>
<string name="usb_tethering_button_text" msgid="7364633823180913777">"USB टेदरिंग"</string>
<string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"ब्लूटूथ टेदरिंग"</string>
<string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"इथरनेट टेदरिंग"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"पर्याय"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"अॅक्सेसिबिलिटी"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"वास्तविक कीबोर्ड"</string>
- <string name="show_ime" msgid="4334255501724746849">"ऑन-स्क्रीन कीबोर्ड वापरा"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"वास्तविक कीबोर्ड अॅक्टिव्ह असताना त्यास स्क्रीनवर ठेवा"</string>
<string name="bounce_keys" msgid="7419450970351743904">"बाउन्स की"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"कीबोर्ड <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> मिसेमध्ये एकच की वारंवार प्रेस करण्याकडे दुर्लक्ष करतो"</string>
<string name="slow_keys" msgid="2891452895499690837">"स्लो की"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"वापरकर्त्याने निवडले आहे: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"भाषण"</string>
<string name="pointer_speed" msgid="7398649279282675718">"पॉइंटर वेग"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"गेम नियंत्रक"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"व्हायब्रेट पुनर्निर्देशित करा"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"कनेक्ट केले असताना गेम नियंत्रकाला व्हायब्रेशन पाठवा"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"तरीही पुढे सुरू ठेवा"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"रद्द करा"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"मॅग्निफिकेशन सेटिंग्ज"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"एका बोटाने पॅन करणे"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"मॅग्निफायर एका बोटाने हलवा"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"स्क्रीनभोवती हलवण्यासाठी १ बोट ड्रॅग करा"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"एका बोटाने ड्रॅग करून मॅग्निफिकेशनचा भाग हलवा."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"दोन बोटांनी ड्रॅग करून मॅग्निफिकेशनचा भाग हलवा."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"फक्त स्क्रीनचा भाग मॅग्निफाय करताना उपलब्ध नसेल"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"झूम करण्यासाठी बटणावर टॅप करा"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"आशय आणखी मोठा करून पाहण्यासाठी स्क्रीनवर झटपट झूम इन करा"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>झूम इन करण्यासाठी:</b><br/> {0,number,integer}. मॅग्निफिकेशन सुरू करण्यासाठी शॉर्टकट वापरा<br/> {1,number,integer}. स्क्रीनवर टॅप करा<br/> {2,number,integer}. स्क्रीनवर हलवण्यासाठी दोन बोटांनी ड्रॅग करा<br/> {3,number,integer}. झूम अॅडजस्ट करण्यासाठी दोन बोटांनी पिंच करा<br/> {4,number,integer}. मॅग्निफिकेशन थांबवण्यासाठी शॉर्टकट वापरा<br/><br/> <b>तात्पुरते झूम इन करण्यासाठी:</b><br/> {0,number,integer}. तुमचा मॅग्निफिकेशनचा प्रकार फुल स्क्रीनवर सेट केला असल्याची खात्री करा<br/> {1,number,integer}. मॅग्निफिकेशन सुरू करण्यासाठी शॉर्टकट वापरा<br/> {2,number,integer}. स्क्रीनवर कुठेही स्पर्श करा आणि धरून ठेवा<br/> {3,number,integer}. स्क्रीनवर हलवण्यासाठी बोटाने ड्रॅग करा<br/> {4,number,integer}. मॅग्निफिकेशन थांबवण्यासाठी बोट उचला"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>झूम इन करण्यासाठी:</b><br/> {0,number,integer}. मॅग्निफिकेशन सुरू करण्यासाठी शॉर्टकट वापरा<br/> {1,number,integer}. स्क्रीनवर टॅप करा<br/> {2,number,integer}. स्क्रीनवर हलवण्यासाठी २ बोटे ड्रॅग करा<br/> {3,number,integer}. झूम अॅडजस्ट करण्यासाठी २ बोटांनी पिंच करा<br/> {4,number,integer}. मॅग्निफिकेशन थांबवण्यासाठी शॉर्टकट वापरा<br/><br/> तुम्ही तात्पुरते झूम इन करू शकता आणि आणखी बरेच काही करू शकता."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>झूम इन करण्यासाठी:</b><br/> {0,number,integer}. मॅग्निफिकेशन सुरू करण्यासाठी शॉर्टकट वापरा<br/> {1,number,integer}. स्क्रीनवर टॅप करा<br/> {2,number,integer}. स्क्रीनवर हलवण्यासाठी १ किंवा २ बोटे ड्रॅग करा<br/> {3,number,integer}. झूम अॅडजस्ट करण्यासाठी २ बोटांनी पिंच करा<br/> {4,number,integer}. मॅग्निफिकेशन थांबवण्यासाठी शॉर्टकट वापरा<br/><br/> तुम्ही तात्पुरते झूम इन करू शकता आणि आणखी बरेच काही करू शकता."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"मॅग्निफिकेशन सुरू असल्यास, तुम्ही तुमची स्क्रीन झूम इन करू शकता.\n\n"<b>"झूम करण्यासाठी"</b>", मॅग्निफिकेशन सुरू करा आणि त्यानंतर स्क्रीनवर कुठेही टॅप करा.\n"<ul><li>"स्क्रोल करण्यासाठी दोन किंवा अधिक बोटांनी ड्रॅग करा."</li>\n<li>"झूम अॅडजस्ट करण्यासाठी दोन किंवा अधिक बोटांनी पिंच करा"</li></ul>\n\n<b>"तात्पुरते झूम करण्यासाठी "</b>", मॅग्निफिकेशन सुरू करा आणि स्क्रीनवर कुठेही धरून ठेवा.\n"<ul><li>"स्क्रीनवर कुठेही जाण्यासाठी ड्रॅग करा "</li>\n<li>"झूम आउट करण्यासाठी बोट उचला"</li></ul>\n\n"तुम्ही कीबोर्ड किंवा नेव्हिगेशन बार वर झूम इन करू शकत नाही."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g> पैकी <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> पेज"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"अॅक्सेसिबिलिटी बटणासाठी शॉर्टकट"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"फक्त महत्त्वाच्या लोकांच्या आणि अॅप्सच्या सूचना मिळवा"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"अॅक्टिव्हेशनचे प्रकार निवडा"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"वेळ"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"उदा. \"संध्याकाळी ९.३० – ५.००\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"कॅलेंडर"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"उदा. \"वैयक्तिक कॅलेंडर\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"मोड तयार करा"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"कस्टम"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"व्यत्यय मर्यादित करा"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"व्यत्यय आणू नका सुरू करा"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"अलार्म आणि मीडियाचे आवाज व्यत्यय आणू शकतात"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"शेड्युल"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"शेड्युल हटवा"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"हटवा"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"संपादित करा"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"शेड्युल"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"शेड्युल"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"शेड्यूल सेट करा"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"शेड्यूल"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> तास <xliff:g id="MINUTES">%2$d</xliff:g> मिनिटे"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"आपोआप सुरू करा"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"शेड्युल"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"काही वेळेला फोन शांत करा"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"व्यत्यय आणू नका नियम सेट करा"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"आवाज करतात त्या सर्व व्यत्ययांना अनुमती द्या"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"दृश्य व्यत्यय ब्लॉक करा"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"व्हिज्युअल सिग्नलना अनुमती द्या"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"तुमच्यापर्यंत पोहोचू शकणारी नोटिफिकेशन"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"लक्ष केंद्रित करा"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"अतिरिक्त कृती"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"डिस्प्ले सेटिंग्ज"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"डिस्प्ले पर्याय"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"गडद थीम सुरू करा"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"गडद बॅकग्राउंडवर फिकट मजकुराला प्राधान्य देण्यासाठी OS आणि ॲप्स स्विच करा, ज्यामुळे डोळ्यांवर ताण येत नाही व काही डिव्हाइसवर लक्षणीय प्रमाणात बॅटरीची बचत होते"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{No display changes}=1{{effect_1}}=2{{effect_1} आणि {effect_2}}=3{{effect_1}, {effect_2} आणि {effect_3}}other{{effect_1}, {effect_2} आणि आणखी #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"व्यत्ययांना फिल्टर करा"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"कोणतेही व्यत्यय फिल्टर केलेले नाहीत"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"फिल्टर केलेल्या नोटिफिकेशनसाठी डिस्प्ले पर्याय"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"व्यत्यय आणू नका सुरू असते तेव्हा"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"सूचना आल्यावर आवाज नाही"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"सूचना उघडा"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"सूचना स्नूझ करण्याची अनुमती द्या"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"ॲप आयकनवर सूचना बिंदू"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"नोटिफिकेशन बंडल"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"बबल"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"बबल"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"हे संभाषण बबल करा"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"वर्गवाऱ्या"</string>
<string name="notification_channels_other" msgid="18159805343647908">"अन्य"</string>
<string name="no_channels" msgid="4716199078612071915">"या ॲपने कोणत्याही सूचना पोस्ट केल्या नाहीत"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"न वापरलेल्या वर्गवाऱ्या दाखवा"</string>
<string name="app_settings_link" msgid="6725453466705333311">"अॅपमधील अतिरिक्त सेटिंग्ज"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"न वापरलेल्या वर्गवाऱ्या दाखवा"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"न वापरलेल्या वर्गवाऱ्या लपवा"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"सर्व"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ॲप्सना ओव्हरराइड करण्याची अनुमती द्या"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"व्यत्यय आणू शकणारी ॲप्स"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"आणखी ॲप्स निवडा"</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"केस"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"बॅटरी"</string>
<string name="settings_panel_title" msgid="346363079938069215">"सेटिंग्ज पॅनल"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"डेस्कटॉप मोडची सक्ती करा"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"दुसऱ्या डिस्प्लेवर प्रायोगिक डेस्कटॉप मोडला सक्ती करा"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"फ्रीफॉर्म विंडो सुरू करा"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"फ्रीफॉर्म विंडोसाठी सपोर्ट सुरू करा."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"दुसऱ्या डिस्प्लेवर फ्रीफॉर्म विंडोइंग सुरू करा"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"फक्त दुय्यम डिस्प्लेवर फ्रीफॉर्म विंडो सुरू करा."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"मल्टी विंडोमध्ये आकार बदलू न शकणारे ॲप सुरू करा"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"आकार बदलू न शकणाऱ्या ॲप्सना मल्टी विंडोमध्ये राहण्याची परवानगी देते"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"फोर्स-डार्क ओव्हरराइड करते"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"१६KB डेव्हलपर पर्याय वापरण्यापूर्वी या डिव्हाइसच्या डेटा पार्टिशनचे ext4 मध्ये रूपांतर करणे आवश्यक आहे. या मोडमध्ये सॉफ्टवेअर इंटेग्रिटीची हमी देता येणार नाही आणि बूटलोडर अनलॉक केलेला असताना फोनवर स्टोअर केलेल्या कोणत्याही डेटाला धोका असू शकतो. १६KB पर्याय अॅक्टिव्हेट करण्यासाठी यानंतर आणखी एकदा रीबूट करावे लागेल. तुम्ही या मोडमध्ये असाल, तेव्हा तुम्ही एकदाच रीबूट करून ४KB आणि १६KB मोडमध्ये मागे व पुढे स्विच करू शकता. या मोडमध्ये काही वैशिष्ट्ये बंद केली जातील, त्यामुळे काही अॅप्लिकेशन कदाचित काम करणार नाहीत. डिव्हाइसला उत्पादन मोडवर परत आणण्यासाठी, तुम्हाला ४kB मोडवर परत स्विच करावे लागेल आणि त्यानंतर डिव्हाइसला फॅक्टरी रीसेट करणारा बूटलोडर लॉक करावा लागेल. Android मध्ये डिव्हाइस यशस्वीरीत्या बूट झाल्यानंतर, डेव्हलपर पर्यायांमध्ये OEM अनलॉक करणे हे बंद करा. डिव्हाइस पुसून टाकले जाईल आणि कन्फर्मेशननंतर फाइलसिस्टीम ext4 वर बदलली जाईल. हे पूर्ण झाल्यानंतर, कृपया १६KB पुन्हा सुरू करण्यासाठी परत या."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"सर्व डेटा मिटवा"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"डेटाचे पार्टिशन ext4 वर पुन्हा फॉरमॅट करून पुसून टाकता आले नाही."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"१६KB मोडसाठी बूटलोडर अनलॉक करणे आवश्यक आहे"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"बूटलोडर अनलॉक करणे आवश्यक आहे"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"१६KB डेव्हलपर पर्याय वापरण्यापूर्वी या डिव्हाइसचा बूटलोडर अनलॉक करावा लागेल. या मोडमध्ये सॉफ्टवेअर इंटेग्रिटीची हमी देता येणार नाही आणि बूटलोडर अनलॉक केलेला असताना फोनवर स्टोअर केलेल्या कोणत्याही डेटाला धोका असू शकतो. १६KB मोड अॅक्टिव्हेट केल्यावर सर्व वापरकर्ता डेटा आणि सेटिंग्ज पुसून टाकली जातील. बूटलोडर अनलॉक केल्यावर, १६KB पर्याय अॅक्टिव्हेट करण्यासाठी दोन वेळा रीबूट करावे लागेल. तुम्ही या मोडमध्ये असाल, तेव्हा तुम्ही एकदाच रीबूट करून ४KB आणि १६KB मोडमध्ये मागे व पुढे स्विच करू शकता. या मोडमध्ये काही वैशिष्ट्ये बंद केली जातील, त्यामुळे काही अॅप्लिकेशन कदाचित काम करणार नाहीत. डिव्हाइसला उत्पादन मोडवर परत आणण्यासाठी, तुम्हाला ४KB मोडवर परत स्विच करावे लागेल आणि त्यानंतर डिव्हाइस (फॅक्टरी रीसेट करणारा) OEM/बूटलोडर लॉक करावा लागेल. कृपया बूटलोडर अनलॉक करा आणि पुन्हा प्रयत्न करा. हे कसे करावे यासाठीच्या सूचना तुम्ही <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a> येथे पाहू शकता"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"४KB पेज अज्ञात मोड वापरत आहे"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"तुम्ही पेज अज्ञात मोडच्या ४KB मोडमध्ये आहात. या मोडमध्ये सॉफ्टवेअर इंटेग्रिटीची हमी देता येणार नाही आणि बूटलोडर अनलॉक केलेला असताना फोनवर स्टोअर केलेल्या कोणत्याही डेटाला धोका असू शकतो. या मोडमध्ये काही वैशिष्ट्ये बंद केली जातील, त्यामुळे काही अॅप्लिकेशन कदाचित काम करणार नाहीत. उत्पादन मोडमध्ये पुन्हा एंटर करण्यासाठी, तुम्हाला डिव्हाइसचा बूटलोडर लॉक करावा लागेल. आणखी वाचण्यासाठी टॅप करा."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"तुम्ही पेज अज्ञात मोडच्या ४KB मोडमध्ये आहात. या मोडमध्ये सॉफ्टवेअर इंटेग्रिटीची हमी देता येणार नाही आणि बूटलोडर अनलॉक केलेला असताना फोनवर स्टोअर केलेल्या कोणत्याही डेटाला धोका असू शकतो. या मोडमध्ये काही वैशिष्ट्ये बंद केली जातील, त्यामुळे काही अॅप्लिकेशन कदाचित काम करणार नाहीत. उत्पादन मोडमध्ये पुन्हा एंटर करण्यासाठी, तुम्हाला डिव्हाइसचा बूटलोडर लॉक करावा लागेल. यामुळे डिव्हाइस पुन्हा फॅक्टरी रीसेट होईल आणि उत्पादन सेटिंग्जवर रिस्टोअर केले जाईल. Android मध्ये डिव्हाइस यशस्वीरीत्या बूट झाल्यानंतर, डेव्हलपर पर्यायांमध्ये OEM अनलॉक करणे हे बंद करा. डिव्हाइस Android मध्ये बूट होत नसल्यास किंवा ते अस्थिर असल्यास, <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> येथील नवीनतम फॅक्टरी इमेजच्या मदतीने डिव्हाइस पुन्हा फ्लॅश करा किंवा <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> वापरा आणि \'डिव्हाइस पुसून टाका\', \'बूटलोडर लॉक करा\' व \'सर्व पार्टिशन सक्तीने फ्लॅश करा\' हे निवडा."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"१६KB पेज अज्ञात मोड वापरत आहे"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"तुम्ही पेज अज्ञात मोडच्या १६KB मोडमध्ये आहात. या मोडमध्ये सॉफ्टवेअर इंटेग्रिटीची हमी देता येणार नाही आणि बूटलोडर अनलॉक केलेला असताना फोनवर स्टोअर केलेल्या कोणत्याही डेटाला धोका असू शकतो. या मोडमध्ये काही वैशिष्ट्ये बंद केली जातील, त्यामुळे काही अॅप्लिकेशन कदाचित काम करणार नाहीत. उत्पादन मोडमध्ये पुन्हा एंटर करण्यासाठी, तुम्हाला ४K मोडवर परत स्विच करावे लागेल आणि त्यानंतर डिव्हाइसचा बूटलोडर लॉक करावा लागेल. आणखी वाचण्यासाठी टॅप करा."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"तुम्ही पेज अज्ञात मोडच्या १६KB मोडमध्ये आहात. या मोडमध्ये सॉफ्टवेअर इंटेग्रिटीची हमी देता येणार नाही आणि बूटलोडर अनलॉक केलेला असताना फोनवर स्टोअर केलेल्या कोणत्याही डेटाला धोका असू शकतो. या मोडमध्ये काही वैशिष्ट्ये बंद केली जातील, त्यामुळे काही अॅप्लिकेशन कदाचित काम करणार नाहीत. उत्पादन मोडमध्ये पुन्हा एंटर करण्यासाठी, तुम्हाला ४K मोडवर परत स्विच करावे लागेल आणि त्यानंतर डिव्हाइसचा बूटलोडर लॉक करावा लागेल. यामुळे डिव्हाइस पुन्हा फॅक्टरी रीसेट होईल आणि उत्पादन सेटिंग्जवर रिस्टोअर केले जाईल. Android मध्ये डिव्हाइस यशस्वीरीत्या बूट झाल्यानंतर, डेव्हलपर पर्यायांमध्ये OEM अनलॉक करणे हे बंद करा. डिव्हाइस Android मध्ये बूट होत नसल्यास किंवा ते अस्थिर असल्यास, <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> येथील नवीनतम फॅक्टरी इमेजच्या मदतीने डिव्हाइस पुन्हा फ्लॅश करा किंवा <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> वापरा आणि \'डिव्हाइस पुसून टाका\', \'बूटलोडर लॉक करा\' व \'सर्व पार्टिशन सक्तीने फ्लॅश करा\' हे निवडा."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"तुम्ही पेज-अॅग्नॉस्टिक मोडच्या १६KB मोडमध्ये आहात. या मोडमध्ये सॉफ्टवेअर इंटेग्रिटीची हमी देता येणार नाही आणि बूटलोडर अनलॉक केलेला असताना फोनवर स्टोअर केलेल्या कोणत्याही डेटाला धोका असू शकतो. या मोडमध्ये काही वैशिष्ट्ये बंद केली जातील, त्यामुळे काही अॅप्लिकेशन कदाचित काम करणार नाहीत. उत्पादन मोडमध्ये पुन्हा एंटर करण्यासाठी, तुम्हाला ४KB मोडवर परत स्विच करावे लागेल आणि त्यानंतर डिव्हाइसचा बूटलोडर लॉक करावा लागेल. आणखी वाचण्यासाठी टॅप करा."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"तुम्ही पेज-अॅग्नॉस्टिक मोडच्या १६KB मोडमध्ये आहात. या मोडमध्ये सॉफ्टवेअर इंटेग्रिटीची हमी देता येणार नाही आणि बूटलोडर अनलॉक केलेला असताना फोनवर स्टोअर केलेल्या कोणत्याही डेटाला धोका असू शकतो. या मोडमध्ये काही वैशिष्ट्ये बंद केली जातील, त्यामुळे काही अॅप्लिकेशन कदाचित काम करणार नाहीत. उत्पादन मोडमध्ये पुन्हा एंटर करण्यासाठी, तुम्हाला ४KB मोडवर परत स्विच करावे लागेल आणि त्यानंतर डिव्हाइसचा बूटलोडर लॉक करावा लागेल. यामुळे डिव्हाइस पुन्हा फॅक्टरी रीसेट होईल आणि उत्पादन सेटिंग्जवर रिस्टोअर केले जाईल. Android मध्ये डिव्हाइस यशस्वीरीत्या बूट झाल्यानंतर, डेव्हलपर पर्यायांमध्ये OEM अनलॉक करणे हे बंद करा. डिव्हाइस Android मध्ये बूट होत नसल्यास किंवा ते अस्थिर असल्यास, <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> येथील नवीनतम फॅक्टरी इमेजच्या मदतीने डिव्हाइस पुन्हा फ्लॅश करा किंवा <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> वापरा आणि \'डिव्हाइस पुसून टाका\', \'बूटलोडर लॉक करा\' व \'सर्व पार्टिशन सक्तीने फ्लॅश करा\' हे निवडा."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"१६KB पेज अज्ञात मोड"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"आणखी वाचा"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"बग रिपोर्ट हँडलर"</string>
@@ -5007,14 +5071,15 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ॲप पिनिंग वापरणे"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"डेव्हलपर पर्याय वापरणे"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"प्रिंट सेवा वापरा"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"एकाहून अधिक वापरकर्त्यांना अनुमती द्या"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"अनुमती द्या, एकाहून अधिक, वापरकर्ता, परवानगी द्या, बरेच"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"एकाहून अधिक, वापरकर्ते, प्रोफाइल, लोक, खाती, स्विच करा, अनेक"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"वायरलेस डीबगिंग वापरणे"</string>
<string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"ग्राफिक ड्रायव्हर प्राधान्ये वापरणे"</string>
<string name="night_light_main_switch_title" msgid="3428298022467805219">"रात्रीचा प्रकाश वापरणे"</string>
<string name="nfc_main_switch_title" msgid="6295839988954817432">"NFC वापरणे"</string>
- <string name="adaptive_brightness_main_switch_title" msgid="2681666805191642737">"अडॅप्टिव्ह ब्राइटनेस वापरणे"</string>
+ <string name="adaptive_brightness_main_switch_title" msgid="2681666805191642737">"अडॅप्टिव्ह ब्राइटनेस वापरा"</string>
<string name="wifi_calling_main_switch_title" msgid="4070224008346815634">"वाय-फाय कॉलिंग वापरणे"</string>
<string name="default_see_all_apps_title" msgid="7481113230662612178">"सर्व अॅप्स पहा"</string>
<string name="smart_forwarding_title" msgid="8368634861971949799">"स्मार्ट फॉरवर्डिंग"</string>
@@ -5121,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"तुमचा टॅबलेट डॉक केलेला असतो, तेव्हा तुम्ही तुमच्या स्क्रीनवर काय पाहाल ते निवडा. स्क्रीन सेव्हर वापरला जातो, तेव्हा तुमचे डिव्हाइस आणखी ऊर्जा वापरू शकते."</string>
<string name="customize_button_title" msgid="1110284655990203359">"कस्टमाइझ करा"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> कस्टमाइझ करा"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"फ्रीफॉर्म सपोर्ट सुरू करण्यासाठी, रीबूट करणे आवश्यक आहे."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"दुय्यम डिस्प्लेवर डेस्कटॉप मोडची सक्ती करण्यासाठी, रीबूट करणे आवश्यक आहे."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"लेगसी फ्रीफॉर्म विंडोइंग सपोर्ट सुरू करण्यासाठी रीबूट करणे आवश्यक आहे."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"फ्रीफॉर्म विंडोइंग सपोर्ट बदलण्यासाठी रीबूट करणे आवश्यक आहे."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"दुय्यम डिस्प्लेवर सक्तीने फ्रीफॉर्म विंडोइंग करण्यासाठी रीबूट करणे आवश्यक आहे."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"आता रीबूट करा"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"नंतर रीबूट करा"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"स्पेशियल ऑडिओ"</string>
@@ -5351,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"स्ट्रीम ऐका"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> वापरून ऐकण्यासाठी ऑडिओ स्ट्रीमचा QR कोड स्कॅन करा"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"शेअर करताना पासवर्ड संपादित करू शकत नाही. पासवर्ड बदलण्यासाठी सर्वप्रथम ऑडिओ शेअरिंग बंद करा."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-ms/arrays.xml b/res/values-ms/arrays.xml
index 4032302..9b5af35 100644
--- a/res/values-ms/arrays.xml
+++ b/res/values-ms/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Waktu tidur"</item>
+ <item msgid="4152450357280759894">"Memandu"</item>
+ <item msgid="7096549258219399423">"Mengasyikkan"</item>
+ <item msgid="2760716776980432977">"Terurus"</item>
+ <item msgid="601734478369121764">"Bintang"</item>
+ <item msgid="6243809315432780521">"Kalendar"</item>
+ <item msgid="4913577903148415331">"Masa"</item>
+ <item msgid="3653377604690057780">"Teater"</item>
+ <item msgid="3843711267408385410">"Bunga"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index c12fa64..49611a0 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Tetapan peranti pendengaran"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Pintasan, keserasian alat bantu pendengaran"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Pratetapan"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Tiada pratetapan yang diaturkan oleh ahli audiologi anda"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Tidak dapat mengemaskinikan pratetapan"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Output audio"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Perihal output audio"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Wajah dan <xliff:g id="WATCH">%s</xliff:g> ditambah"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Wajah, cap jari dan <xliff:g id="WATCH">%s</xliff:g> ditambah"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Wajah, cap jari dan <xliff:g id="WATCH">%s</xliff:g> ditambah"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Langkah ini diperlukan kerana Semakan Identiti telah dihidupkan"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Buka Kunci Authenticator Jauh"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Jam tangan ditambahkan"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Sediakan jam tangan anda"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Ketahui lebih lanjut tentang Buka Kunci Jam Tangan"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Tambahkan jam tangan"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Alih keluar jam tangan"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Buka Kunci Cap Jari & Wajah"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Buka Kunci Wajah & Cap Jari"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Buka Kunci Wajah & Cap Jari untuk kerja"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Persediaan diperlukan"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Wajah dan cap jari ditambahkan"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Pasang apl"</b>\n"Pasang apl yang mahu anda rahsiakan dalam ruang anda"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Sentiasa ingat"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Apl dihentikan apabila anda mengunci ruang anda"</b>\n"Apabila anda mengunci ruang anda, apl dalam ruang anda akan dihentikan dan anda tidak akan menerima pemberitahuan daripada apl itu"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Ruang privasi tidak sesuai untuk apl yang perlu dijalankan pada latar atau menghantar pemberitahuan genting seperti apl perubatan. Hal ini kerana pemberitahuan dan aktiviti latar dihentikan semasa ruang dikunci.\n\nApl dalam ruang privasi tidak akan dipaparkan dalam pengurus kebenaran, papan pemuka privasi dan tetapan lain apabila ruang privasi dikunci.\n\nRuang privasi tidak boleh dialihkan kepada peranti baharu. Anda perlu menyediakan ruang privasi lain jika anda mahu menggunakan ruang privasi itu pada peranti lain.\n\nSesiapa sahaja yang menyambungkan peranti anda kepada komputer atau memasang apl berbahaya pada peranti anda mungkin dapat mengakses ruang privasi anda."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Ruang privasi tidak sesuai untuk apl yang perlu dijalankan pada latar atau menghantar pemberitahuan genting seperti apl perubatan. Hal ini kerana pemberitahuan dan aktiviti latar dihentikan semasa ruang dikunci.\n\nApl dalam ruang privasi tidak akan dipaparkan dalam pengurus kebenaran, papan pemuka privasi dan tetapan lain apabila ruang privasi dikunci.\n\nRuang privasi tidak boleh dipulihkan kepada peranti baharu. Anda perlu menyediakan ruang privasi lain jika anda mahu menggunakan ruang privasi pada peranti lain.\n\nSesiapa sahaja yang menyambungkan peranti anda kepada komputer atau memasang apl berbahaya pada peranti anda mungkin dapat mengakses ruang privasi anda."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Ketahui lebih lanjut tentang ruang privasi"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Proses ini akan mengambil sedikit masa"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Menyediakan ruang privasi…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Mulakan Semula Peranti?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Pengelogan butiran NFC adalah khusus untuk tujuan pembangunan sahaja. Data tambahan NFC disertakan dalam laporan pepijat yang mungkin mengandungi maklumat peribadi. Mulakan semula peranti anda untuk menukar tetapan ini."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Mulakan semula"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Cast"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"cermin"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Dayakan paparan wayarles"</string>
@@ -1192,7 +1222,8 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Boleh suai"</string>
<string name="brightness" msgid="6216871641021779698">"Tahap kecerahan"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Kecerahan boleh suai"</string>
- <string name="auto_brightness_description" msgid="6807117118142381193">"Kecerahan skrin anda akan dilaraskan secara automatik dengan persekitaran dan aktiviti. Anda boleh mengalihkan peluncur secara manual untuk membantu kecerahan boleh suai mempelajari pilihan anda."</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Perihal kecerahan boleh suai"</string>
+ <string name="auto_brightness_description" msgid="6807117118142381193">"Kecerahan skrin akan dilaraskan secara automatik dengan persekitaran dan aktiviti anda. Anda boleh mengalihkan peluncur secara manual untuk membantu kecerahan boleh suai mempelajari pilihan anda."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Hidup"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Mati"</string>
<string name="display_white_balance_title" msgid="2624544323029364713">"Paparkan imbangan putih"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Pilihan"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Kebolehaksesan"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Papan kekunci fizikal"</string>
- <string name="show_ime" msgid="4334255501724746849">"Gunakan papan kekunci pada skrin"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Pastikan papan kekunci itu pada skrin semasa papan kekunci fizikal aktif"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Kekunci lantun"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Papan kekunci mengabaikan penekanan kekunci yang sama secara berulang dan cepat dalam masa <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Kekunci perlahan"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Pengguna dipilih: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Pertuturan"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Kelajuan penuding"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Pengawal Permainan"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Ubah hala getaran"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Hantar getaran ke pengawal permainan apabila disambungkan"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Teruskan juga"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Batal"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Tetapan pembesaran"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Penyorotan satu jari"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Gerakkan kanta pembesar menggunakan 1 jari"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Seret 1 jari untuk menerokai skrin"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Alihkan kawasan pembesaran dengan menyeret satu jari."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Alihkan kawasan pembesaran dengan menyeret dua jari."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Tidak tersedia semasa hanya membesarkan sebahagian daripada skrin"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Ketik butang untuk mengezum"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Zum masuk dengan pantas pada skrin untuk menjadikan kandungan lebih besar"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Untuk mengezum masuk:</b><br/> {0,number,integer}. Gunakan pintasan untuk memulakan pembesaran<br/> {1,number,integer}. Ketik skrin<br/> {2,number,integer}. Seret 2 jari untuk menerokai skrin<br/> {3,number,integer}. Jepit dengan 2 jari untuk melaraskan zum<br/> {4,number,integer}. Gunakan pintasan untuk menghentikan pembesaran<br/><br/> <b>Untuk mengezum masuk sementara:</b><br/> {0,number,integer}. Pastikan jenis pembesaran ditetapkan kepada skrin penuh<br/> {1,number,integer}. Gunakan pintasan untuk memulakan pembesaran<br/> {2,number,integer}. Sentuh & tahan di mana-mana pada skrin<br/> {3,number,integer}. Seret jari untuk menerokai skrin<br/> {4,number,integer}. Angkat jari untuk menghentikan pembesaran"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Untuk mengezum masuk:</b><br/> {0,number,integer}. Gunakan pintasan untuk memulakan pembesaran<br/> {1,number,integer}. Ketik skrin<br/> {2,number,integer}. Seret 2 jari untuk menerokai skrin<br/> {3,number,integer}. Cubit dengan 2 jari untuk melaraskan zum<br/> {4,number,integer}. Gunakan pintasan untuk menghentikan pembesaran<br/><br/> Anda juga boleh mengezum masuk untuk sementara waktu dan banyak lagi."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Untuk mengezum masuk:</b><br/> {0,number,integer}. Gunakan pintasan untuk memulakan pembesaran<br/> {1,number,integer}. Ketik skrin<br/> {2,number,integer}. Seret 1 atau 2 jari untuk menerokai skrin<br/> {3,number,integer}. Cubit dengan 2 jari untuk melaraskan zum<br/> {4,number,integer}. Gunakan pintasan untuk menghentikan pembesaran<br/><br/> Anda juga boleh mengezum masuk untuk sementara waktu dan banyak lagi."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Apabila pembesaran dihidupkan, anda boleh mengezum masuk pada skrin.\n\n"<b>"Untuk mengezum"</b>", mulakan pembesaran, kemudian ketik di mana-mana pada skrin.\n"<ul><li>"Seret sekurang-kurangnya 2 jari untuk menatal"</li>\n<li>"Cubit menggunakan sekurang-kurangnya 2 jari untuk melaraskan zum"</li></ul>\n\n<b>"Untuk mengezum sementara"</b>", mulakan pembesaran, kemudian sentuh & tahan di mana-mana pada skrin.\n"<ul><li>"Seret untuk beralih-alih di sekitar skrin"</li>\n<li>"Angkat jari untuk mengezum keluar"</li></ul>\n\n"Anda tidak boleh mengezum masuk pada papan kekunci atau bar navigasi."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Halaman <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> daripada <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Pintasan butang kebolehaksesan"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Dapatkan pemberitahuan daripada orang dan apl penting sahaja"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Pilih jenis pengaktifan"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Masa"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Cth. \"9:30 – 5:00 PTG\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Kalendar"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Cth. \"Kalendar peribadi\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Buat mod"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Tersuai"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Hadkan gangguan"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Hidupkan Jangan Ganggu"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Bunyi penggera dan media boleh ganggu"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Jadual"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Padamkan jadual"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Padam"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Edit"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Jadual"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Jadual"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Tetapkan jadual"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Jadual"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> jam, <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Hidupkan secara automatik"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Jadual"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Senyapkan telefon pd masa tertentu"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Tetapkan peraturan Jangan Ganggu"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Benarkan gangguan yang berbunyi"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Sekat gangguan visual"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Benarkan isyarat visual"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Pemberitahuan yang boleh anda terima"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Tumpukan perhatian"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Tindakan tambahan"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Tetapan paparan"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Pilihan paparan"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"dayakan tema gelap"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Tukar OS dan apl untuk mengutamakan teks terang pada latar gelap, yang mungkin lebih mudah dilihat dan memperoleh penjimatan bateri yang ketara pada sesetengah peranti"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Tiada perubahan paparan}=1{{effect_1}}=2{{effect_1} dan {effect_2}}=3{{effect_1}, {effect_2} dan {effect_3}}other{{effect_1}, {effect_2} dan # lagi}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Tapis gangguan"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Tiada gangguan ditapis"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Pilihan paparan untuk pemberitahuan yang ditapis"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Apabila Jangan Ganggu dihidupkan"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Tiada bunyi daripada pemberitahuan"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"buka pemberitahuan"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Benarkan penundaan pemberitahuan"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Titik pemberitahuan pada ikon apl"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Himpunan pemberitahuan"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Gelembung"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Gelembung"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Gelembungkan perbualan ini"</string>
@@ -3588,11 +3647,11 @@
<string name="notification_listener_security_warning_summary" msgid="1131986567509818121">"Apl <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> akan dapat membaca semua pemberitahuan, termasuk maklumat peribadi seperti nama kenalan, foto dan teks mesej yang anda terima. Apl ini juga akan dapat menunda atau mengetepikan pemberitahuan atau mengambil tindakan pada butang dalam pemberitahuan, termasuk menjawab panggilan telefon. \n\nHal ini turut mengupayakan apl untuk menghidupkan atau mematikan ciri Jangan Ganggu dan menukar tetapan yang berkaitan."</string>
<string name="nls_warning_prompt" msgid="1486887096703743841">"Apl <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> akan dapat:"</string>
<string name="nls_feature_read_title" msgid="7629713268744220437">"Membaca pemberitahuan anda"</string>
- <string name="nls_feature_read_summary" msgid="1064698238110273593">"Ciri ini dapat membaca pemberitahuan anda, termasuk maklumat peribadi seperti kenalan, mesej dan foto."</string>
+ <string name="nls_feature_read_summary" msgid="1064698238110273593">"Apl ini dapat membaca pemberitahuan, termasuk maklumat peribadi seperti kenalan, mesej dan foto."</string>
<string name="nls_feature_reply_title" msgid="7925455553821362039">"Membalas mesej"</string>
- <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Ciri ini dapat membalas mesej dan mengambil tindakan pada butang dalam pemberitahuan, termasuk menunda atau mengetepikan pemberitahuan dan menjawab panggilan."</string>
+ <string name="nls_feature_reply_summary" msgid="4492543411395565556">"Apl ini dapat membalas mesej dan mengambil tindakan pada butang dalam pemberitahuan, termasuk menunda atau mengetepikan pemberitahuan dan menjawab panggilan."</string>
<string name="nls_feature_settings_title" msgid="8208164329853194414">"Menukar tetapan"</string>
- <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Ciri ini dapat menghidupkan atau mematikan ciri Jangan Ganggu dan menukar tetapan yang berkaitan."</string>
+ <string name="nls_feature_settings_summary" msgid="3770028705648985689">"Apl ini dapat menghidupkan atau mematikan ciri Jangan Ganggu dan menukar tetapan yang berkaitan."</string>
<string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Jika anda mematikan akses pemberitahuan untuk <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, akses Jangan Ganggu mungkin turut dimatikan."</string>
<string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Matikan"</string>
<string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Batal"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Kategori"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Lain-lain"</string>
<string name="no_channels" msgid="4716199078612071915">"Apl ini belum menyiarkan sebarang pemberitahuan"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Tunjukkan kategori tidak digunakan"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Tetapan tambahan dalam apl"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Tunjukkan kategori tidak digunakan"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Sembunyikan kategori tidak digunakan"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Semua"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Benarkan apl membatalkan Jangan Ganggu"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apl yang boleh ganggu"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Pilih lagi apl"</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Sarung"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Bateri"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Panel Tetapan"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Paksa mod desktop"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Paksa mod desktop percubaan pada paparan kedua"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Dayakan tetingkap bentuk bebas"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Dayakan sokongan untuk tetingkap bentuk bebas."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Dayakan tetingkap bentuk bebas pada paparan kedua"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Dayakan tetingkap bentuk bebas hanya pada paparan kedua."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Dayakan tidak boleh diubah saiz dalam berbilang tetingkap"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Benarkan apl tidak boleh diubah saiz dalam berbilang tetingkap"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Batalkan paksa gelap"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Pemetakan data peranti ini perlu ditukar kepada ext4 sebelum menggunakan pilihan pembangun 16KB. Integriti perisian tidak dapat dijamin dalam mod ini dan sebarang data yang disimpan pada telefon semasa pemuat but tidak berkunci mungkin berisiko. Pengaktifan pilihan 16KB akan memerlukan satu lagi but semula selepas ini. Setelah anda berada dalam mod ini, anda boleh bertukar berulang kali antara mod 4KB dengan 16KB menggunakan satu but semula. Sesetengah ciri akan dilumpuhkan dalam mod ini, maka sesetengah aplikasi mungkin tidak berfungsi. Untuk mengembalikan peranti kepada mod pengeluaran, anda perlu menukar kembali kepada mod 4KB dan mengunci pemuat but, yang akan menetapkan semula peranti kepada tetapan kilang. Selepas peranti berjaya dibut kepada Android, lumpuhkan pembukaan kunci OEM dalam Pilihan pembangun. Data peranti akan dihapuskan dan sistem fail akan ditukar kepada ext4 selepas pengesahan. Selepas proses ini selesai, sila kembali untuk mendayakan semula 16KB."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Padamkan semua data"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Gagal memformat semula dan menghapuskan pemetakan data kepada ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Buka Kunci Pemuat But Diperlukan untuk mod 16KB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Buka Kunci Pemuat But Diperlukan"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Peranti ini perlu membuka kunci pemuat but sebelum menggunakan pilihan pembangun 16KB. Integriti perisian tidak boleh dijamin dalam mod ini dan sebarang data yang disimpan pada telefon semasa pemuat but tidak berkunci mungkin dalam risiko. Semua data dan tetapan pengguna akan dihapuskan semasa pengaktifan mod 16KB. Setelah pemuat but tidak berkunci, pengaktifan pilihan 16KB memerlukan dua but semula. Setelah anda menggunakan mod ini, anda boleh bertukar berulang kali antara mod 4KB dengan 16KB menerusi satu but semula. Sesetengah ciri akan dilumpuhkan dalam mod ini, maka sesetengah aplikasi mungkin tidak berfungsi. Untuk mengembalikan peranti kepada mod pengeluaran, anda perlu menukar semula kepada mod 4KB dan melakukan penguncian OEM/pemuat but (yang akan melakukan tetapan semula kilang) pada peranti. Sila buka kunci pemuat but dan cuba lagi. Anda boleh melihat arahan tentang cara melakukan perkara ini menerusi <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Menggunakan mod halaman agnostik 4KB"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Anda menggunakan mod 4KB bagi mod halaman agnostik. Integriti perisian tidak dapat dijamin dalam mod ini, dan sebarang data yang disimpan pada telefon semasa pemuat but tidak berkunci mungkin berisiko. Sesetengah ciri akan dilumpuhkan dalam mod ini, maka sesetengah aplikasi mungkin tidak berfungsi. Untuk memasuki semula mod pengeluaran, anda perlu mengunci pemuat but peranti. Ketik untuk mengetahui lebih lanjut."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Anda menggunakan mod 4KB bagi mod halaman agnostik. Integriti perisian tidak dapat dijamin dalam mod ini dan sebarang data yang disimpan pada telefon semasa pemuat but tidak berkunci mungkin berisiko. Sesetengah ciri akan dilumpuhkan dalam mod ini, maka sesetengah aplikasi mungkin tidak berfungsi. Untuk memasuki semula mod pengeluaran, anda perlu mengunci pemuat but peranti. Tindakan ini akan menetapkan semula peranti kepada tetapan kilang dan mengembalikan peranti kepada tetapan pengeluaran. Selepas peranti berjaya dibut kepada Android, lumpuhkan pembukaan kunci OEM dalam Pilihan pembangun. Jika peranti gagal mengebut kepada Android atau tidak stabil, denyar semula peranti dengan imej kilang terkini daripada <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> atau gunakan <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> dan pilih \'Hapuskan Peranti\', \'Kunci Pemuat But\' dan \'Denyar Paksa semua pemetakan\'."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Menggunakan mod halaman agnostik 16KB"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Anda menggunakan mod 16KB bagi mod halaman agnostik. Integriti perisian tidak dapat dijamin dalam mod ini dan sebarang data yang disimpan pada telefon semasa pemuat but tidak berkunci mungkin berisiko. Sesetengah ciri akan dilumpuhkan dalam mod ini, maka sesetengah aplikasi mungkin tidak berfungsi. Untuk memasuki semula mod pengeluaran, anda perlu menukar kembali kepada mod 4K dan mengunci pemuat but peranti. Ketik untuk mengetahui lebih lanjut."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Anda menggunakan mod 16KB bagi mod halaman agnostik. Integriti perisian tidak boleh dijamin dalam mod ini dan sebarang data yang disimpan pada telefon semasa pemuat but tidak berkunci mungkin dalam risiko. Sesetengah ciri akan dilumpuhkan dalam mod ini, maka sesetengah aplikasi mungkin tidak berfungsi. Untuk memasuki semula mod pengeluaran, anda perlu menukar kembali kepada mod 4K dan mengunci pemuat but peranti. Tindakan ini akan menetapkan semula peranti kepada tetapan kilang dan memulihkan peranti pada tetapan pengeluaran. Selepas peranti berjaya dibut masuk dalam Android, lumpuhkan pembukaan kunci OEM dalam Pilihan pembangun. Jika peranti gagal mengebut masuk dalam Android atau tidak stabil, denyar semula peranti dengan imej kilang terkini daripada <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> dan pilih \'Hapuskan Peranti\', \'Kunci Pemuat But\' dan \'Denyar Paksa semua pemetakan\'."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Anda menggunakan mod 16KB bagi mod halaman agnostik. Integriti perisian tidak boleh dijamin dalam mod ini dan sebarang data yang disimpan pada telefon semasa pemuat but tidak berkunci mungkin dalam risiko. Sesetengah ciri akan dilumpuhkan dalam mod ini, maka sesetengah aplikasi mungkin tidak berfungsi. Untuk memasuki semula mod pengeluaran, anda perlu beralih kembali kepada mod 4KB dan mengunci pemuat but peranti. Ketik untuk membaca lebih lanjut."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Anda menggunakan mod 16KB bagi mod halaman agnostik. Integriti perisian tidak boleh dijamin dalam mod ini dan sebarang data yang disimpan pada telefon semasa pemuat but tidak berkunci mungkin dalam risiko. Sesetengah ciri akan dilumpuhkan dalam mod ini, maka sesetengah aplikasi mungkin tidak berfungsi. Untuk memasuki semula mod pengeluaran, anda perlu beralih kembali kepada mod 4KB dan mengunci pemuat but peranti. Tindakan ini akan menetapkan semula peranti kepada tetapan kilang dan memulihkan peranti pada tetapan pengeluaran. Selepas peranti berjaya dibut masuk dalam Android, lumpuhkan pembukaan kunci OEM dalam Pilihan pembangun. Jika peranti gagal mengebut masuk dalam Android atau tidak stabil, denyar semula peranti dengan imej kilang terkini daripada <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> dan pilih \'Hapuskan Peranti\', \'Kunci Pemuat But\' dan \'Denyar Paksa semua pemetakan\'."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Mod Halaman agnostik 16KB"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Baca lebih lanjut"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Pengendali laporan pepijat"</string>
@@ -5007,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Gunakan penyematan apl"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Gunakan pilihan pembangun"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Gunakan perkhidmatan cetakan"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Benarkan berbilang pengguna"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"izinkan, beberapa, pengguna, benarkan, banyak"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"berbilang, pengguna, profil, pengguna, akaun, tukar, pelbagai"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Gunakan nyahpepijat wayarles"</string>
@@ -5121,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Pilih paparan yang ditampilkan pada skrin apabila tablet didok. Peranti mungkin menggunakan lebih banyak tenaga apabila penyelamat skrin digunakan."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Sesuaikan"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Sesuaikan <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"But semula diperlukan untuk mendayakan sokongan bentuk bebas."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"But semula diperlukan untuk memaksa mod desktop pada paparan sekunder."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"But semula diperlukan untuk mendayakan sokongan tetingkap bentuk bebas yang lama."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"But semula diperlukan untuk menukar sokongan tetingkap bentuk bebas."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"But semula diperlukan untuk memaksa tetingkap bentuk bebas pada paparan kedua."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"But semula sekarang"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"But semula kemudian"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Audio Ruang"</string>
@@ -5351,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Dengar strim"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Imbas kod QR strim audio untuk mendengar dengan <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Tidak dapat mengedit kata laluan semasa perkongsian. Untuk mengubah kata laluan, matikan perkongsian audio dahulu."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-my/arrays.xml b/res/values-my/arrays.xml
index 2382bc9..d754ebb 100644
--- a/res/values-my/arrays.xml
+++ b/res/values-my/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"အိပ်ရာဝင်ချိန်"</item>
+ <item msgid="4152450357280759894">"ကားမောင်းခြင်း"</item>
+ <item msgid="7096549258219399423">"စီးမျောခြင်း"</item>
+ <item msgid="2760716776980432977">"စီမံပြီးဖြစ်သည်"</item>
+ <item msgid="601734478369121764">"ကြယ်"</item>
+ <item msgid="6243809315432780521">"ပြက္ခဒိန်"</item>
+ <item msgid="4913577903148415331">"အချိန်"</item>
+ <item msgid="3653377604690057780">"ပြဇာတ်ရုံ"</item>
+ <item msgid="3843711267408385410">"ပန်းပွင့်"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index c359dc8..5b83ef3 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"နားကြားကိရိယာ ဆက်တင်များ"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"ဖြတ်လမ်းလင့်ခ်၊ နားကြားကိရိယာ တွဲဖက်အသုံးပြုနိုင်မှု"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"ကြိုတင်သတ်မှတ်ချက်"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"သင့်နားအထူးကုဆရာဝန်က စီမံပေးထားသည့် အသင့်သုံးများ မရှိပါ"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"အသင့်သုံးကို အပ်ဒိတ်လုပ်၍မရပါ"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"အသံထွက်မည့် ကိရိယာ"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"အသံထွက်မည့် ကိရိယာအကြောင်း"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"မျက်နှာနှင့် <xliff:g id="WATCH">%s</xliff:g> ကို ထည့်လိုက်ပါပြီ"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"မျက်နှာ၊ လက်ဗွေနှင့် <xliff:g id="WATCH">%s</xliff:g> ကို ထည့်လိုက်ပါပြီ"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"မျက်နှာ၊ လက်ဗွေများနှင့် <xliff:g id="WATCH">%s</xliff:g> ကို ထည့်လိုက်ပါပြီ"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"‘အထောက်အထား စစ်ဆေးခြင်း’ ကို ဖွင့်ပြီးနောက်ပိုင်း ၎င်းကို လိုအပ်သည်"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"အဝေးထိန်း Authenticator ဖွင့်ခြင်း"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"နာရီထည့်လိုက်ပြီ"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"လက်ပတ်နာရီ စနစ်ထည့်သွင်းခြင်း"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"‘နာရီဖြင့်ဖွင့်ခြင်း’ အကြောင်း ပိုမိုလေ့လာရန်"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"နာရီထည့်ရန်"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"နာရီ ဖယ်ရှားရန်"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"လက်ဗွေနှင့် မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"မျက်နှာ၊ လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"အလုပ်အတွက် ‘မျက်နှာပြနှင့် လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"စနစ်ထည့်သွင်းရန် လိုအပ်သည်"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"မျက်နှာနှင့် လက်ဗွေများ ထည့်ပြီးပါပြီ"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"အက်ပ်များ ထည့်သွင်းပါ"</b>\n"သင်၏နေရာတွင် သီးသန့်ထားလိုသော အက်ပ်များကို ထည့်သွင်းပါ"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"သတိပြုရန်"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"သင့်နေရာကို လော့ခ်ချပါက အက်ပ်များ ရပ်သွားမည်"</b>\n"သင့်နေရာကို လော့ခ်ချပါက သင်၏နေရာရှိ အက်ပ်များ ရပ်သွားပြီး ၎င်းတို့ထံမှ အကြောင်းကြားချက်များကို ရရှိတော့မည်မဟုတ်ပါ"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"သီးသန့်နေရာများသည် ဆေးဘက်ဆိုင်ရာအက်ပ်များကဲ့သို့ အရေးကြီးအကြောင်းကြားချက်များ ပို့ရန် (သို့) နောက်ခံတွင်လုပ်ဆောင်ရန် လိုအပ်သော အက်ပ်များအတွက် မသင့်လျော်ပါ။ သင့်နေရာကို လော့ခ်ချလိုက်သောအခါ အကြောင်းကြားချက်များနှင့် နောက်ခံလုပ်ဆောင်ချက်တို့ ရပ်သွားသောကြောင့်ဖြစ်သည်။\n\nသင်၏သီးသန့်နေရာကို လော့ခ်ချထားသောအခါ ၎င်းရှိ အက်ပ်များကို ခွင့်ပြုချက်စီမံစနစ်၊ ကိုယ်ရေးအချက်အလက် လုံခြုံမှုဒက်ရှ်ဘုတ်နှင့် အခြားဆက်တင်များတွင် မြင်ရမည်မဟုတ်ပါ။\n\nသင်၏သီးသန့်နေရာကို စက်အသစ်သို့ ရွှေ့၍မရပါ။ ၎င်းကို အခြားစက်တွင် သုံးလိုပါက သီးသန့်နေရာနောက်တစ်ခုကို စီစဉ်သတ်မှတ်ရမည်။\n\nသင့်စက်ကို ကွန်ပျူတာနှင့် ချိတ်ဆက်သော (သို့) သင့်စက်တွင် အန္တရာယ်ရှိသည့်အက်ပ်များ ထည့်သွင်းသော မည်သူမဆို သင်၏သီးသန့်နေရာကို ဝင်နိုင်မည်။"</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"သီးသန့်နေရာများသည် ဆေးဘက်ဆိုင်ရာအက်ပ်များကဲ့သို့ အရေးကြီးအကြောင်းကြားချက်များ ပို့ရန် (သို့) နောက်ခံတွင်လုပ်ဆောင်ရန် လိုအပ်သော အက်ပ်များအတွက် မသင့်လျော်ပါ။ သင့်နေရာကို လော့ခ်ချလိုက်သောအခါ အကြောင်းကြားချက်များနှင့် နောက်ခံလုပ်ဆောင်ချက်တို့ ရပ်သွားသောကြောင့်ဖြစ်သည်။\n\nသီးသန့်နေရာကို လော့ခ်ချထားသောအခါ ၎င်းရှိ အက်ပ်များကို ခွင့်ပြုချက်စီမံစနစ်၊ ကိုယ်ရေးအချက်အလက် လုံခြုံမှုဒက်ရှ်ဘုတ်နှင့် အခြားဆက်တင်များတွင် မြင်ရမည်မဟုတ်ပါ။\n\nသင်၏သီးသန့်နေရာကို စက်အသစ်တွင် ပြန်ယူ၍မရပါ။ ၎င်းကို အခြားစက်တွင် သုံးလိုပါက နေရာနောက်တစ်ခုကို စီစဉ်သတ်မှတ်ရမည်။\n\nသင့်စက်ကို ကွန်ပျူတာနှင့် ချိတ်ဆက်သော (သို့) သင့်တွင် အန္တရာယ်ရှိသည့်အက်ပ်များ ထည့်သွင်းသော မည်သူမဆို သင်၏သီးသန့်နေရာကို ဝင်နိုင်မည်။"</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"သီးသန့်နေရာအကြောင်း ပိုမိုလေ့လာရန်"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"အချိန်အနည်းငယ် ကြာပါမည်"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"သီးသန့်နေရာကို စနစ်ထည့်သွင်းနေသည်…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"စက်ကို ပြန်စမလား။"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"အသေးစိတ် NFC မှတ်တမ်းတင်ခြင်းကို ဆော့ဖ်ဝဲရေးရန်အတွက်သာ ရည်ရွယ်ထားသည်။ ကိုယ်ရေးကိုယ်တာ အချက်အလက်များ ပါရှိနိုင်သော ချွတ်ယွင်းမှု အစီရင်ခံချက်များတွင် ထပ်ဆောင်း NFC ဒေတာ ပါဝင်သည်။ ဤဆက်တင်ပြောင်းရန် သင့်စက်ကို ပြန်စပါ။"</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"ပြန်စရန်"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"ကာစ်"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"စကရင်ပွားရန်"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"ကြိုးမဲ့ ပြသမှုကို ဖွင့်ရန်"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"အလိုက်အထိုက်"</string>
<string name="brightness" msgid="6216871641021779698">"တောက်ပမှု အဆင့်"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"အလိုက်သင့် တောက်ပမှု"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"အလိုက်သင့် တောက်ပမှုအကြောင်း"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"သင်၏ ဖန်သားပြင်တောက်ပမှုသည် ပတ်ဝန်းကျင်နှင့် လုပ်ဆောင်ချက်များကိုလိုက်၍ အလိုအလျောက် ချိန်ညှိသွားပါမည်။ သင့်ရွေးချယ်မှုများကို အလိုက်သင့် တောက်ပမှုပြောင်းလဲခြင်းစနစ်က ပိုမိုလေ့လာနိုင်စေရန် ရွှေ့တုန်းကို သင်ကိုယ်တိုင် ရွှေ့နိုင်ပါသည်။"</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"ဖွင့်"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"ပိတ်"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"ရွေးစရာများ"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"အများသုံးနိုင်မှု"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"စက်၏ ကီးဘုတ်"</string>
- <string name="show_ime" msgid="4334255501724746849">"မျက်နှာပြင်လက်ကွက်ကို သုံးခြင်း"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"စက်၏ကီးဘုတ် ဖွင့်ထားစဉ်တွင် ၎င်းကို ဖန်သားပြင်ပေါ်တွင် ဆက်ထားပါ"</string>
<string name="bounce_keys" msgid="7419450970351743904">"ပြန်ကန်ကီးများ"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"ကီးဘုတ်သည် <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms အတွင်း ကီးတစ်ခုတည်း အကြိမ်ကြိမ် အမြန်နှိပ်ခြင်းကို လျစ်လျူရှုသည်"</string>
<string name="slow_keys" msgid="2891452895499690837">"အနှေးကီးများ"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"အသုံးပြုသူ၏ ရွေးချယ်မှု- <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"စကားသံ"</string>
<string name="pointer_speed" msgid="7398649279282675718">"မြားရွေ့နှုန်း"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"ဂိမ်းထိန်းချုပ်ခြင်း"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"တစ်ဆင့်ပြန်ညွှန်ပြခြင်း တုန်ခါမှု"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"ချိတ်ဆက်ထားသည့်အခါ တုန်ခါမှုကို ဂိမ်းခလုတ်ဆီသို့ ပို့ရန်"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"မည်သို့ပင်ဖြစ်စေ ရှေ့ဆက်ရန်"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"မလုပ်တော့"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"ပုံကြီးချဲ့ခြင်း ဆက်တင်များ"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"လက်တစ်ချောင်းသုံး ရွှေ့ကြည့်ခြင်း"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"မှန်ဘီလူးကို လက် ၁ ချောင်းဖြင့် ရွှေ့ပါ"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"ဖန်သားပြင်ပေါ်တွင် ရွှေ့ကြည့်ရန် လက် ၁ ချောင်းဖြင့် ဖိဆွဲပါ"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"လက်တစ်ချောင်းဖြင့် ဖိဆွဲ၍ ချဲ့ပြသည့်အကွက်ကို ရွှေ့နိုင်သည်။"</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"လက်နှစ်ချောင်းဖြင့် ဖိဆွဲ၍ ချဲ့ပြသည့်အကွက်ကို ရွှေ့နိုင်သည်။"</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"ဖန်သားပြင်၏တစ်စိတ်တစ်ပိုင်းကိုသာ ချဲ့နေစဉ် မရနိုင်ပါ"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ဇူးမ်အသုံးပြုရန် ခလုတ်ကို တို့ပါ"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"အကြောင်းအရာပိုကြီးလာစေရန် ဖန်သားပြင်တွင် အမြန်ဇူးမ်ဆွဲနိုင်သည်"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>ဇူးမ်ဆွဲရန်အတွက်-</b><br/> {0,number,integer}။ စတင်ချဲ့ရန် ဖြတ်လမ်းလင့်ခ်ကို သုံးပါ<br/> {1,number,integer}။ ဖန်သားပြင်ကို တို့ပါ<br/> {2,number,integer}။ ဖန်သားပြင်ပေါ်တွင် ရွှေ့ကြည့်ရန် လက် ၂ ချောင်းဖြင့် ဖိဆွဲပါ<br/> {3,number,integer}။ ဇူးမ်ချိန်ညှိရန် လက် ၂ ချောင်းဖြင့် ချဲ့ချုံ့ပါ<br/> {4,number,integer}။ ချဲ့ခြင်းကို ရပ်ရန် ဖြတ်လမ်းလင့်ခ်ကို သုံးပါ<br/><br/> <b>ယာယီ ဇူးမ်ဆွဲရန်-</b><br/> {0,number,integer}။ ချဲ့သည့်ပုံစံကို ဖန်သားပြင်အပြည့် သတ်မှတ်ထားကြောင်း သေချာပါစေ<br/> {1,number,integer}။ စတင်ချဲ့ရန် ဖြတ်လမ်းလင့်ခ်ကို သုံးပါ<br/> {2,number,integer}။ ဖန်သားပြင်တစ်နေရာတွင် ထိပြီး ဖိထားပါ<br/> {3,number,integer}။ ဖန်သားပြင်ပေါ်တွင် ရွှေ့ကြည့်ရန် လက်ချောင်းကို ဖိဆွဲပါ<br/> {4,number,integer}။ ချဲ့ခြင်း ရပ်ရန် လက်ချောင်းကို ကြွပါ"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>ဇူးမ်ဆွဲရန်အတွက်-</b><br/> {0,number,integer}။ စတင်ချဲ့ရန် ဖြတ်လမ်းလင့်ခ်ကို သုံးပါ<br/> {1,number,integer}။ ဖန်သားပြင်ကို တို့ပါ<br/> {2,number,integer}။ ဖန်သားပြင်ပေါ်တွင် ရွှေ့ကြည့်ရန် လက် ၂ ချောင်းဖြင့် ဖိဆွဲပါ<br/> {3,number,integer}။ ဇူးမ်ချိန်ညှိရန် လက် ၂ ချောင်းဖြင့် ချဲ့ချုံ့ပါ<br/> {4,number,integer}။ ချဲ့ခြင်းကိုရပ်ရန် ဖြတ်လမ်းအသုံးပြုပါ<br/><br/> ယာယီဇူးမ်ဆွဲခြင်းနှင့် အခြားအရာများလည်း လုပ်နိုင်သည်။"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>ဇူးမ်ဆွဲရန်အတွက်-</b><br/> {0,number,integer}။ စတင်ချဲ့ရန် ဖြတ်လမ်းလင့်ခ်ကို သုံးပါ<br/> {1,number,integer}။ ဖန်သားပြင်ကို တို့ပါ<br/> {2,number,integer}။ ဖန်သားပြင်ပေါ်တွင် ရွှေ့ကြည့်ရန် လက် ၁ ချောင်း သို့မဟုတ် ၂ ချောင်းဖြင့် ဖိဆွဲပါ<br/> {3,number,integer}. ဇူးမ်ချိန်ညှိရန် လက် ၂ ချောင်းဖြင့် ချဲ့ချုံ့ပါ<br/> {4,number,integer}။ ချဲ့ခြင်းကိုရပ်ရန် ဖြတ်လမ်းအသုံးပြုပါ<br/><br/> ယာယီဇူးမ်ဆွဲခြင်းနှင့် အခြားအရာများလည်း လုပ်နိုင်သည်။"</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"မှန်ဘီလူးကို ဖွင့်ထားသည့်အခါ သင့်ဖန်သားပြင်ပေါ်တွင် ဇူးမ်ဆွဲနိုင်ပါသည်။\n\n"<b>"ဇူးမ်ဆွဲရန်"</b>" မှန်ဘီလူးကို ဖွင့်ပြီး ဖန်သားပြင်ပေါ်ရှိ နေရာတစ်ခုတွင် တို့ပါ။\n"<ul><li>"လှိမ့်ရွှေ့ရန် အနည်းဆုံး လက်ချောင်း ၂ ချောင်းဖြင့် ဖိဆွဲပါ"</li>\n<li>"ဇူးမ်ကို ချိန်ညှိရန် အနည်းဆုံး လက်ချောင်း ၂ ချောင်းဖြင့် ဆွဲကပ်ပါ"</li></ul>\n\n<b>"ယာယီဇူးမ်ဆွဲရန်"</b>" မှန်ဘီလူးကို ဖွင့်ပြီး ဖန်သားပြင်ပေါ်ရှိ တစ်နေနေရာတွင် ဖိထားပါ။\n"<ul><li>"ဖန်သားပြင်တစ်လျှောက် ရွှေ့ကြည့်ရန် ဖိဆွဲပါ"</li>\n<li>"ဇူးမ်ဖြုတ်ရန် လက်ချောင်းကို မ လိုက်ပါ"</li></ul>\n\n"ကီးဘုတ် သို့မဟုတ် လမ်းညွှန်ဘားကို ဇူးမ်ဆွဲ၍ မရပါ။"</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"စာမျက်နှာ <xliff:g id="NUM_PAGES">%2$d</xliff:g> မျက်နှာအနက် <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> မျက်နှာ"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"သုံးနိုင်မှုခလုတ် ဖြတ်လမ်းလင့်ခ်"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"အရေးကြီးပုဂ္ဂိုလ်များနှင့် အက်ပ်များထံမှသာ အကြောင်းကြားချက် ရယူပါ"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"စသုံးခြင်းအမျိုးအစား ရွေးရန်"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"အချိန်"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"ဥပမာ- “နံနက် ၉:၃၀ - ညနေ ၅:၀၀”"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"ပြက္ခဒိန်"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"ဥပမာ- “ကိုယ်ပိုင်ပြက္ခဒိန်”"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"မုဒ် ပြုလုပ်ခြင်း"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"စိတ်ကြိုက်"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"အနှောင့်အယှက်များကို တားဆီးသည်"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'မနှောင့်ယှက်ရ\' ဖွင့်ခြင်း"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"နိုးစက်နှင့် မီဒီယာအသံများ ကြားဖြတ်နိုင်သည်"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"အချိန်ဇယားများ"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"အချိန်ဇယားများ ဖျက်ရန်"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"ဖျက်ရန်"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"တည်းဖြတ်ရန်"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"အချိန်ဇယားများ"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"အချိန်ဇယား"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"အချိန်ဇယား သတ်မှတ်ပါ"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"အချိန်ဇယားဆွဲရန်"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> နာရီ၊ <xliff:g id="MINUTES">%2$d</xliff:g> မိနစ်"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"အလိုအလျောက်ဖွင့်ရန်"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"အချိန်ဇယား"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"အချို့အချိန်၌ ဖုန်းအသံတိတ်ခြင်း"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"\'မနှောင့်ယှက်ရ\' စည်းမျဉ်းများထည့်ရန်"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"အသံပေးသည့် ကြားဖြတ်မှုများ ခွင့်ပြုပါ"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"မြင်ကွင်းပိတ်ခြင်းမှတားဆီးပါ"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"ပြသမှုများကို ခွင့်ပြုရန်"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"သင့်ထံ ဆက်သွယ်နိုင်သော အကြောင်းကြားချက်များ"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"အာရုံမပျက်ပါစေနှင့်"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"နောက်ထပ် လုပ်ဆောင်ချက်များ"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"ဖန်သားပြင် ဆက်တင်များ"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"ဖန်သားပြင်တွင် ပြသမှုရွေးစရာများ"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"အမှောင်နောက်ခံ သုံးရန်"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"အမှောင်နောက်ခံတွင် လင်းသောစာသားကို ပိုမိုနှစ်သက်ပါက OS နှင့် အက်ပ်များကို ပြောင်းနိုင်သည်။ ၎င်းသည် မျက်လုံးအားစိုက်ရမှု ပိုမိုသက်သာစေနိုင်ပြီး စက်ပစ္စည်းအချို့တွင် ဘက်ထရီ သိသာစွာ ချွေတာနိုင်သည်"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ဖန်သားပြင်တွင် အပြောင်းအလဲ မရှိပါ}=1{{effect_1}}=2{{effect_1} နှင့် {effect_2}}=3{{effect_1}၊ {effect_2} နှင့် {effect_3}}other{{effect_1}၊ {effect_2} နှင့် နောက်ထပ် # ခု}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"အနှောင့်အယှက်များ စစ်ထုတ်ရန်"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"အနှောင့်အယှက်များကို စစ်ထုတ်ထားခြင်း မရှိပါ"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"စစ်ထုတ်ထားသော အကြောင်းကြားချက်များအတွက် ပြသမှု ရွေးစရာများ"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"\'မနှောင့်ယှက်ရ\' ဖွင့်ထားသည့်အခါ"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"အကြောင်းကြားချက် အသံမဖွင့်ရန်"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"အကြောင်းကြားချက်ကို ဖွင့်ရန်"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"အကြောင်းကြားချက် ဆိုင်းငံ့ခြင်းကို ခွင့်ပြုပါ"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"အက်ပ်သင်္ကေတပေါ်ရှိ အကြောင်းကြားချက် အစက်"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"အတွဲလိုက် အကြောင်းကြားချက်များ"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"ပူဖောင်းကွက်များ"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ပူဖောင်းကွက်များ"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"ဤစကားဝိုင်းကို ပူဖောင်းကွက်အဖြစ် ပြရန်"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"အမျိုးအစားများ"</string>
<string name="notification_channels_other" msgid="18159805343647908">"အခြား"</string>
<string name="no_channels" msgid="4716199078612071915">"ဤအက်ပ်က မည်သည့် အကြောင်းကြားချက်ကိုမျှ ပို့စ်တင်မထားပါ"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"မသုံးသော အမျိုးအစားများကို ပြပါ"</string>
<string name="app_settings_link" msgid="6725453466705333311">"အက်ပ်အတွင်း နောက်ထပ်ဆက်တင်များ"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"မသုံးသော အမျိုးအစားများကို ပြရန်"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"မသုံးသော အမျိုးအစားများကို ဝှက်ရန်"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"အားလုံး"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"အက်ပ်များကို အစားထိုးခွင့်ပြုပါ"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ကြားဖြတ်နိုင်သည့် အက်ပ်များ"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"နောက်ထပ်အက်ပ်များကို ရွေးပါ"</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"နားကြပ်အိတ်"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"ဘက်ထရီ"</string>
<string name="settings_panel_title" msgid="346363079938069215">"ဆက်တင်များ အကန့်"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"ဒက်စ်တော့ပုံစံ မဖြစ်မနေ ပြောင်းရန်"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ဒုတိယ မျက်နှာပြင်ပြသမှုများတွင် ဒက်စ်တော့ပုံစံ မဖြစ်မနေ စမ်းသပ်ရန်"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"အလွတ်ပုံစံဝင်းဒိုးများ ဖွင့်ခြင်း"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"အလွတ်ပုံစံ ဝင်းဒိုးများအတွက် ပံ့ပိုးမှု ရယူရန်။"</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"ဒုတိယဖန်သားပြင်၌ အလွတ်ပုံစံဝင်းဒိုးစနစ် ဖွင့်ရန်"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"ဒုတိယဖန်သားပြင်တွင် အလွတ်ပုံစံ ဝင်းဒိုးများ ဖွင့်နိုင်သည်။"</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"အရွယ်မပြင်နိုင်သည်များကို ဝင်းဒိုးများစွာတွင် ဖွင့်ရန်"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"အရွယ်မပြင်နိုင်သည့် အက်ပ်များကို ဝင်းဒိုးများစွာတွင် ဖွင့်ခွင့်ပြုသည်"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"မဖြစ်မနေအမှောင်ချခြင်းကို အစားထိုးရန်"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"၁၆ KB ဆော့ဖ်ဝဲရေးသူအတွက် ရွေးစရာများကို အသုံးမပြုမီ ဤစက်၏ ဒေတာအပိုင်းကို ext4 သို့ ပြောင်းရမည်။ ဤမုဒ်တွင် ဆော့ဖ်ဝဲစစ်မှန်မှုကို အာမ မခံနိုင်သည့်အပြင် စနစ်စတင်မှု ဖွင့်ထားချိန်၌ ဖုန်းတွင် သိုလှောင်ထားသည့် မည်သည့်ဒေတာမဆို ဆုံးရှုံးနိုင်ခြေ ရှိပါသည်။ ၁၆ KB ရွေးစရာကို စဖွင့်ရန်အတွက် ဤသို့ပြောင်းပြီးနောက်တွင် နောက်တစ်ကြိမ်ပြန်လည်စတင်ရန် လိုပါမည်။ ဤမုဒ်သို့ ရောက်သည်နှင့် သင်သည် ၄ KB နှင့် ၁၆ KB မုဒ်အကြား တစ်ကြိမ်ပြန်လည်စတင်ရုံဖြင့် အပြန်အလှန်ပြောင်းနိုင်ပါသည်။ ဤမုဒ်များတွင် အင်္ဂါရပ်အချို့ကို ပိတ်ထားမည်ဖြစ်သဖြင့် အချို့အပလီကေးရှင်းများ အလုပ်မလုပ်နိုင်ပါ။ စက်ကို ထုတ်ကုန်မုဒ်သို့ ပြန်ထားရန် ၄ KB မုဒ်သို့ ပြန်ပြောင်းပြီး စက်ကို စက်ရုံထုတ်အတိုင်း ပြင်ဆင်သတ်မှတ်ပေးသည့် စနစ်စတင်မှုကို လော့ခ်ချရမည်။ စက်ကို Android သို့ စတင်ပြီးနောက် ‘ဆော့ဖ်ဝဲရေးသူအတွက် ရွေးစရာများ’ ရှိ OEM ဖွင့်ခြင်းကို ပိတ်ပါ။ အတည်ပြုပြီးနောက် စက်ကို ရှင်းလင်းပြီး ဖိုင်စနစ်ကို ext4 သို့ ပြောင်းပါမည်။ ဤသို့ပြုလုပ်ပြီးနောက် ၁၆ KB ထပ်ဖွင့်ရန် ပြန်လာပါ။"</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"ဒေတာအားလုံး ဖျက်ရန်"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"ဒေတာအပိုင်းကို ext4 သို့ ပြန်လည်ဖော်မက်လုပ်ပြီး ရှင်းလင်း၍ မရပါ။"</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"၁၆ KB မုဒ်အတွက် စနစ်စတင်မှု ဖွင့်ရန်လိုအပ်သည်"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"စနစ်စတင်မှု ဖွင့်ရန်လိုအပ်သည်"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"၁၆ KB ဆော့ဖ်ဝဲရေးသူအတွက် ရွေးစရာများကို အသုံးမပြုမီ ဤစက်ကို စနစ်စတင်မှု ဖွင့်ရမည်။ ဤမုဒ်တွင် ဆော့ဖ်ဝဲစစ်မှန်မှုကို အာမ မခံနိုင်သည့်အပြင် စနစ်စတင်မှု ဖွင့်ထားချိန်၌ ဖုန်းတွင် သိုလှောင်ထားသည့် မည်သည့်ဒေတာမဆို ဆုံးရှုံးနိုင်ခြေ ရှိပါသည်။ ၁၆ KB မုဒ်ကို စတင်နေသောအခါ အသုံးပြုသူဒေတာနှင့် ဆက်တင်အားလုံးကို ရှင်းလင်းပါမည်။ စနစ်စတင်မှုကို ဖွင့်ပြီးပါက ၁၆ KB ရွေးစရာကို စတင်ရာတွင် နှစ်ကြိမ်ပြန်လည်စတင်ရန်လိုပါမည်။ ဤမုဒ်သို့ ရောက်သည်နှင့် သင်သည် ၄ KB နှင့် ၁၆ KB မုဒ်အကြား တစ်ကြိမ်ပြန်လည်စတင်ရုံဖြင့် အပြန်အလှန်ပြောင်းနိုင်ပါသည်။ ဤမုဒ်များတွင် အင်္ဂါရပ်အချို့ကို ပိတ်ထားမည်ဖြစ်သဖြင့် အချို့အပလီကေးရှင်းများ အလုပ်မလုပ်နိုင်ပါ။ စက်ကို ထုတ်ကုန်မုဒ်သို့ ပြန်ထားရန် ၄ KB မုဒ်သို့ ပြန်ပြောင်းပြီး စက်ကို (စက်ရုံထုတ်အတိုင်း ပြင်ဆင်သတ်မှတ်ပေးသည့်) OEM/စနစ်စတင်မှုကို လော့ခ်ချရမည်။ စနစ်စတင်မှုကို ဖွင့်ပြီး ထပ်စမ်းကြည့်ပါ။ ယင်းသို့ ပြုလုပ်ပုံ ညွှန်ကြားချက်များကို <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a&gt တွင် တွေ့နိုင်ပါသည်၊"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"စာမျက်နှာအမျိုးမျိုးနှင့် အသုံးပြုနိုင်သော ၄ KB မုဒ်ကို အသုံးပြုခြင်း"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"သင်သည် စာမျက်နှာအမျိုးမျိုးနှင့် အသုံးပြုနိုင်သောမုဒ်၏ ၄ KB မုဒ်တွင် ရှိနေပါသည်။ ဤမုဒ်တွင် ဆော့ဖ်ဝဲစစ်မှန်မှုကို အာမ မခံနိုင်သည့်အပြင် စနစ်စတင်မှု ဖွင့်ထားချိန်၌ ဖုန်းတွင် သိုလှောင်ထားသည့် မည်သည့်ဒေတာမဆို ဆုံးရှုံးနိုင်ခြေ ရှိပါသည်။ ဤမုဒ်များတွင် အင်္ဂါရပ်အချို့ကို ပိတ်ထားမည်ဖြစ်သဖြင့် အချို့အပလီကေးရှင်းများ အလုပ်မလုပ်နိုင်ပါ။ ထုတ်ကုန်မုဒ်သို့ ပြန်ဝင်ရန် စက်၏ စနစ်စတင်မှုကို လော့ခ်ချရပါမည်။ နောက်ထပ်ဖတ်ရန် တို့ပါ။"</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"သင်သည် စာမျက်နှာအမျိုးမျိုးနှင့် အသုံးပြုနိုင်သောမုဒ်၏ ၄ KB မုဒ်တွင် ရှိနေပါသည်။ ဤမုဒ်တွင် ဆော့ဖ်ဝဲစစ်မှန်မှုကို အာမ မခံနိုင်သည့်အပြင် စနစ်စတင်မှု ဖွင့်ထားချိန်၌ ဖုန်းတွင် သိုလှောင်ထားသည့် မည်သည့်ဒေတာမဆို ဆုံးရှုံးနိုင်ခြေ ရှိပါသည်။ ဤမုဒ်များတွင် အင်္ဂါရပ်အချို့ကို ပိတ်ထားမည်ဖြစ်သဖြင့် အချို့အပလီကေးရှင်းများ အလုပ်မလုပ်နိုင်ပါ။ ထုတ်ကုန်မုဒ်သို့ ပြန်ဝင်ရန် စက်၏ စနစ်စတင်မှုကို လော့ခ်ချရပါမည်။ ၎င်းသည် စက်ကို စက်ရုံထုတ်အတိုင်း ပြင်ဆင်သတ်မှတ်ပေးပြီး ထုတ်ကုန် ဆက်တင်များအတိုင်း ပြန်ပြောင်းပေးပါမည်။ စက်ကို Android သို့ စတင်ပြီးနောက် ‘ဆော့ဖ်ဝဲရေးသူအတွက် ရွေးစရာများ’ ရှိ OEM ဖွင့်ခြင်းကို ပိတ်ပါ။ စက်ကို Android သို့ စတင်၍မရပါက သို့မဟုတ် မတည်ငြိမ်ပါက href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a&gt မှ နောက်ဆုံးပေါ် စက်ရုံထုတ် မူလပုံများဖြင့် စက်ကို ပြန်စပါ သို့မဟုတ် <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a&gt ကို အသုံးပြုကာ ‘စက်ရှင်းလင်းရန်’၊ ‘စနစ်စတင်မှု လော့ခ်ချရန်’ နှင့် ‘အပိုင်းအားလုံး မဖြစ်မနေ ပြန်စရန်’ ကို ရွေးပါ။"</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"စာမျက်နှာအမျိုးမျိုးနှင့် အသုံးပြုနိုင်သော ၁၆ KB မုဒ်ကို အသုံးပြုခြင်း"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"သင်သည် စာမျက်နှာအမျိုးမျိုးနှင့် အသုံးပြုနိုင်သောမုဒ်၏ ၁၆ KB မုဒ်တွင် ရှိနေပါသည်။ ဤမုဒ်တွင် ဆော့ဖ်ဝဲစစ်မှန်မှုကို အာမ မခံနိုင်သည့်အပြင် စနစ်စတင်မှု ဖွင့်ထားချိန်၌ ဖုန်းတွင် သိုလှောင်ထားသည့် မည်သည့်ဒေတာမဆို ဆုံးရှုံးနိုင်ခြေ ရှိပါသည်။ ဤမုဒ်များတွင် အင်္ဂါရပ်အချို့ကို ပိတ်ထားမည်ဖြစ်သဖြင့် အချို့အပလီကေးရှင်းများ အလုပ်မလုပ်နိုင်ပါ။ ထုတ်ကုန်မုဒ်သို့ ပြန်ဝင်ရန် ၄K မုဒ်သို့ ပြန်ပြောင်းပြီး စက်၏ စနစ်စတင်မှုကို လော့ခ်ချရပါမည်။ နောက်ထပ်ဖတ်ရန် တို့ပါ။"</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"သင်သည် စာမျက်နှာအမျိုးမျိုးနှင့် အသုံးပြုနိုင်သောမုဒ်၏ ၁၆ KB မုဒ်တွင် ရှိနေပါသည်။ ဤမုဒ်တွင် ဆော့ဖ်ဝဲစစ်မှန်မှုကို အာမ မခံနိုင်သည့်အပြင် စနစ်စတင်မှု ဖွင့်ထားချိန်၌ ဖုန်းတွင် သိုလှောင်ထားသည့် မည်သည့်ဒေတာမဆို ဆုံးရှုံးနိုင်ခြေ ရှိပါသည်။ ဤမုဒ်များတွင် အင်္ဂါရပ်အချို့ကို ပိတ်ထားမည်ဖြစ်သဖြင့် အချို့အပလီကေးရှင်းများ အလုပ်မလုပ်နိုင်ပါ။ ထုတ်ကုန်မုဒ်သို့ ပြန်ဝင်ရန် ၄K မုဒ်သို့ ပြန်ပြောင်းပြီး စက်၏ စနစ်စတင်မှုကို လော့ခ်ချရပါမည်။ ၎င်းသည် စက်ကို စက်ရုံထုတ်အတိုင်း ပြင်ဆင်သတ်မှတ်ပေးပြီး ထုတ်ကုန် ဆက်တင်များအတိုင်း ပြန်ပြောင်းပေးပါမည်။ စက်ကို Android သို့ စတင်ပြီးနောက် ‘ဆော့ဖ်ဝဲရေးသူအတွက် ရွေးစရာများ’ ရှိ OEM ဖွင့်ခြင်းကို ပိတ်ပါ။ စက်ကို Android သို့ စတင်၍မရပါက သို့မဟုတ် မတည်ငြိမ်ပါက href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a&gt မှ နောက်ဆုံးပေါ် စက်ရုံထုတ် မူလပုံများဖြင့် စက်ကို ပြန်မွမ်းမံပါ သို့မဟုတ် <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a&gt ကို အသုံးပြုကာ ‘စက်ရှင်းလင်းရန်’၊ ‘စနစ်စတင်မှု လော့ခ်ချရန်’ နှင့် ‘အပိုင်းအားလုံး မဖြစ်မနေ မွမ်းမံရန်’ ကို ရွေးပါ။"</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"သင်သည် စာမျက်နှာအမျိုးမျိုးနှင့် အသုံးပြုနိုင်သောမုဒ်၏ ၁၆ KB မုဒ်တွင် ရှိနေပါသည်။ ဤမုဒ်တွင် ဆော့ဖ်ဝဲစစ်မှန်မှုကို အာမ မခံနိုင်သည့်အပြင် စနစ်စတင်မှု ဖွင့်ထားချိန်၌ ဖုန်းတွင် သိုလှောင်ထားသည့် မည်သည့်ဒေတာမဆို ဆုံးရှုံးနိုင်ခြေ ရှိပါသည်။ ဤမုဒ်များတွင် အင်္ဂါရပ်အချို့ကို ပိတ်ထားမည်ဖြစ်သဖြင့် အချို့အပလီကေးရှင်းများ အလုပ်မလုပ်နိုင်ပါ။ ထုတ်ကုန်မုဒ်သို့ ပြန်ဝင်ရန် ၄ KB mode မုဒ်သို့ ပြန်ပြောင်းပြီး စက်၏ စနစ်စတင်မှုကို လော့ခ်ချရပါမည်။ နောက်ထပ်ဖတ်ရန် တို့ပါ။"</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"သင်သည် စာမျက်နှာအမျိုးမျိုးနှင့် အသုံးပြုနိုင်သောမုဒ်၏ ၁၆ KB မုဒ်တွင် ရှိနေပါသည်။ ဤမုဒ်တွင် ဆော့ဖ်ဝဲစစ်မှန်မှုကို အာမ မခံနိုင်သည့်အပြင် စနစ်စတင်မှု ဖွင့်ထားချိန်၌ ဖုန်းတွင် သိုလှောင်ထားသည့် မည်သည့်ဒေတာမဆို ဆုံးရှုံးနိုင်ခြေ ရှိပါသည်။ ဤမုဒ်များတွင် အင်္ဂါရပ်အချို့ကို ပိတ်ထားမည်ဖြစ်သဖြင့် အချို့အပလီကေးရှင်းများ အလုပ်မလုပ်နိုင်ပါ။ ထုတ်ကုန်မုဒ်သို့ ပြန်ဝင်ရန် ၄ KB mode မုဒ်သို့ ပြန်ပြောင်းပြီး စက်၏ စနစ်စတင်မှုကို လော့ခ်ချရပါမည်။ ၎င်းသည် စက်ကို စက်ရုံထုတ်အတိုင်း ပြင်ဆင်သတ်မှတ်ပေးပြီး ထုတ်ကုန် ဆက်တင်များအတိုင်း ပြန်ပြောင်းပေးပါမည်။ စက်ကို Android သို့ စတင်ပြီးနောက် ‘ဆော့ဖ်ဝဲရေးသူအတွက် ရွေးစရာများ’ ရှိ OEM ဖွင့်ခြင်းကို ပိတ်ပါ။ စက်ကို Android သို့ စတင်၍မရပါက သို့မဟုတ် မတည်ငြိမ်ပါက href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a&gt မှ နောက်ဆုံးပေါ် စက်ရုံထုတ် မူလပုံများဖြင့် စက်ကို ပြန်မွမ်းမံပါ သို့မဟုတ် <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a&gt ကို အသုံးပြုကာ ‘စက်ရှင်းလင်းရန်’၊ ‘စနစ်စတင်မှု လော့ခ်ချရန်’ နှင့် ‘အပိုင်းအားလုံး မဖြစ်မနေ မွမ်းမံရန်’ ကို ရွေးပါ။"</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"စာမျက်နှာအမျိုးမျိုးနှင့် အသုံးပြုနိုင်သော ၁၆KB မုဒ်"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"နောက်ထပ်ဖတ်ရန်"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"ချွတ်ယွင်းချက်အစီရင်ခံစာ စီမံသူ"</string>
@@ -5007,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"အက်ပ်ပင်ထိုးခြင်းကို သုံးရန်"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"ဆော့ဖ်ဝဲရေးသူ ရွေးစရာများကို သုံးရန်"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"ပုံနှိပ်ဝန်ဆောင်မှုကို သုံးရန်"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"အသုံးပြုသူအများအပြား ခွင့်ပြုရန်"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"ခွင့်ပြုရန်၊ အမျိုးစုံ၊ အသုံးပြုသူ၊ ခွင့်ပြုချက်၊ အများအပြား"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"အများအပြား၊ အသုံးပြုသူများ၊ ပရိုဖိုင်များ၊ လူများ၊ အကောင့်များ၊ ပြောင်းရန်၊ များစွာ"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ကြိုးမဲ့ အမှားရှာပြင်ခြင်းကို သုံးပါ"</string>
@@ -5121,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"တက်ဘလက် တပ်ဆင်ထားချိန် စခရင်တွင် မြင်ရမည့်အရာကို ရွေးနိုင်သည်။ စခရင်နားချိန်ပုံသုံးပါက သင်၏စက်က စွမ်းအင်ပိုသုံးနိုင်သည်။"</string>
<string name="customize_button_title" msgid="1110284655990203359">"စိတ်ကြိုက်လုပ်ရန်"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> ကို စိတ်ကြိုက်လုပ်ရန်"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"freeform အကူအညီကို ဖွင့်ရန်အတွက် ပြန်လည်စတင်ရန် လိုအပ်သည်။"</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"အရန်ဖန်သားပြင်တွင် ဒက်စ်တော့မုဒ်ကို မဖြစ်မနေ အသုံးပြုရန်အတွက် ပြန်လည်စတင်ရန် လိုအပ်သည်။"</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"အလွတ်ပုံစံ ဝင်းဒိုးစနစ်ပံ့ပိုးမှု ဖွင့်ရန်အတွက် ပြန်လည်စတင်ရန် လိုအပ်သည်။"</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"အလွတ်ပုံစံ ဝင်းဒိုးစနစ်ပံ့ပိုးမှုကို ပြောင်းရန်အတွက် ပြန်လည်စတင်ရန် လိုအပ်သည်။"</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"ဒုတိယဖန်သားပြင်၌ အလွတ်ပုံစံ ဝင်းဒိုးစနစ်ကို မဖြစ်မနေ သုံးရန်အတွက် ပြန်လည်စတင်ရန် လိုအပ်သည်။"</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"ယခု ပြန်လည်စတင်ရန်"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"နောက်မှ ပြန်လည်စတင်ရန်"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"ထောင့်စုံအော်ဒီယို"</string>
@@ -5351,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ထုတ်လွှင့်မှုကို နားထောင်ရန်"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ဖြင့် နားထောင်ရန် အသံ ထုတ်လွှင့်ခြင်း QR ကုဒ်ကို စကင်ဖတ်နိုင်သည်"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"မျှဝေစဉ် စကားဝှက်ကို ပြင်၍မရပါ။ စကားဝှက် ပြောင်းရန် အော်ဒီယို မျှဝေခြင်းကို ဦးစွာပိတ်ပါ။"</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-nb/arrays.xml b/res/values-nb/arrays.xml
index 324fac9..5585885 100644
--- a/res/values-nb/arrays.xml
+++ b/res/values-nb/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Sengetid"</item>
+ <item msgid="4152450357280759894">"Kjøring"</item>
+ <item msgid="7096549258219399423">"Oppslukende"</item>
+ <item msgid="2760716776980432977">"Administrert"</item>
+ <item msgid="601734478369121764">"Stjerne"</item>
+ <item msgid="6243809315432780521">"Kalender"</item>
+ <item msgid="4913577903148415331">"Tid"</item>
+ <item msgid="3653377604690057780">"Teater"</item>
+ <item msgid="3843711267408385410">"Blomst"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 58879ce..6f7897f 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Innstillinger for høreapparater"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Snarvei, kompatibilitet med høreapparater"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Forhåndsinnstilling"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Ingen forhåndsinnstillinger er programmert av audiografen"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Kunne ikke oppdatere forhåndsinnstillingen"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Utenhet for lyd"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Om lyd"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Ansiktet og <xliff:g id="WATCH">%s</xliff:g> er lagt til"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Ansiktet, fingeravtrykket og <xliff:g id="WATCH">%s</xliff:g> er lagt til"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Ansiktet, fingeravtrykkene og <xliff:g id="WATCH">%s</xliff:g> er lagt til"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Dette kreves fordi Identity Check er på"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Opplåsing med Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Klokken er lagt til"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Konfigurer klokken"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Finn ut mer om klokkelåsen"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Legg til en klokke"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Fjern klokken"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Opplåsing med fingeravtrykk og ansiktslås"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Opplåsing med ansikt og fingeravtrykk"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ansiktslås og opplåsing med fingeravtrykk for jobb"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Konfigurering kreves"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Ansikt og fingeravtrykk er lagt til"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Installer apper"</b>\n"Installer apper du vil holde private, i området ditt"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Husk"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Apper stopper når du låser området ditt"</b>\n"Når du låser området, blir apper i området stoppet, og du mottar ikke varsler fra dem."</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Private områder egner seg ikke for apper som må kjøre i bakgrunnen eller sende kritiske varsler, for eksempel medisinske apper. Dette er fordi varsler og bakgrunnsaktivitet stoppes når området ditt låses.\n\nApper i det private området vises ikke i tillatelseskontrollen, personvernoversikten og andre innstillinger når det private området er låst.\n\nDet private området kan ikke flyttes til en ny enhet. Hvis du vil bruke det private området på en annen enhet, må du konfigurere et nytt.\n\nHvis noen kobler enheten din til en datamaskin eller installerer skadelige apper på enheten, kan de kanskje åpne det private området ditt."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Private områder egner seg ikke for apper som må kjøre i bakgrunnen eller sende kritiske varsler, for eksempel medisinske apper. Dette er fordi varsler og bakgrunnsaktivitet stoppes når området ditt låses.\n\nApper i det private området vises ikke i tillatelseskontrollen, personvernoversikten og andre innstillinger når det private området er låst.\n\nDet private området kan ikke gjenopprettes på en ny enhet. Du må konfigurere et nytt område hvis du vil bruke det på en annen enhet.\n\nAlle som kobler enheten din til en datamaskin eller installerer skadelige apper på enheten, kan muligens åpne det private området."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Finn ut mer om det private området"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Dette tar en liten stund"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Konfigurerer det private området …"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Vil du starte enheten på nytt?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Detaljert NFC-loggføring er bare beregnet på utviklingsformål. Det inkluderes ekstra NFC-data i feilrapporter. Dette kan omfatte privat informasjon. Hvis du vil endre denne innstillingen, må du starte enheten på nytt."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Start på nytt"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Cast"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"speil"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Slå på trådløs skjermdeling"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Tilpasset"</string>
<string name="brightness" msgid="6216871641021779698">"Lysstyrkenivå"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Tilpasset lysstyrke"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Om tilpasset lysstyrke"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Lysstyrken på skjermen justeres automatisk etter omgivelser og aktiviteter. Du kan flytte glidebryteren manuelt for lære tilpasset lysstyrke om preferansene dine."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"På"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Av"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Alternativer"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Tilgjengelighet"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Fysisk tastatur"</string>
- <string name="show_ime" msgid="4334255501724746849">"Bruk skjermtastaturet"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Ha det på skjermen når det fysiske tastaturet er aktivt"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Filtertaster"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Tastaturet ignorerer raskt gjentatte trykk på samme tast innenfor <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Hengende taster"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Brukervalgt: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Tale"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Pekerhastighet"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Spillkontroller"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Viderekoble vibrering"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Send vibrering til spillkontrolleren hvis den er koblet til"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Fortsett likevel"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Avbryt"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Innstillinger for forstørring"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Panorer med én finger"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Flytt lupen med 1 finger"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Dra 1 finger for å bevege deg rundt på skjermen."</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Flytt forstørringsområdet ved å dra én finger."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Flytt forstørringsområdet ved å dra to fingre."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Ikke tilgjengelig ved forstørring av bare en del av skjermen"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Trykk på en knapp for å zoome"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Zoom raskt inn på skjermen for å gjøre innhold større"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Slik zoomer du inn:</b><br/> {0,number,integer}. Bruk snarveien for å starte forstørring.<br/> {1,number,integer}. Trykk på skjermen.<br/> {2,number,integer}. Dra to fingre for å bevege deg rundt på skjermen.<br/> {3,number,integer}. Klyp med to fingre for å justere zoomen.<br/> {4,number,integer}. Bruk snarveien for å stoppe forstørring.<br/><br/> <b>Slik zoomer du inn midlertidig:</b><br/> {0,number,integer}. Sørg for at forstørringstype er satt til fullskjerm.<br/> {1,number,integer}. Bruk snarveien for å starte forstørring.<br/> {2,number,integer}. Trykk og hold hvor som helst på skjermen.<br/> {3,number,integer}. Dra en finger for å bevege deg rundt på skjermen.<br/> {4,number,integer}. Løft fingeren for å stoppe forstørring."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Slik zoomer du inn:</b><br/> {0,number,integer}. Bruk snarveien for å starte forstørring.<br/> {1,number,integer}. Trykk på skjermen.<br/> {2,number,integer}. Dra 2 fingre for å bevege deg rundt på skjermen.<br/> {3,number,integer}. Klyp med 2 fingre for å justere zoomen.<br/> {4,number,integer}. Bruk snarveien for å stoppe forstørringen.<br/><br/> Du kan også zoome inn midlertidig med mer."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Slik zoomer du inn:</b><br/> {0,number,integer}. Bruk snarveien for å starte forstørring.<br/> {1,number,integer}. Trykk på skjermen.<br/> {2,number,integer}. Dra 1 eller 2 fingre for å bevege deg rundt på skjermen.<br/> {3,number,integer}. Klyp med 2 fingre for å justere zoomen.<br/> {4,number,integer}. Bruk snarveien for å stoppe forstørringen.<br/><br/> Du kan også zoome inn midlertidig med mer."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Når forstørrelse er slått på, kan du zoome inn på skjermen.\n\n"<b>"For å zoome"</b>", start forstørring og trykk hvor som helst på skjermen.\n"<ul><li>"Dra to eller flere fingre for å rulle"</li>\n<li>"Knip to eller flere fingre for å justere zoomen"</li></ul>\n\n<b>"For å zoome midlertidig"</b>", start forstørring og trykk og hold hvor som helst på skjermen.\n"<ul><li>"Dra for å bevege deg rundt på skjermen"</li>\n<li>"Løft fingeren for å zoome ut"</li></ul>\n\n"Du kan ikke zoome inn på tastaturet eller navigasjonsraden."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Side <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> av <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Snarvei via Tilgjengelighet-knappen"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Bli bare varslet av viktige personer og apper"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Velg aktiveringstype"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Tidspunkt"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Eksempel: «09:30–17:00»"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Kalender"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Eksempel: «Personlig kalender»"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Opprett en modus"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Egendefinert"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Begrens forstyrrelser"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Slå på Ikke forstyrr"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarmer og medielyder kan forstyrre"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Tidsplaner"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Slett tidsplaner"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Slett"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Endre"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Tidsplaner"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Tidsplan"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Angi en tidsplan"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Tidsplan"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> t, <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Slå på automatisk"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Tidsplan"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Demp telefonen til bestemte tider"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Angi Ikke forstyrr-regler"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Tillat forstyrrelser som lager lyd"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokkér visuelle forstyrrelser"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Tillat visuelle signaler"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Varsler som kan nå deg"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Hold fokus"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Flere handlinger"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Visningsinnstillinger"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Visningsalternativer"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"slå på mørkt tema"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Bytt til at OS-et og appene foretrekker lys tekst på mørk bakgrunn, som kan være mer behagelig for øynene og gir betydelig batterisparing på noen enheter."</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Ingen visningsendringer}=1{{effect_1}}=2{{effect_1} og {effect_2}}=3{{effect_1}, {effect_2} og {effect_3}}other{{effect_1}, {effect_2} og # andre}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filtrer bort avbrytelser"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Ingen avbrytelser blir filtrert bort"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Visningsalternativer for filtrerte varsler"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Når «Ikke forstyrr» er på"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Ingen lydvarsling"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"åpne varsel"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Tillat slumring av varsler"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Varselprikk på appikoner"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Varselspakker"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Bobler"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bobler"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Lag boble for denne samtalen"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Kategorier"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Annet"</string>
<string name="no_channels" msgid="4716199078612071915">"Denne appen har ikke publisert noen varsler"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Vis kategorier som ikke brukes"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Flere innstillinger i appen"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Vis kategorier som ikke brukes"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Skjul kategorier som ikke brukes"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Alle"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Tillat at apper overstyrer"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apper som kan forstyrre"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Velg flere apper"</string>
@@ -3983,7 +4045,7 @@
<string name="background_check_pref" msgid="5304564658578987535">"Bakgrunnssjekk"</string>
<string name="assist_access_context_title" msgid="5201495523514096201">"Bruk tekst fra skjermen"</string>
<string name="assist_access_context_summary" msgid="6951814413185646275">"Gi assistentappen tilgang til skjerminnholdet som tekst"</string>
- <string name="assist_access_screenshot_title" msgid="4395902231753643633">"Bruk skjermdump"</string>
+ <string name="assist_access_screenshot_title" msgid="4395902231753643633">"Bruk skjermbilde"</string>
<string name="assist_access_screenshot_summary" msgid="5276593070956201863">"Gi assistentappen tilgang til et bilde av skjermen"</string>
<string name="assist_flash_title" msgid="5449512572885550108">"Uthev skjermen"</string>
<string name="assist_flash_summary" msgid="3032289860177784594">"Uthev kantene av skjermen når assistentappen bruker tekst fra skjermen eller skjermbildet"</string>
@@ -4075,7 +4137,7 @@
<string name="disabled_by_policy_title_outgoing_calls" msgid="400089720689494562">"Kan ikke ringe"</string>
<string name="disabled_by_policy_title_sms" msgid="8951840850778406831">"Kan ikke sende SMS-meldinger"</string>
<string name="disabled_by_policy_title_camera" msgid="6616508876399613773">"Kan ikke bruke kameraet"</string>
- <string name="disabled_by_policy_title_screen_capture" msgid="6085100101044105811">"Kan ikke ta skjermdumper"</string>
+ <string name="disabled_by_policy_title_screen_capture" msgid="6085100101044105811">"Kan ikke ta skjermbilder"</string>
<string name="disabled_by_policy_title_suspend_packages" msgid="4223983156635729793">"Kan ikke åpne denne appen"</string>
<string name="disabled_by_policy_title_financed_device" msgid="2328740314082888228">"Blokkert av kredittleverandøren din"</string>
<string name="disabled_by_policy_title_biometric_parental_consent" msgid="2463673997797134678">"Forelder kreves"</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Etui"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batteri"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Innstillinger-panel"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Tvungen skrivebordsmodus"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Tvungen eksperimentell skrivebordsmodus på sekundære skjermer"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Slå på vinduer i fritt format"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Slå på støtte for vinduer i fritt format."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Slå på vindusvisning i fritt format på skjerm to"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Slå på vinduer i fritt format bare på sekundær skjerm."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Slå på apper som ikke kan endre størrelse, i flervindusmodus"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Tillater apper som ikke kan endre størrelse, i flervindusmodus"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Overstyr tving mørk"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Datapartisjonen på denne enheten må konverteres til ext4 før du kan bruke utvikleralternativet for 16 kB. I denne modusen kan ikke programvareintegriteten garanteres, og eventuelle data som er lagret på telefonen mens oppstartsinnlasteren er låst opp, kan være utsatt for fare. Hvis du aktiverer alternativet for 16 kB, må du starte enheten på nytt én gang til etter dette. Når du er i denne modusen, kan du bytte mellom modusen for 4 kB og modusen for 16 kB ved bare å starte enheten på nytt én gang. Noen funksjoner deaktiveres i disse modusene, så det er ikke sikkert at alle apper fungerer. For å gå tilbake til produksjonsmodusen på enheten må du bytte tilbake til modusen for 4 kB og så låse oppstartsinnlasteren. Da tilbakestilles enheten til fabrikkstandard. Når enheten har startet i Android, kan du deaktivere fjerning av produsentsperre i utvikleralternativene. Når du bekrefter, blir alle dataene på enheten visket ut, og filsystemet blir byttet til ext4. Når dette er ferdig, kan du komme tilbake for å aktivere 16 kB igjen."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Tøm alle data"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Kunne ikke omformatere og viske ut datapartisjonen til ext4"</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Oppstartsinnlasteren må låses opp for å bruke modusen for 16 kB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Opplåsing av oppstartsinnlasteren kreves"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Denne enheten krever at oppstartsinnlasteren er låst opp, før utvikleralternativet for 16 kB kan brukes. I denne modusen kan ikke programvareintegriteten garanteres, og eventuelle data som er lagret på telefonen mens oppstartsinnlasteren er låst opp, kan være utsatt for fare. Alle brukerdata og innstillinger viskes ut når modusen for 16 kB aktiveres. Når oppstartsinnlasteren er låst opp, kreves det to omstarter for å aktivere alternativet for 16 kB. Når du er i denne modusen, kan du bytte mellom modusen for 4 kB og modusen for 16 kB ved bare å starte enheten på nytt én gang. Noen funksjoner deaktiveres i disse modusene, så det er ikke sikkert at alle apper fungerer. For å gå tilbake til produksjonsmodusen på enheten må du bytte tilbake til modusen for 4 kB og så låse enheten via produsenten eller oppstartsinnlasteren (og da tilbakestilles enheten til fabrikkstandard). Lås opp oppstartsinnlasteren, og prøv på nytt. Du finner veiledning om hvordan du gjør dette, på <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Bruker den sideagnostiske modusen for 4 kB"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Du er i modusen for 4 kB av den sideagnostiske modusen. I denne modusen kan ikke programvareintegriteten garanteres, og eventuelle data som er lagret på telefonen mens oppstartsinnlasteren er låst opp, kan være utsatt for fare. Noen funksjoner deaktiveres i disse modusene, så det er ikke sikkert at alle apper fungerer. For å gå tilbake til produksjonsmodusen, må du låse oppstartsinnlasteren på enheten. Trykk for å finne ut mer."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Du er i modusen for 4 kB av den sideagnostiske modusen. I denne modusen kan ikke programvareintegriteten garanteres, og eventuelle data som er lagret på telefonen mens oppstartsinnlasteren er låst opp, kan være utsatt for fare. Noen funksjoner deaktiveres i disse modusene, så det er ikke sikkert at alle apper fungerer. For å gå tilbake til produksjonsmodusen, må du låse oppstartsinnlasteren på enheten. Da tilbakestilles enheten til fabrikkstandard, og produksjonsinnstillingene gjenopprettes. Når enheten har startet i Android, kan du deaktivere fjerning av produsentsperre i utvikleralternativene. Hvis enheten ikke starter opp i Android, eller hvis den er ustabil, bør du flashe enheten på nytt med de siste fabrikkavbildningene fra <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> eller bruke <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> og velge «Wipe Device» (visk ut alt på enheten), «Lock Bootloader» (lås oppstartsinnlasteren) og «Force Flash all partitions» (tving gjennom flashing av alle partisjoner)."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Bruker den sideagnostiske modusen for 16 kB"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Du er i modusen for 16 kB av den sideagnostiske modusen. I denne modusen kan ikke programvareintegriteten garanteres, og eventuelle data som er lagret på telefonen mens oppstartsinnlasteren er låst opp, kan være utsatt for fare. Noen funksjoner deaktiveres i disse modusene, så det er ikke sikkert at alle apper fungerer. For å gå tilbake til produksjonsmodusen, må du bytte tilbake til modusen for 4K og låse oppstartsinnlasteren på enheten. Trykk for å finne ut mer."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Du er i modusen for 16 kB av den sideagnostiske modusen. I denne modusen kan ikke programvareintegriteten garanteres, og eventuelle data som er lagret på telefonen mens oppstartsinnlasteren er låst opp, kan være utsatt for fare. Noen funksjoner deaktiveres i disse modusene, så det er ikke sikkert at alle apper fungerer. For å gå tilbake til produksjonsmodusen, må du bytte tilbake til modusen for 4K og låse oppstartsinnlasteren på enheten. Da tilbakestilles enheten til fabrikkstandard, og produksjonsinnstillingene gjenopprettes. Når enheten har startet i Android, kan du deaktivere fjerning av produsentsperre i utvikleralternativene. Hvis enheten ikke starter opp i Android, eller hvis den er ustabil, bør du flashe enheten på nytt med de siste fabrikkavbildningene fra <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> eller bruke <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> og velge «Wipe Device» (visk ut alt på enheten), «Lock Bootloader» (lås oppstartsinnlasteren) og «Force Flash all partitions» (tving gjennom flashing av alle partisjoner)."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Du er i modusen for 16 kB av den sideagnostiske modusen. I denne modusen kan ikke programvareintegriteten garanteres, og eventuelle data som er lagret på telefonen mens oppstartsinnlasteren er låst opp, kan være utsatt for fare. Noen funksjoner deaktiveres i disse modusene, så det er ikke sikkert at alle apper fungerer. For å gå tilbake til produksjonsmodusen må du bytte tilbake til modusen for 4 Kb og låse oppstartsinnlasteren på enheten. Trykk for å finne ut mer."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Du er i modusen for 16 kB av den sideagnostiske modusen. I denne modusen kan ikke programvareintegriteten garanteres, og eventuelle data som er lagret på telefonen mens oppstartsinnlasteren er låst opp, kan være i fare. Noen funksjoner deaktiveres i disse modusene, så det er ikke sikkert at alle apper fungerer. For å gå tilbake til produksjonsmodusen må du bytte tilbake til modusen for 4 Kb og låse oppstartsinnlasteren på enheten. Da tilbakestilles enheten til fabrikkstandard, og produksjonsinnstillingene gjenopprettes. Når enheten har startet i Android, kan du deaktivere fjerning av produsentsperre i utvikleralternativene. Hvis enheten ikke starter opp i Android, eller hvis den er ustabil, bør du flashe enheten på nytt med de siste fabrikkavbildningene fra <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> eller bruke <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> og velge «Wipe Device» (visk ut alt på enheten), «Lock Bootloader» (lås oppstartsinnlasteren) og «Force Flash all partitions» (tving gjennom flashing av alle partisjoner)."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Sideagnostisk modus for 16 kB"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Les mer"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Feilrapporthåndtering"</string>
@@ -5007,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Bruk festing av apper"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Bruk utvikleralternativer"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Bruk utskriftstjeneste"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Tillat flere brukere"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"tillat, flere, bruker, tillatelse, mange"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"flere, brukere, profiler, personer, kontoer, bytt, mange"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Bruk trådløs feilsøking"</string>
@@ -5121,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Velg hva du ser på skjermen når nettbrettet er i dokken. Enheten kan bruke mer energi når en skjermsparer brukes."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Tilpass"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Tilpass <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"En omstart kreves for å slå på støtte for fritt format."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"En omstart kreves for å tvinge skrivebordmodus på sekundære skjermer."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"En omstart kreves for å slå på støtte for eldre versjon av vindusvisning i fritt format."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"En omstart kreves for å endre støtte for vindusvisning i fritt format."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"En omstart kreves for å tvinge vindusvisning i fritt format på sekundære skjermer."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Start på nytt nå"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Start på nytt senere"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Romlig lyd"</string>
@@ -5351,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Lytt til strømmen"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Skann en QR-kode for en lydstrøm for å lytte med <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Kan ikke redigere passordet under deling. For å bytte passord, slå først av lyddelingen."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-ne/arrays.xml b/res/values-ne/arrays.xml
index 1f36872..57efd75 100644
--- a/res/values-ne/arrays.xml
+++ b/res/values-ne/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"सुत्ने समय"</item>
+ <item msgid="4152450357280759894">"ड्राइभिङ"</item>
+ <item msgid="7096549258219399423">"इमर्सिभ"</item>
+ <item msgid="2760716776980432977">"व्यवस्थापन गरिएका"</item>
+ <item msgid="601734478369121764">"तारा"</item>
+ <item msgid="6243809315432780521">"पात्रो"</item>
+ <item msgid="4913577903148415331">"समय"</item>
+ <item msgid="3653377604690057780">"नाटकघर"</item>
+ <item msgid="3843711267408385410">"फूल"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 3b77ab1..69331f3 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -75,8 +75,9 @@
<string name="bluetooth_pair_other_ear_dialog_right_ear_positive_button" msgid="533612082529204078">"दायाँ भाग कनेक्ट गर्नुहोस्"</string>
<string name="bluetooth_pair_other_ear_dialog_left_ear_positive_button" msgid="6500192653171220257">"बायाँ भाग कनेक्ट गर्नुहोस्"</string>
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"श्रवण यन्त्रसम्बन्धी सेटिङ"</string>
- <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"सर्टकट, श्रवण सहयोगसम्बन्धी कम्प्याटिबिलिटी"</string>
+ <string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"सर्टकट, हियरिङ डिभाइस कम्प्याटिबिलिटी"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"पूर्व निर्धारित"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"तपाईंका अडियोलोजिस्टले कुनै पनि प्रिसेट तय गर्नुभएको छैन"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"प्रिसेट अपडेट गर्न सकिएन"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"अडियो आउटपुट"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"अडियो आउटपुटका बारेमा"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"अनुहार र <xliff:g id="WATCH">%s</xliff:g> दर्ता गरियो"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"अनुहार, फिंगरप्रिन्ट र <xliff:g id="WATCH">%s</xliff:g> दर्ता गरियो"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"अनुहार, फिंगरप्रिन्टहरू र <xliff:g id="WATCH">%s</xliff:g> दर्ता गरिए"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"पहिचान जाँच्ने सुविधा अन भएकाले यसको आवश्यकता पर्छ"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator Unlock"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"स्मार्ट वाच हालिएको छ"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"आफ्नो स्मार्ट वाच सेटअप गर्नुहोस्"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"स्मार्ट वाच अनलक गर्ने सुविधाका बारेमा थप जान्नुहोस्"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"स्मार्ट वाच कनेक्ट गर्नुहोस्"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"स्मार्ट वाच डिस्कनेक्ट गर्नुहोस्"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"फिंगरप्रिन्ट तथा फेस अनलक"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"फेस र फिंगरप्रिन्ट अनलक"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"कार्य प्रोफाइलका लागि फेस र फिंगरप्रिन्ट अनलक"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"सेटअप गर्नु पर्ने हुन्छ"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"फेस तथा फिंगरप्रिन्टहरू थपिए"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"एपहरू इन्स्टल गर्नुहोस्"</b>\n"तपाईंले आफ्नो स्पेसमा गोप्य राख्न चाहेका एपहरू इन्स्टल गर्नुहोस्"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"ख्याल गर्नुहोस्"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"तपाईंले आफ्नो स्पेस लक गर्दा एपहरू बन्द हुन्छन्"</b>\n"तपाईंले आफ्नो स्पेस लक गर्दा तपाईंको स्पेसमा भएका एपहरू बन्द हुन्छन् र तपाईं ती एपबाट नोटिफिकेसन प्राप्त गर्नु हुने छैन"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"निजी स्पेसहरू मेडिकल एपहरू जस्ता ब्याकग्राउन्डमा चलाउनु पर्ने वा महत्त्वपूर्ण नोटिफिकेसनहरू पठाउने एपहरूका लागि उपयुक्त हुँदैनन्। तपाईंको स्पेस लक गरिँदा नोटिफिकेसन र ब्याकग्राउन्डमा हुने क्रियाकलाप बन्द गरिने भएकाले यसो भएको हो।\n\nतपाईंको निजी स्पेस लक गरिएका बेला उक्त स्पेसमा भएका एपहरू अनुमति व्यवस्थापन, गोपनीयतासम्बन्धी ड्यासबोर्ड र अन्य सेटिङमा देखिने छैनन्।\n\nतपाईंको निजी स्पेस सारेर नयाँ डिभाइसमा लैजान सकिँदैन। तपाईं अर्को डिभाइसमा निजी स्पेस प्रयोग गर्न चाहनुहुन्छ भने तपाईंले अर्को निजी स्पेस सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको डिभाइस कम्प्युटरमा कनेक्ट गर्ने वा तपाईंको डिभाइसमा हानिकारक एपहरू इन्स्टल गर्ने सबै जना तपाईंको निजी स्पेस एक्सेस गर्न सक्ने छन्।"</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"निजी स्पेसहरू मेडिकल एपहरू जस्ता ब्याकग्राउन्डमा चलाउनु पर्ने वा महत्त्वपूर्ण नोटिफिकेसनहरू पठाउने एपहरूका लागि उपयुक्त हुँदैनन्। तपाईंको स्पेस लक गरिँदा नोटिफिकेसन र ब्याकग्राउन्डमा हुने क्रियाकलाप बन्द गरिने भएकाले यसो भएको हो।\n\nतपाईंको निजी स्पेस लक गरिएका बेला उक्त स्पेसमा भएका एपहरू अनुमति व्यवस्थापन, गोपनीयतासम्बन्धी ड्यासबोर्ड र अन्य सेटिङमा देखिने छैनन्।\n\nतपाईंको निजी स्पेस नयाँ डिभाइसमा रिस्टोर गर्न सकिँदैन। तपाईं अर्को डिभाइसमा स्पेस प्रयोग गर्न चाहनुहुन्छ भने तपाईंले अर्को स्पेस सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको डिभाइस कम्प्युटरमा कनेक्ट गर्ने वा तपाईंको डिभाइसमा हानिकारक एपहरू इन्स्टल गर्ने सबै जना तपाईंको निजी स्पेस एक्सेस गर्न सक्ने छन्।"</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"निजी स्पेसका बारेमा थप जान्नुहोस्"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"लोड हुन केही बेर लाग्ने छ"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"निजी स्पेस सेटअप गरिँदै छ…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"डिभाइस रिस्टार्ट गर्ने हो?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"NFC को विस्तृत लग राख्ने सुविधा सफ्टवेयर विकास गर्ने प्रयोजनका लागि मात्र बनाइएको हो। बग रिपोर्टहरूमा NFC का अतिरिक्त डेटा समावेश हुन्छन्। यी डेटामा निजी जानकारी पनि समावेश हुन सक्छन्। यो सेटिङ बदल्न आफ्नो डिभाइस रिस्टार्ट गर्नुहोस्।"</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"रिस्टार्ट गर्नुहोस्"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Cast"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"स्क्रिन मिरर गर्नुहोस्"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"वायरलेस प्रदर्शन सक्षम गर्नुहोस्"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"एड्याप्टिभ"</string>
<string name="brightness" msgid="6216871641021779698">"चमकको स्तर"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"एड्याप्टिभ ब्राइटनेस"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"अनुकूलनयोग्य चमकका बारेमा"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"स्क्रिनको चमक तपाईंको वातावरण र गतिविधिअनुसार स्वतः समायोजन हुन्छ। तपाईं स्लाइडर सारेर एड्याप्टिभ ब्राइटनेसलाई तपाईंको रूची पहिचान गर्न मद्दत गर्न सक्नुहुन्छ।"</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"सक्रिय छ"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"निष्क्रिय छ"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"विकल्पहरू"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"एक्सेसिबिलिटी सुविधा"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"फिजिकल किबोर्ड"</string>
- <string name="show_ime" msgid="4334255501724746849">"अनस्क्रिन किबोर्ड प्रयोग गर्नुहोस्"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"फिजिकल किबोर्ड सक्रिय हुँदा यसलाई स्क्रिनमा राख्नुहोस्"</string>
<string name="bounce_keys" msgid="7419450970351743904">"बाउन्स की"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"किबोर्डले <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> मिलिसेकेन्डभित्र एउटै कीमा छिटो छिटो दोहोर्याएर थिचिएका खण्डमा बेवास्ता गर्छ"</string>
<string name="slow_keys" msgid="2891452895499690837">"स्लो की"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"प्रयोगकर्ता चयन गरिएको: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"बोली"</string>
<string name="pointer_speed" msgid="7398649279282675718">"पोइन्टरको गति"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"खेल नियन्त्रक"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"कम्पन रिडिरेक्ट गर्नुहोस्"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"जडान हुँदा खेलको नियन्त्रकमा कम्पन गराउनुहोस्"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"जे भए पनि जारी राख्नुहोस्"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"रद्द गर्नु…"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"म्याग्निफिकेसनसम्बन्धी सेटिङ"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"एउटा औंलाले प्यान गर्ने सुविधा"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"एउटा औँलाले म्याग्निफायर सार्नुहोस्"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"स्क्रिनमा यताउता सार्न एउटा औँलाले ड्र्याग गर्नुहोस्"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"एउटा औंला ड्र्याग गरेर जुम इन गरिएको क्षेत्र यताउता सार्नुहोस्।"</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"दुई औंला ड्र्याग गरेर जुम इन गरिएको क्षेत्र यताउता सार्नुहोस्।"</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"स्क्रिनको कुनै भाग मात्र जुम इन गरेका बेला यो टगल उपलब्ध हुँदैन"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"जुम गर्न बटनमा ट्याप गर्नुहोस्"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"तपाईं सामग्री अझ ठुलो बनाउन चाहनुहुन्छ भने द्रुत रूपमा स्क्रिनमा जुम इन गर्नुहोस्"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>तपाईं जुम इन गर्न चाहनुहुन्छ भने निम्न कार्य गर्नुहोस्:</b><br/> {0,number,integer}. जुम इन गर्ने सुविधा प्रयोग गर्न थाल्न सर्टकट प्रयोग गर्नुहोस्<br/> {1,number,integer}. स्क्रिनमा ट्याप गर्नुहोस्<br/> {2,number,integer}. स्क्रिनमा सामग्री यताउता सार्न २ वटा औँलाले ड्र्याग गर्नुहोस्<br/> {3,number,integer}. जुम इन वा जुम आउट गर्न २ वटा औँलाले पिन्च गर्नुहोस्<br/> {4,number,integer}. जुम इन गर्ने सुविधा बन्द गर्न सर्टकट प्रयोग गर्नुहोस्<br/><br/> <b>तपाईं केही समयका लागि जुम इन गर्न चाहनुहुन्छ भने निम्न कार्य गर्नुहोस्:</b><br/> {0,number,integer}. जुम इनको प्रकार फुल स्क्रिन तय गरिएको छ भन्ने कुरा सुनिश्चित गर्नुहोस्<br/> {1,number,integer}. जुम इन गर्ने सुविधा प्रयोग गर्न थाल्न सर्टकट प्रयोग गर्नुहोस्<br/> {2,number,integer}. स्क्रिनको कुनै भागमा टच एण्ड होल्ड गर्नुहोस्<br/> {3,number,integer}. स्क्रिनमा सामग्री यताउता सार्न औँलाले ड्र्याग गर्नुहोस्<br/> {4,number,integer}. जुम इन गर्ने सुविधा बन्द गर्न औँला उठाउनुहोस्"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>जुम इन गर्न:</b><br/> {0,number,integer}. जुम इन गर्न थाल्न सर्टकट प्रयोग गर्नुहोस्<br/> {1,number,integer}. स्क्रिनमा ट्याप गर्नुहोस्<br/> {2,number,integer}. स्क्रिनमा यताउता सार्न २ वटा औँलाले ड्र्याग गर्नुहोस्<br/> {3,number,integer}. जुमको स्तर मिलाउन २ वटा औँलाले पिन्च गर्नुहोस्<br/> {4,number,integer}. जुम इन गर्न छाड्न सर्टकट प्रयोग गर्नुहोस्<br/><br/> तपाईं केही समयका लागि जुम इन गर्नेलगायतका अन्य कार्यहरू गर्न पनि सक्नुहुन्छ।"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>जुम इन गर्न:</b><br/> {0,number,integer}. जुम इन गर्न थाल्न सर्टकट प्रयोग गर्नुहोस्<br/> {1,number,integer}. स्क्रिनमा ट्याप गर्नुहोस्<br/> {2,number,integer}. स्क्रिनमा यताउता सार्न एउटा वा २ वटा औँलाले ड्र्याग गर्नुहोस्<br/> {3,number,integer}. जुमको स्तर मिलाउन २ वटा औँलाले पिन्च गर्नुहोस्<br/> {4,number,integer}. जुम इन गर्न छाड्न सर्टकट प्रयोग गर्नुहोस्<br/><br/> तपाईं केही समयका लागि जुम इन गर्नेलगायतका अन्य कार्यहरू गर्न पनि सक्नुहुन्छ।"</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"म्याग्निफिकेसन सुविधा सक्रिय गरेपछि, तपाईं आफ्नो स्क्रिनमा जुम इन गर्न सक्नुहुन्छ।\n\n"<b>"जुम गर्न"</b>", म्याग्निफिकेसन सुविधा सुरु गर्नुहोस्, त्यसपछि स्क्रिनको कुनै पनि भागमा ट्याप गर्नुहोस्।\n"<ul><li>"स्क्रोल गर्न २ वा सोभन्दा बढी औँलाले ड्र्याग गर्नुहोस्"</li>\n<li>"जुम समायोजन गर्न २ वा सोभन्दा बढी औँलाले पिन्च गर्नुहोस्"</li></ul>\n\n<b>"केहीबेरका लागि जुम गर्न"</b>", म्याग्निफिकेसन सुविधा सुरु गर्नुहोस्, त्यसपछि स्क्रिनको कुनै पनि भागमा केहीबेर छोइरहनुहोस्।\n"<ul><li>"स्क्रिनमा यताउता जान ड्र्याग गर्नुहोस्"</li>\n<li>"जुम आउट गर्न औँला उचाल्नुहोस्"</li></ul>\n\n"तपाईं किबोर्ड वा नेभिगेसन पट्टीमा जुम इन गर्न सक्नुहुन्न।"</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g> मध्ये <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> औँ पृष्ठ"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"एक्सेसिबिलिटी बटनको सर्टकट"</string>
@@ -2316,7 +2354,7 @@
<string name="accessibility_hearing_device_saved_title" msgid="7573926212664909296">"सेभ गरिएका डिभाइस"</string>
<string name="accessibility_hearing_device_control" msgid="2661965917013100611">"हियरिङ डिभाइस नियन्त्रण गर्ने विजेटहरू"</string>
<string name="accessibility_hearing_device_shortcut_title" msgid="7645100199603031360">"हियरिङ डिभाइसको सर्टकट"</string>
- <string name="accessibility_hac_mode_title" msgid="2037950424429555652">"श्रवण सहयोगसम्बन्धी कम्प्याटिबिलिटी"</string>
+ <string name="accessibility_hac_mode_title" msgid="2037950424429555652">"हियरिङ डिभाइस कम्प्याटिबिलिटी"</string>
<string name="accessibility_hac_mode_summary" msgid="5198760061256669067">"टेलिकोइलसँग अझ राम्रोसँग काम गर्ने बनाउँछ र अनावश्यक आवाज कम गर्छ"</string>
<string name="accessibility_hearing_device_about_title" msgid="7883758309646288250">"श्रवण यन्त्रहरूका बारेमा"</string>
<string name="accessibility_hearing_device_footer_summary" msgid="256061045064940818">"ASHA वा LE अडियो प्रयोग गर्न नमिल्ने अन्य हियरिङ डिभाइस भेट्टाउन "<b>"नयाँ डिभाइस कनेक्ट गर्नुहोस्"</b>" > "<b>"अझ धेरै डिभाइसहरू हेर्नुहोस्"</b>" मा ट्याप गर्नुहोस्"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"महत्त्वपूर्ण मान्छे र एपका सूचना मात्र प्राप्त गर्नुहोस्"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"एक्टिभेसनको प्रकार चयन गर्नुहोस्"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"समय"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"उदाहरण: \"बिहान ९:३० बजेदेखि साँझ ५:०० बजेसम्म\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"पात्रो"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"उदाहरण: \"व्यक्तिगत पात्रो\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"मोड बनाउनुहोस्"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"कस्टम"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"अवरोधहरू सीमित पार्नुहोस्"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"बाधा नपुऱ्याउनुहोस् नामक मोडलाई अन गर्नुहोस्"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"अलार्म तथा मिडियाका आवाजहरूले अवरोध गर्न सक्छन्"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"समयतालिकाहरू"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"समयतालिकाहरू मेट्नुहोस्"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"मेट्नुहोस्"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"सम्पादन गर्नुहोस्"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"समयतालिकाहरू"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"समयतालिका"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"कुनै पात्रो हाल्नुहोस्"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"आफ्नो पात्रो प्रयोग गर्नुहोस्"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"समयतालिका"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"समयतालिका सेट गर्नुहोस्"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"समयतालिका"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> घण्टा, <xliff:g id="MINUTES">%2$d</xliff:g> मिनेट"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"स्वतः अन गर्नुहोस्"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"समयतालिका"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"तोकिएको समयमा फोनलाई मौन अवस्थामा राख्नुहोस्"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"बाधा नपुर्याउनुहोस् नामक मोडका नियमहरू सेट गर्नुहोस्"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"साउन्डसहित आउने कुरालाई अनुमति दिनुहोस्"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"दृश्य सम्बन्धी बाधालाई रोक्नु"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"सङ्केतहरूलाई देखिन दिनुहोस्"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"तपाईंले प्राप्त गर्न सक्ने नोटिफिकेसनहरू"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"ध्यान केन्द्रित गर्नुहोस्"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"अतिरिक्त कारबाहीहरू"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"डिस्प्लेसम्बन्धी सेटिङ"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"डिस्प्लेसम्बन्धी विकल्पहरू"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"\"अँध्यारो थिम\" अन गर्नुहोस्"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"अँध्यारो ब्याकग्राउन्डमा हल्का रङको टेक्स्टलाई प्राथमिकता दिन OS र एपहरू अदलबदल गर्नुहोस्। तपाईंले यसो गर्नुभयो भने तपाईंको आँखामा धेरै असर पर्दैन र यसले केही डिभाइसहरूको ब्याट्री उल्लेख्य रूपमा बचत गर्छ।"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{डिस्प्लेमा कुनै पनि परिवर्तन गरिएको छैन}=1{{effect_1}}=2{{effect_1} र {effect_2}}=3{{effect_1}, {effect_2} र {effect_3}}other{{effect_1}, {effect_2} र थप # वटा}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"अवरोधहरू फिल्टर गर्नुहोस्"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"कुनै पनि अवरोध फिल्टर गरिँदैन"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"फिल्टर गरिएका नोटिफिकेसनसम्बन्धी विकल्पहरू देखाउनुहोस्"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"बाधा नपुऱ्याउनुहोस् मोड अन हुँदा"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"सूचना आउँदा साउन्ड नआओस्"</string>
@@ -3486,6 +3541,8 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"सूचना खोल्नुहोस्"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"सूचना स्नुज गर्न दिनुहोस्"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"एपको आइकनमा देखिने नोटिफिकेसन डट"</string>
+ <!-- no translation found for notification_bundles (3614044525822580826) -->
+ <skip />
<string name="notification_bubbles_title" msgid="5681506665322329301">"बबलहरू"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"बबलहरू"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"यो वार्तालाप बबलमा देखाउनुहोस्"</string>
@@ -3667,6 +3724,7 @@
<string name="notification_channels" msgid="1502969522886493799">"कोटिहरू"</string>
<string name="notification_channels_other" msgid="18159805343647908">"अन्य"</string>
<string name="no_channels" msgid="4716199078612071915">"यो एपले कुनै पनि सूचना पोस्ट गरेको छैन"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"प्रयोग नगरिएका कोटीहरू देखाउनुहोस्"</string>
<string name="app_settings_link" msgid="6725453466705333311">"एपका अतिरिक्त सेटिङहरू"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"प्रयोग नगरिएका कोटीहरू देखाउनुहोस्"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"प्रयोग नगरिएका कोटीहरू लुकाइयोस्"</string>
@@ -3778,6 +3836,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"सबै"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"एपहरूलाई ओभरराइड गर्ने अनुमति दिनुहोस्"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"अफ गर्न सक्ने एपहरू"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"थप एपहरू चयन गर्नुहोस्"</string>
@@ -3814,12 +3874,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} सम्म एक घण्टाका लागि मोड बदलेर \"अलार्महरू मात्र\" बनाउनुहोस्}other{{time} सम्म # घण्टाका लागि मोड बदलेर \"अलार्महरू मात्र\" बनाउनुहोस्}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> सम्मको लागि मात्र अलार्म परिवर्तन गर्नुहोस्"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"सधैं अवरोध गर्ने गरी परिवर्तन गर्नुहोस्"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"नाम बदल्नुहोस्"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"आइकन बदल्नुहोस्"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"आइकन बदल्नुहोस्"</string>
<string name="warning_button_text" msgid="1274234338874005639">"चेतावनी"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"बन्द गर्नुहोस्"</string>
<string name="device_feedback" msgid="5351614458411688608">"डिभाइसका बारेमा प्रतिक्रिया पठाउनुहोस्"</string>
@@ -4805,8 +4862,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"खोल"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"ब्याट्री"</string>
<string name="settings_panel_title" msgid="346363079938069215">"सेटिङहरू नामक प्यानल"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"बलपूर्वक डेस्कटप मोड लागू गर्नुहोस्"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"सहायक डिस्प्लेमा प्रयोगात्मक डेस्कटप मोड बलपूर्वक लागू गर्नुहोस्"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"फ्रिफर्म विन्डोहरू अन गर्नुहोस्"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"फ्रिफर्म विन्डोहरू चल्ने बनाउनुहोस्"</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"दोस्रो डिस्प्लेमा फ्रिफर्म विन्डोहरू अन गर्नुहोस्"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"दोस्रो डिस्प्लेमा मात्र फ्रिफर्म विन्डोहरू अन गर्नुहोस्"</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"एउटै विन्डोमा नअट्ने एपहरू एकभन्दा बढी विन्डोमा खोल्न दिइयोस्"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"विन्डोको आकार मिलाउन नसकिने एपहरू एकभन्दा बढी विन्डोमा खोल्न दिइयोस्"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"\'फोर्स डार्क\' ओभरराइड गर्नुहोस्"</string>
@@ -4874,14 +4933,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"१६ के.बि. विकासकर्ता मोड प्रयोग गर्नुअघि यो डिभाइसको डेटा पार्टिसन रूपान्तरण गरी ext4 बनाउनु पर्ने हुन्छ। यो मोडमा सफ्टवेयरको पूर्णताका बारेमा ग्यारेन्टी गर्न सकिँदैन र बुटलोडर अनलक गरिएका बेला फोनमा भण्डारण गरिएको सबै डेटा जोखिममा पर्न सक्छ। १६ के.बि. विकल्प अन गर्न यसपछि अरू एक पटक रिबुट गर्नु पर्ने हुन्छ। तपाईंले यो मोड प्रयोग गर्न थालेपछि भने तपाईं एक पटक रिबुट गरेकै भरमा ४ के.बि. र १६ के.बि. मोडमा अदलबदल गर्न सक्नुहुन्छ। यी मोडमा केही सुविधाहरू अफ हुने हुनाले केही एपहरू नचल्न सक्छन्। डिभाइसलाई प्रोडक्सन मोडमा फर्काउन तपाईंले ४ के.बि. मोडमा फर्किएर बुटलोडर लक गर्नु पर्ने हुन्छ। यसो गर्दा डिभाइस फ्याक्ट्री रिसेट हुन्छ। डिभाइस Android मा बुट भएपछि विकासकर्ता मोडमा गई OEM अनलक सेटिङ अफ गर्नुहोस्। डिभाइसमा भएको सबै डेटा मेटिने छ र पुष्टि गरेपछि फाइल सिस्टम परिवर्तन भई ext4 हुने छ। यो प्रक्रिया पूरा भएपछि १६ के.बि. अन गर्न कृपया यहाँ फर्किएर आउनुहोस्।"</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"सबै डेटा मेटाउनुहोस्"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"रिफर्म्याट गर्न र डेटाको पार्टिसन मेटाएर ext4 बनाउन सकिएन।"</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"१६ के.बि. मोड प्रयोग गर्न बुटलोडर अनलक गर्नु पर्ने हुन्छ"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"बुटलोडर अनलक गर्नु पर्ने हुन्छ"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"१६ के.बि. विकासकर्ता मोड प्रयोग गर्नुअघि यो डिभाइसको बुटलोडर अनलक गर्नु पर्ने हुन्छ। यो मोडमा सफ्टवेयरको पूर्णताका बारेमा ग्यारेन्टी गर्न सकिँदैन र बुटलोडर अनलक गरिएका बेला फोनमा भण्डारण गरिएको सबै डेटा जोखिममा पर्न सक्छ। १६ के.बि. मोड अन गर्दा प्रयोगकर्ताका सबै डेटा तथा सेटिङ मेटिने छ। बुटलोडर अनलक भइसकेपछि १६ के.बि. विकल्प एक्टिभेट गर्न दुई पटक रिबुट गर्नु पर्ने हुन्छ। तपाईंले यो मोड प्रयोग गर्न थालेपछि भने तपाईं एक पटक रिबुट गरेकै भरमा ४ के.बि. र १६ के.बि. मोडमा अदलबदल गर्न सक्नुहुन्छ। यी मोडमा केही सुविधाहरू अफ हुने हुनाले केही एपहरू नचल्न सक्छन्। डिभाइसलाई प्रोडक्सन मोडमा फर्काउन तपाईंले ४ के.बि. मोडमा फर्किएर OEM/बुटलोडर फेरि लक गर्नु पर्ने हुन्छ (यसो गर्दा डिभाइस फ्याक्ट्री रिसेट हुन्छ)। कृपया बुटलोडर अनलक गर्नुहोस् र फेरि प्रयास गर्नुहोस्। तपाईं <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a> मा गई यसो गर्ने तरिका हेर्न सक्नुहुन्छ"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"४ के.बि. पेज एग्नोस्टिक मोड प्रयोग गरिँदै छ"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"तपाईं पेज एग्नोस्टिक मोडअन्तर्गतको ४ के.बि. मोड प्रयोग गर्दै हुनुहुन्छ। यो मोडमा सफ्टवेयरको पूर्णताका बारेमा ग्यारेन्टी गर्न सकिँदैन र बुटलोडर अनलक गरिएका बेला फोनमा भण्डारण गरिएको सबै डेटा जोखिममा पर्न सक्छ। यी मोडमा केही सुविधाहरू अफ हुने हुनाले केही एपहरू नचल्न सक्छन्। तपाईंले डिभाइसको बुटलोडर लक गरेपछि मात्र तपाईं प्रोडक्सन मोडमा फेरि प्रवेश गर्न सक्नुहुन्छ। यस सम्बन्धमा थप जानकारी पढ्न ट्याप गर्नुहोस्।"</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"तपाईं पेज एग्नोस्टिक मोडअन्तर्गतको ४ के.बि. मोड प्रयोग गर्दै हुनुहुन्छ। यो मोडमा सफ्टवेयरको पूर्णताका बारेमा ग्यारेन्टी गर्न सकिँदैन र बुटलोडर अनलक गरिएका बेला फोनमा भण्डारण गरिएको सबै डेटा जोखिममा पर्न सक्छ। यी मोडमा केही सुविधाहरू अफ हुने हुनाले केही एपहरू नचल्न सक्छन्। तपाईंले डिभाइसको बुटलोडर लक गरेपछि मात्र तपाईं प्रोडक्सन मोडमा फेरि प्रवेश गर्न सक्नुहुन्छ। यसो गरेपछि डिभाइस फेरि फ्याक्ट्री रिसेट हुने छ र त्यसका सेटिङ रिस्टोर भई प्रोडक्सन सेटिङ कायम हुने छ। डिभाइस Android मा बुट भएपछि विकासकर्ता मोडमा गई OEM अनलक सेटिङ अफ गर्नुहोस्। डिभाइस Android मा बुट भएन वा डिभाइसको पर्फर्मेन्स अस्थिर भयो भने <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> मा भएको नवीनतम फ्याक्ट्री इमेज प्रयोग गरी डिभाइस रिफ्ल्यास गर्नुहोस् वा <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> प्रयोग गर्नुहोस् र \'डिभाइस मेटाउनुहोस्\', \'बुटलोडर लक गर्नुहोस्\' र \'सबै पार्टिसन बलपूर्वक फ्ल्यास गर्नुहोस्\' चयन गर्नुहोस्।"</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"१६ के.बि. पेज एग्नोस्टिक मोड प्रयोग गरिँदै छ"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"तपाईं पेज एग्नोस्टिक मोडअन्तर्गतको १६ के.बि. मोड प्रयोग गर्दै हुनुहुन्छ। यो मोडमा सफ्टवेयरको पूर्णताका बारेमा ग्यारेन्टी गर्न सकिँदैन र बुटलोडर अनलक गरिएका बेला फोनमा भण्डारण गरिएको सबै डेटा जोखिममा पर्न सक्छ। यी मोडमा केही सुविधाहरू अफ हुने हुनाले केही एपहरू नचल्न सक्छन्। तपाईंले ४ के.बि. मोडमा फर्किएर डिभाइसको बुटलोडर लक गरेपछि मात्र तपाईं प्रोडक्सन मोडमा फेरि प्रवेश गर्न सक्नुहुन्छ। यस सम्बन्धमा थप जानकारी पढ्न ट्याप गर्नुहोस्।"</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"तपाईं पेज एग्नोस्टिक मोडअन्तर्गतको १६ के.बि. मोड प्रयोग गर्दै हुनुहुन्छ। यो मोडमा सफ्टवेयरको पूर्णताका बारेमा ग्यारेन्टी गर्न सकिँदैन र बुटलोडर अनलक गरिएका बेला फोनमा भण्डारण गरिएको सबै डेटा जोखिममा पर्न सक्छ। यी मोडमा केही सुविधाहरू अफ हुने हुनाले केही एपहरू नचल्न सक्छन्। तपाईंले ४ के.बि. मोडमा फर्किएर डिभाइसको बुटलोडर लक गरेपछि मात्र तपाईं प्रोडक्सन मोडमा फेरि प्रवेश गर्न सक्नुहुन्छ। यसो गरेपछि डिभाइस फेरि फ्याक्ट्री रिसेट हुने छ र त्यसका सेटिङ रिस्टोर भई प्रोडक्सन सेटिङ कायम हुने छ। डिभाइस Android मा बुट भएपछि विकासकर्ता मोडमा गई OEM अनलक सेटिङ अफ गर्नुहोस्। डिभाइस Android मा बुट भएन वा डिभाइसको पर्फर्मेन्स अस्थिर भयो भने <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> मा भएको नवीनतम फ्याक्ट्री इमेज प्रयोग गरी डिभाइस रिफ्ल्यास गर्नुहोस् वा <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> प्रयोग गर्नुहोस् र \'डिभाइस मेटाउनुहोस्\', \'बुटलोडर लक गर्नुहोस्\' र \'सबै पार्टिसन बलपूर्वक फ्ल्यास गर्नुहोस्\' चयन गर्नुहोस्।"</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"तपाईं पेज एग्नोस्टिक मोडअन्तर्गतको १६ के.बि. मोड प्रयोग गर्दै हुनुहुन्छ। यो मोडमा सफ्टवेयरको पूर्णताको ग्यारेन्टी गर्न सकिँदैन र बुटलोडर अनलक गरिएका बेला फोनमा भण्डारण गरिएको सबै डेटा जोखिममा पर्न सक्छ। यी मोडमा केही सुविधाहरू अफ हुने हुनाले केही एपहरू नचल्न सक्छन्। तपाईंले ४ के.बि. मोडमा फर्किएर डिभाइसको बुटलोडर लक गरेपछि मात्र तपाईं प्रोडक्सन मोडमा फेरि प्रवेश गर्न सक्नुहुन्छ। यस सम्बन्धमा थप जानकारी पढ्न ट्याप गर्नुहोस्।"</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"तपाईं पेज एग्नोस्टिक मोडअन्तर्गतको १६ के.बि. मोड प्रयोग गर्दै हुनुहुन्छ। यो मोडमा सफ्टवेयरको पूर्णताको ग्यारेन्टी गर्न सकिँदैन र बुटलोडर अनलक गरिएका बेला फोनमा भण्डारण गरिएको सबै डेटा जोखिममा पर्न सक्छ। यी मोडमा केही सुविधाहरू अफ हुने हुनाले केही एपहरू नचल्न सक्छन्। तपाईंले ४ के.बि. मोडमा फर्किएर डिभाइसको बुटलोडर लक गरेपछि मात्र तपाईं प्रोडक्सन मोडमा फेरि प्रवेश गर्न सक्नुहुन्छ। यसो गरेपछि डिभाइस फेरि फ्याक्ट्री रिसेट हुने छ र त्यसका सेटिङ रिस्टोर भई प्रोडक्सन सेटिङ कायम हुने छ। डिभाइस Android मा बुट भएपछि विकासकर्ता मोडमा गई OEM अनलक सेटिङ अफ गर्नुहोस्। डिभाइस Android मा बुट भएन वा डिभाइसको पर्फर्मेन्स अस्थिर भयो भने <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> मा भएको नवीनतम फ्याक्ट्री इमेज प्रयोग गरी डिभाइस रिफ्ल्यास गर्नुहोस् वा <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> प्रयोग गर्नुहोस् र \'डिभाइस मेटाउनुहोस्\', \'बुटलोडर लक गर्नुहोस्\' र \'सबै पार्टिसन बलपूर्वक फ्ल्यास गर्नुहोस्\' चयन गर्नुहोस्।"</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"१६ के.बि. पेज एग्नोस्टिक मोड"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"थप पढ्नुहोस्"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"बग रिपोर्ट ह्यान्ड्लर"</string>
@@ -5013,7 +5072,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"\"एप पिनिङ\" प्रयोग गर्नुहोस्"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"\'विकासकर्ता विकल्पहरू\' प्रयोग गर्नुहोस्"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"प्रिन्ट सेवा चलाउनुहोस्"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"एकभन्दा बढी व्यक्तिलाई प्रयोग गर्न दिनुहोस्"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"अनुमति दिनुहोस्, एकभन्दा बढी, प्रयोगकर्ता, अनुमति, धेरै"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"एकभन्दा बढी, प्रयोगकर्ता, प्रोफाइल, मान्छे, खाता, स्विच, धेरै"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"\'वायरलेस डिबगिङ\' सुविधा प्रयोग गर्नुहोस्"</string>
@@ -5127,8 +5187,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"तपाईंको ट्याब्लेट डक गरिएका बेला तपाईंको डिभाइसमा देखाइनु पर्ने कुराहरू छान्नुहोस्। स्क्रिन सेभर प्रयोग गरिएका बेला तपाईंको डिभाइसले अरू बेलाको तुलनामा बढी ब्याट्री खपत गर्न सक्छ।"</string>
<string name="customize_button_title" msgid="1110284655990203359">"कस्टमाइज गर्नुहोस्"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> कस्टमाइज गर्नुहोस्"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"फ्रिफर्म मोड अन गर्न रिबुट गर्नु पर्ने हुन्छ।"</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"सहायक डिस्प्लेहरूमा डेस्कटप मोड बलपूर्वक लागू गर्न रिबुट गर्नु पर्ने हुन्छ।"</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"फ्रिफर्म विन्डो भएको लिगेसी मोड अन गर्न डिभाइस रिबुट गर्नु पर्ने हुन्छ।"</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"फ्रिफर्म विन्डो मोड परिवर्तन गर्न डिभाइस रिबुट गर्नु पर्ने हुन्छ।"</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"सहायक डिस्प्लेहरूमा फ्रिफर्म विन्डो मोड बलपूर्वक लागू गर्न डिभाइस रिबुट गर्नु पर्ने हुन्छ।"</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"अहिले नै रिबुट गर्नुहोस्"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"पछि रिबुट गर्नुहोस्"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"स्पेशियल अडियो"</string>
@@ -5357,4 +5418,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"स्ट्रिम सुन्नुहोस्"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> सँग अडियो स्ट्रिम सुन्न उक्त स्ट्रिमको QR कोड स्क्यान गर्नुहोस्"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"अडियो सेयर गरिरहेका बेला पासवर्ड बदल्न मिल्दैन। पासवर्ड बदल्न सर्वप्रथम अडियो सेयर गर्ने सुविधा अफ गर्नुहोस्।"</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-nl/arrays.xml b/res/values-nl/arrays.xml
index 66d5384..ef31960 100644
--- a/res/values-nl/arrays.xml
+++ b/res/values-nl/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Bedtijd"</item>
+ <item msgid="4152450357280759894">"Autorijden"</item>
+ <item msgid="7096549258219399423">"Immersief"</item>
+ <item msgid="2760716776980432977">"Beheerd"</item>
+ <item msgid="601734478369121764">"Ster"</item>
+ <item msgid="6243809315432780521">"Agenda"</item>
+ <item msgid="4913577903148415331">"Tijd"</item>
+ <item msgid="3653377604690057780">"Theater"</item>
+ <item msgid="3843711267408385410">"Bloem"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index b2f2248..896bac5 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Instellingen voor hoortoestel"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Sneltoets, geschiktheid voor hoortoestellen"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Voorinstelling"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Geen voorinstellingen geprogrammeerd door je audioloog"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Kan voorinstelling niet updaten"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audio-uitvoer"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Over audio-uitvoer"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Gezicht en <xliff:g id="WATCH">%s</xliff:g> toegevoegd"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Gezicht, vingerafdruk en <xliff:g id="WATCH">%s</xliff:g> toegevoegd"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Gezicht, vingerafdrukken en <xliff:g id="WATCH">%s</xliff:g> toegevoegd"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Dit is nodig omdat identiteitscontrole aanstaat"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Ontgrendelen via Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Smartwatch toegevoegd"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Je smartwatch instellen"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Meer informatie over Ontgrendelen via smartwatch"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Smartwatch toevoegen"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Smartwatch verwijderen"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Ontgrendelen via vingerafdruk en gezicht"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Ontgrendelen via gezichtsherkenning en met vingerafdruk"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ontgrendelen via gezichtsherkenning en vingerafdruk voor werk"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Instellen nodig"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Gezicht en vingerafdrukken toegevoegd"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Apps installeren"</b>\n"Installeer apps die je privé wilt houden in je gedeelte"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Goed om te weten"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Apps stoppen als je je gedeelte vergrendelt"</b>\n"Als je je gedeelte vergrendelt, worden apps in je gedeelte gestopt en krijg je geen meldingen van de apps"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Privégedeelten zijn niet geschikt voor apps die op de achtergrond moeten worden uitgevoerd of die kritieke meldingen sturen, zoals medische apps. Dit komt omdat meldingen en achtergrondactiviteit worden gestopt als je gedeelte is vergrendeld.\n\nApps in je privégedeelte verschijnen niet in Rechtenbeheer, het privacydashboard en in andere instellingen als je privégedeelte is vergrendeld.\n\nJe privégedeelte kan niet worden verplaatst naar een nieuw apparaat. Je moet een nieuw privégedeelte instellen als je dit wilt gebruiken op een ander apparaat.\n\nAls iemand je apparaat aan een computer koppelt of schadelijke apps op je apparaat installeert, kan die toegang hebben tot je privégedeelte."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Privégedeelten zijn niet geschikt voor apps die op de achtergrond moeten worden uitgevoerd of die kritieke meldingen sturen, zoals medische apps. Dit komt omdat meldingen en achtergrondactiviteit worden gestopt als je gedeelte is vergrendeld.\n\nApps in je privégedeelte verschijnen niet in Rechtenbeheer, het privacydashboard en in andere instellingen als het privégedeelte is vergrendeld.\n\nJe privégedeelte kan niet worden hersteld op een nieuw apparaat. Je moet een nieuw gedeelte instellen als je dit wilt gebruiken op een ander apparaat.\n\nAls iemand je apparaat aan een computer koppelt of schadelijke apps op je apparaat installeert, kan die toegang hebben tot je privégedeelte."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Meer informatie over privégedeelte"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Dit duurt even"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Privégedeelte instellen…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Apparaat opnieuw opstarten?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Gedetailleerde NFC-logboekregistratie is alleen bedoeld voor ontwikkelingsdoeleinden. Aanvullende NFC-gegevens worden opgenomen in bugrapporten. Deze kunnen privé-informatie bevatten. Start je apparaat opnieuw op om deze instelling te wijzigen."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Opnieuw opstarten"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Casten"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"mirroren"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Draadloze weergave aanzetten"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Aanpasbaar"</string>
<string name="brightness" msgid="6216871641021779698">"Helderheidsniveau"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Aanpasbare helderheid"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Over aanpasbare helderheid"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Je schermhelderheid wordt automatisch aangepast aan je omgeving en je activiteiten. Je kunt de schuifregelaar handmatig verplaatsen zodat Aanpasbare helderheid je voorkeuren leert kennen."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Aan"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Uit"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Opties"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Toegankelijkheid"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Fysiek toetsenbord"</string>
- <string name="show_ime" msgid="4334255501724746849">"Schermtoetsenbord gebruiken"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Toon op het scherm terwijl het fysieke toetsenbord actief is"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Bouncetoetsen"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Het toetsenbord negeert het binnen <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms snel herhaald indrukken van dezelfde toets"</string>
<string name="slow_keys" msgid="2891452895499690837">"Langzame toetsen"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Door de gebruiker geselecteerd: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Spraak"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Snelheid van aanwijzer"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Gamecontroller"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Trilling omleiden"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Trilling verzenden naar gamecontroller wanneer deze is aangesloten"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Toch doorgaan"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Annuleren"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Instellingen voor vergroting"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Pannen met 1 vinger"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Verplaats het vergrootglas met 1 vinger"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Sleep met 1 vinger om te navigeren op het scherm."</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Verplaats je vergrotingsgebied door met 1 vinger te slepen."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Verplaats je vergrotingsgebied door met 2 vingers te slepen."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Niet beschikbaar als alleen een deel van het scherm wordt vergroot"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Zoomen door te tikken op een knop"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Zoom snel in op het scherm om content groter te maken"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Zo zoom je in:</b><br/> {0,number,integer}. Gebruik de snelkoppeling om de vergroting te starten.<br/> {1,number,integer}. Tik op het scherm.<br/> {2,number,integer}. Sleep met 2 vingers om te navigeren op het scherm.<br/> {3,number,integer}. Knijp met 2 vingers om het zoomniveau aan te passen.<br/> {4,number,integer}. Gebruik de snelkoppeling om de vergroting te stoppen.<br/><br/> <b>Zo zoom je tijdelijk in:</b><br/> {0,number,integer}. Zorg dat je vergrotingstype is ingesteld op volledig scherm.<br/> {1,number,integer}. Gebruik de snelkoppeling om de vergroting te starten.<br/> {2,number,integer}. Houd je vinger op het scherm.<br/> {3,number,integer}. Sleep met een vinger om te navigeren op het scherm.<br/> {4,number,integer}. Haal je vinger van het scherm om de vergroting te stoppen."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Zo zoom je in:</b><br/> {0,number,integer}. Gebruik de snelkoppeling om de vergroting te starten.<br/> {1,number,integer}. Tik op het scherm.<br/> {2,number,integer}. Sleep met 2 vingers om te navigeren op het scherm.<br/> {3,number,integer}. Knijp met 2 vingers om het zoomniveau aan te passen.<br/> {4,number,integer}. Gebruik de snelkoppeling om de vergroting te stoppen.<br/><br/> Je kunt ook tijdelijk inzoomen en meer."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Zo zoom je in:</b><br/> {0,number,integer}. Gebruik de snelkoppeling om de vergroting te starten.<br/> {1,number,integer}. Tik op het scherm.<br/> {2,number,integer}. Sleep 1 of 2 vingers om over het scherm te bewegen.<br/> {3,number,integer}. Knijp met 2 vingers om het zoomniveau aan te passen.<br/> {4,number,integer}. Gebruik de snelkoppeling om de vergroting te stoppen.<br/><br/> Je kunt ook tijdelijk inzoomen en meer."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Als vergroting aanstaat, kun je op je scherm het beeld vergroten.\n\n"<b>"Als je wilt inzoomen"</b>", start je de vergroting en tik je waar dan ook op het scherm.\n"<ul><li>"Veeg met 2 of meer vingers om te scrollen."</li>\n<li>"Knijp 2 of meer vingers samen om de zoom aan te passen."</li></ul>\n\n<b>"Als je tijdelijk wilt zoomen"</b>", start je de vergroting, waarna je ergens op het scherm tikt en vasthoudt.\n"<ul><li>"Sleep om een ander deel van het scherm weer te geven."</li>\n<li>"Haal je vinger van het scherm om uit te zoomen."</li></ul>\n\n"Je kunt niet inzoomen op het toetsenbord of de navigatiebalk."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Pagina <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> van <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Snelkoppeling met knop Toegankelijkheid"</string>
@@ -2193,7 +2231,7 @@
<string name="accessibility_button_description" msgid="7669538706120092399">"<b>Aan de slag</b><br/> {0,number,integer}. Ga naar de toegankelijkheidsinstellingen<br/> {1,number,integer}. Kies een functie en tik op de snelkoppeling<br/> {2,number,integer}. Kies de knop waarmee je de functie wilt openen<br/>"</string>
<string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Knop of gebaar gebruiken"</string>
<string name="accessibility_button_location_title" msgid="7182107846092304942">"Locatie"</string>
- <string name="accessibility_button_size_title" msgid="5785110470538960881">"Formaat"</string>
+ <string name="accessibility_button_size_title" msgid="5785110470538960881">"Grootte"</string>
<string name="accessibility_button_fade_title" msgid="8081993897680588829">"Vervagen indien niet in gebruik"</string>
<string name="accessibility_button_fade_summary" msgid="7865950833524973709">"Vervaagt na een paar seconden zodat je het scherm beter ziet"</string>
<string name="accessibility_button_opacity_title" msgid="4727355657530362289">"Transparantie indien niet in gebruik"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Krijg alleen meldingen van belangrijke mensen en apps"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Activeringstype selecteren"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Tijd"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Voorbeeld: \'9:30 – 17:00 uur\'"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Agenda"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Voorbeeld: \'Persoonlijke agenda\'"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Een modus maken"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Aangepast"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Onderbrekingen beperken"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Zet Niet storen aan."</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Wekkers en mediageluiden mogen onderbreken"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Schema\'s"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Schema\'s verwijderen"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Verwijderen"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Bewerken"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Schema\'s"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Schema"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Agenda toevoegen"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Je agenda gebruiken"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Schema"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Schema instellen"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Schema"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> u <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Automatisch aanzetten"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Schema"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Telefoongeluid uitzetten op bepaalde tijdstippen"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Regels voor \'Niet storen\' instellen"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Onderbrekingen toestaan die een geluid laten horen"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokkeer visuele onderbreking"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Visuele signalen toestaan"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Meldingen die je mogen storen"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Blijf gefocust"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Aanvullende acties"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Weergave-instellingen"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Weergaveopties"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"donker thema aanzetten"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"OS en apps wijzigen zodat de voorkeur wordt gegeven aan lichte tekst op een donkere achtergrond, wat prettiger voor de ogen kan zijn en op sommige apparaten een aanzienlijke batterijbesparing oplevert"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Geen weergavewijzigingen}=1{{effect_1}}=2{{effect_1} en {effect_2}}=3{{effect_1}, {effect_2} en {effect_3}}other{{effect_1}, {effect_2} en nog #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Onderbrekingen filteren"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Er worden geen onderbrekingen gefilterd"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Weergaveopties voor gefilterde meldingen"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Als Niet storen aanstaat"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Geen geluid van meldingen"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"melding openen"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Snoozen van meldingen toestaan"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Meldingsstipje op app-icoon"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Meldingsbundels"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Bubbels"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubbels"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Dit gesprek als bubbel tonen"</string>
@@ -3593,7 +3649,7 @@
<string name="nls_feature_read_title" msgid="7629713268744220437">"Je meldingen lezen"</string>
<string name="nls_feature_read_summary" msgid="1064698238110273593">"De app kan je meldingen lezen, waaronder persoonlijke informatie zoals contacten, berichten en foto\'s"</string>
<string name="nls_feature_reply_title" msgid="7925455553821362039">"Berichten beantwoorden"</string>
- <string name="nls_feature_reply_summary" msgid="4492543411395565556">"De app kan berichten beantwoorden, meldingen snoozen of sluiten en gesprekken beantwoorden."</string>
+ <string name="nls_feature_reply_summary" msgid="4492543411395565556">"De app kan berichten beantwoorden en acties uitvoeren voor knoppen in meldingen, waaronder meldingen snoozen of sluiten en gesprekken beantwoorden."</string>
<string name="nls_feature_settings_title" msgid="8208164329853194414">"Instellingen wijzigen"</string>
<string name="nls_feature_settings_summary" msgid="3770028705648985689">"De app kan Niet storen aan- of uitzetten en gerelateerde instellingen wijzigen"</string>
<string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Als je <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> geen toegang tot meldingen geeft, krijgt Niet storen mogelijk ook geen toegang."</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Categorieën"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Anders"</string>
<string name="no_channels" msgid="4716199078612071915">"Deze app heeft geen meldingen geplaatst"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Niet-gebruikte categorieën tonen"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Extra instellingen in de app"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Niet-gebruikte categorieën tonen"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Niet-gebruikte categorieën beperken"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Alles"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Apps toestaan dit te negeren"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps die je mogen storen"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Meer apps selecteren"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Wijzigen in alleen alarmen gedurende 1 uur tot {time}}other{Wijzigen in alleen alarmen gedurende # uur tot {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Wijzigen in \'Alleen wekkers\' tot <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Wijzigen in \'Altijd onderbreken\'"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Naam wijzigen"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Icoon wijzigen"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Icoon wijzigen"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Waarschuwing"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Sluiten"</string>
<string name="device_feedback" msgid="5351614458411688608">"Feedback sturen over dit apparaat"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Case"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batterij"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Instellingenvenster"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Desktopmodus afdwingen"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Dwing experimentele desktopmodus af op secundaire schermen"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Vensters met vrije vorm aanzetten"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Zet ondersteuning voor vensters met vrije vorm aan."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Vensters met vrije vorm aanzetten op 2e scherm"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Zet vensters met vrije vorm alleen aan op het secundaire scherm."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Apps met niet-aanpasbaar formaat aanzetten in meerdere vensters"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Dit staat apps met een niet-aanpasbaar formaat toe in meerdere vensters"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Gedwongen donker maken negeren"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"De gegevenspartitie van dit apparaat moet worden geconverteerd naar ext4 voordat je de 16 KB-ontwikkelaarsoptie kunt gebruiken. In deze modus kan de software-integriteit niet worden gegarandeerd. Ook kunnen alle gegevens die op de telefoon zijn opgeslagen terwijl de bootloader is ontgrendeld gevaar lopen. Als je de 16 KB-optie activeert, moet je het apparaat hierna nog een keer opnieuw opstarten. Zodra je in deze modus zit, kun met één keer opnieuw opstarten wisselen tussen de 4 KB- en 16 KB-modus. Sommige functies worden in deze modi uitgezet, dus sommige apps werken misschien niet. Als je het apparaat wilt terugzetten naar de productiemodus, moet je teruggaan naar de 4 KB-modus en daarna de bootloader vergrendelen. Hierdoor worden de fabrieksinstellingen teruggezet op het apparaat. Nadat het apparaat succesvol is opgestart in Android, zet je OEM-ontgrendeling uit in de Ontwikkelaarsopties. Het apparaat wordt gewist en het bestandssysteem wordt na bevestiging gewijzigd in ext4. Als dit is gebeurd, moet je terugkomen om 16 KB opnieuw aan te zetten."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Alle gegevens wissen"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Kan niet omzetten en de gegevenspartitie niet wissen naar ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Bootloader moet worden ontgrendeld voor 16 KB-modus"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Ontgrendeling van bootloader vereist"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"De bootloader moet op dit apparaat ontgrendeld zijn voordat je de 16 KB-ontwikkelaarsoptie kunt gebruiken. In deze modus kan de software-integriteit niet worden gegarandeerd en kunnen alle gegevens die op de telefoon zijn opgeslagen, terwijl de bootloader is ontgrendeld, gevaar lopen. Alle gebruikersgegevens en instellingen worden gewist als de 16 KB-modus wordt geactiveerd. Na het ontgrendelen van de bootloader moet je voor het activeren van de 16 KB-optie het apparaat 2 keer opnieuw opstarten. Zodra je in deze modus zit, kun je met één keer opnieuw opstarten wisselen tussen de 4 KB- en 16 KB-modus. Sommige functies worden in deze modi uitgezet, dus sommige apps werken misschien niet. Als je het apparaat wilt terugzetten naar de productiemodus, moet je teruggaan naar de 4 KB-modus en daarna OEM en de bootloader vergrendelen. Hierdoor worden de fabrieksinstellingen teruggezet op het apparaat. Ontgrendel de bootloader en probeer het opnieuw. Instructies hiervoor vind je op <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Niet-paginagebonden 4 KB-modus gebruiken"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Je zit in de 4 KB-modus van de niet-paginagebonden modus. In deze modus kan de software-integriteit niet worden gegarandeerd. Ook kunnen alle gegevens die op de telefoon zijn opgeslagen terwijl de bootloader is ontgrendeld gevaar lopen. Sommige functies worden in deze modi uitgezet, dus sommige apps werken misschien niet. Als je wilt terugkeren naar de productiemodus, moet je de bootloader van het apparaat vergrendelen. Tik om meer te lezen."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Je zit in de 4 KB-modus van de niet-paginagebonden modus. In deze modus kan de software-integriteit niet worden gegarandeerd. Ook kunnen alle gegevens die op de telefoon zijn opgeslagen terwijl de bootloader is ontgrendeld gevaar lopen. Sommige functies worden in deze modi uitgezet, dus sommige apps werken misschien niet. Als je wilt terugkeren naar de productiemodus, moet je de bootloader van het apparaat vergrendelen. Hierdoor worden de fabrieksinstellingen teruggezet en worden de productie-instellingen hersteld op het apparaat. Nadat het apparaat succesvol is opgestart in Android, zet je OEM-ontgrendeling uit in de Ontwikkelaarsopties. Als het apparaat niet opstart in Android of instabiel is, flash het apparaat dan opnieuw met de nieuwste fabrieksimages van <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> of gebruik <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> en selecteer Apparaat wissen, Bootloader vergrendelen en Alle partities geforceerd flashen."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Niet-paginagebonden modus van 16 KB gebruiken"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Je zit in de 16 KB-modus van de niet-paginagebonden modus. In deze modus kan de software-integriteit niet worden gegarandeerd. Ook kunnen alle gegevens die op de telefoon zijn opgeslagen terwijl de bootloader is ontgrendeld gevaar lopen. Sommige functies worden in deze modi uitgezet, dus sommige apps werken misschien niet. Als je wilt terugkeren naar de productiemodus, moet je teruggaan naar de 4 KB-modus en daarna de bootloader van het apparaat vergrendelen. Tik om meer te lezen."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Je zit in de 16 KB-modus van de niet-paginagebonden modus. In deze modus kan de software-integriteit niet worden gegarandeerd en kunnen alle gegevens die op de telefoon zijn opgeslagen terwijl de bootloader is ontgrendeld, gevaar lopen. Sommige functies worden in deze modi uitgezet, dus sommige apps werken misschien niet. Als je wilt terugkeren naar de productiemodus, moet je teruggaan naar de 4 KB-modus en daarna de bootloader van het apparaat vergrendelen. Hierdoor worden de fabrieksinstellingen teruggezet en worden de productie-instellingen hersteld op het apparaat. Nadat het apparaat succesvol is opgestart in Android, zet je OEM-ontgrendeling uit in de Ontwikkelaarsopties. Als het apparaat niet opstart in Android of instabiel is, flash het apparaat dan opnieuw met de nieuwste fabrieksimages van <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> of gebruik <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> en selecteer Apparaat wissen, Bootloader vergrendelen en Alle partities geforceerd flashen."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Je zit in de 16 KB-modus van de niet-paginagebonden modus. In deze modus kan de software-integriteit niet worden gegarandeerd en kunnen alle gegevens die op de telefoon zijn opgeslagen terwijl de bootloader is ontgrendeld, gevaar lopen. Sommige functies worden in deze modi uitgezet, dus sommige apps werken misschien niet. Als je wilt terugkeren naar de productiemodus, moet je teruggaan naar de 4 KB-modus en daarna de bootloader van het apparaat vergrendelen. Tik om meer te lezen."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Je zit in de 16 KB-modus van de niet-paginagebonden modus. In deze modus kan de software-integriteit niet worden gegarandeerd en kunnen alle gegevens die op de telefoon zijn opgeslagen terwijl de bootloader is ontgrendeld, gevaar lopen. Sommige functies worden in deze modi uitgezet, dus sommige apps werken misschien niet. Als je wilt terugkeren naar de productiemodus, moet je teruggaan naar de 4 KB-modus en daarna de bootloader van het apparaat vergrendelen. Hierdoor worden de fabrieksinstellingen teruggezet en worden de productie-instellingen hersteld op het apparaat. Nadat het apparaat succesvol is opgestart in Android, zet je OEM-ontgrendeling uit via Ontwikkelaarsopties. Als het apparaat niet opstart in Android of instabiel is, flash het apparaat dan opnieuw met de nieuwste fabrieksimages van <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> of gebruik <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> en selecteer Apparaat wissen, Bootloader vergrendelen en Alle partities geforceerd flashen."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Niet-paginagebonden 16 KB-modus"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Meer lezen"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"App voor verwerking bugrapport"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"App vastzetten gebruiken"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Ontwikkelaarsopties gebruiken"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Afdrukservice gebruiken"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Meerdere gebruikers toestaan"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"toestaan, meerdere, gebruiker, toestemming, veel"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"meerdere, gebruikers, profielen, personen, accounts, wisselen, veel"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Draadloze foutopsporing gebruiken"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Kies wat je op het scherm wilt zien wanneer de tablet is gedockt. Het apparaat gebruikt misschien meer energie als je een screensaver instelt."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Aanpassen"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> aanpassen"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Je moet opnieuw opstarten om ondersteuning voor vrije vorm aan te zetten."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Je moet opnieuw opstarten om de desktopmodus af te dwingen op secundaire schermen."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Opnieuw opstarten is vereist om ondersteuning voor verouderde vensters met vrije vorm aan te zetten."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Opnieuw opstarten is vereist om ondersteuning voor vensters met vrije vorm te wijzigen."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Opnieuw opstarten is vereist om vensters met vrije vorm aan te zetten op secundaire schermen."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Nu opnieuw opstarten"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Later opnieuw opstarten"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Ruimtelijke audio"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Luisteren naar stream"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Scan de QR-code van een audiostream om mee te luisteren met <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Kan wachtwoord niet bewerken tijdens het delen. Als je het wachtwoord wilt wijzigen, zet je audio delen eerst uit."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-or/arrays.xml b/res/values-or/arrays.xml
index 4900fcc..220f9ff 100644
--- a/res/values-or/arrays.xml
+++ b/res/values-or/arrays.xml
@@ -360,7 +360,7 @@
<item msgid="3605616699204153590">"ନାଭିଗେସନ୍ ବାର୍"</item>
</string-array>
<string-array name="accessibility_button_gesture_selector_titles">
- <item msgid="2370918472773154939">"ବଟନ୍"</item>
+ <item msgid="2370918472773154939">"ବଟନ"</item>
<item msgid="6922258575853746220">"ଜେଶ୍ଚର୍"</item>
</string-array>
<string-array name="accessibility_button_size_selector_titles">
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"ଶୋଇବା ସମୟ"</item>
+ <item msgid="4152450357280759894">"ଡ୍ରାଇଭିଂ"</item>
+ <item msgid="7096549258219399423">"ଇମର୍ସିଭ"</item>
+ <item msgid="2760716776980432977">"ପରିଚାଳିତ ହୋଇଛି"</item>
+ <item msgid="601734478369121764">"ଷ୍ଟାର"</item>
+ <item msgid="6243809315432780521">"କେଲେଣ୍ଡର"</item>
+ <item msgid="4913577903148415331">"ସମୟ"</item>
+ <item msgid="3653377604690057780">"ଥିଏଟର"</item>
+ <item msgid="3843711267408385410">"ଫୁଲ"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index f641842..6c1d74b 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"ହିଅରିଂ ଡିଭାଇସ ସେଟିଂସ"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"ସର୍ଟକଟ, ଶ୍ରବଣଯନ୍ତ୍ର ଉପଯୋଗୀ"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"ପ୍ରିସେଟ"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"ଅଡିଓଲୋଜିଷ୍ଟଙ୍କ ଦ୍ଵାରା ପ୍ରୋଗ୍ରାମ ହୋଇଥିବା କୌଣସି ପ୍ରିସେଟ ନାହିଁ"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"ପ୍ରିସେଟକୁ ଅପଡେଟ କରାଯାଇପାରିବ ନାହିଁ"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ଅଡିଓ ଆଉଟପୁଟ"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ଅଡିଓ ଆଉଟପୁଟ ବିଷୟରେ"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"ଫେସ ଏବଂ <xliff:g id="WATCH">%s</xliff:g> ଯୋଗ କରାଯାଇଛି"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"ଫେସ, ଟିପଚିହ୍ନ ଏବଂ <xliff:g id="WATCH">%s</xliff:g> ଯୋଗ କରାଯାଇଛି"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"ଫେସ, ଟିପଚିହ୍ନ ଏବଂ <xliff:g id="WATCH">%s</xliff:g> ଯୋଗ କରାଯାଇଛି"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"ପରିଚୟ ଯାଞ୍ଚକରଣ ଚାଲୁ ଥିବା ଯୋଗୁଁ ଏହା ଆବଶ୍ୟକ"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"ରିମୋଟ ଅଥେଣ୍ଟିକେଟର ଅନଲକ"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"ୱାଚ ଯୋଗ କରାଯାଇଛି"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"ଆପଣଙ୍କ ୱାଚ ସେଟ ଅପ କରନ୍ତୁ"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"ୱାଚ ଅନଲକ ବିଷୟରେ ଅଧିକ ଜାଣନ୍ତୁ"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"ୱାଚ ଯୋଗ କରନ୍ତୁ"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"ୱାଚକୁ କାଢ଼ି ଦିଅନ୍ତୁ"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଏବଂ ଫେସ ଅନଲକ"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ଫେସ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"ୱାର୍କ ପାଇଁ ଫେସ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ସେଟଅପ ଆବଶ୍ୟକ"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"ଚେହେରା ଏବଂ ଟିପଚିହ୍ନଗୁଡ଼ିକ ଯୋଗ କରାଯାଇଛି"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"ଆପ୍ସ ଇନଷ୍ଟଲ କରନ୍ତୁ"</b>\n"ଆପଣଙ୍କ ସ୍ପେସରେ ଆପଣ ପ୍ରାଇଭେଟ ରଖିବାକୁ ଚାହୁଁଥିବା ଆପ୍ସ ଇନଷ୍ଟଲ କରନ୍ତୁ"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"ମନେ ରଖନ୍ତୁ"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"ଆପଣଙ୍କ ସ୍ପେସକୁ ଆପଣ ଲକ କଲେ ଆପ୍ସ ବନ୍ଦ ହୋଇଯାଏ"</b>\n"ଆପଣଙ୍କର ସ୍ପେସକୁ ଆପଣ ଲକ କଲେ, ଆପଣଙ୍କ ସ୍ପେସରେ ଥିବା ଆପ୍ସ ବନ୍ଦ ହୋଇଯାଏ ଏବଂ ଆପଣ ସେଗୁଡ଼ିକଠାରୁ ବିଜ୍ଞପ୍ତି ପାଇବେ ନାହିଁ"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"ବେକଗ୍ରାଉଣ୍ଡରେ ଚାଲିବା କିମ୍ବା ମେଡିକାଲ ଆପ୍ସ ପରି ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ପଠାଇବା ଆବଶ୍ୟକ କରୁଥିବା ଆପ୍ସ ପାଇଁ ପ୍ରାଇଭେଟ ସ୍ପେସଗୁଡ଼ିକ ଉପଯୁକ୍ତ ନୁହେଁ। ଏହାର କାରଣ ହେଉଛି ଆପଣଙ୍କ ସ୍ପେସ ଲକ ହୋଇଥିବା ସମୟରେ ବିଜ୍ଞପ୍ତି ଏବଂ ବେକଗ୍ରାଉଣ୍ଡ କାର୍ଯ୍ୟକଳାପ ବନ୍ଦ ହୋଇଯାଏ।\n\nଆପଣଙ୍କର ପ୍ରାଇଭେଟ ସ୍ପେସ ଲକ ହୋଇଥିବା ସମୟରେ ଆପଣଙ୍କ ପ୍ରାଇଭେଟ ସ୍ପେସରେ ଥିବା ଆପ୍ସ ଅନୁମତି ପରିଚାଳକ, ଗୋପନୀୟତା ଡେସବୋର୍ଡ ଏବଂ ଅନ୍ୟ ସେଟିଂସରେ ଦେଖାଯିବ ନାହିଁ।\n\nଆପଣଙ୍କ ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଏକ ନୂଆ ଡିଭାଇସକୁ ମୁଭ କରାଯାଇପାରିବ ନାହିଁ। ଯଦି ଆପଣ ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଅନ୍ୟ ଏକ ଡିଭାଇସରେ ବ୍ୟବହାର କରିବାକୁ ଚାହାଁନ୍ତି ତେବେ ଆପଣଙ୍କୁ ଅନ୍ୟ ଏକ ପ୍ରାଇଭେଟ ସ୍ପେସ ସେଟ ଅପ କରିବାକୁ ହେବ।\n\nଆପଣଙ୍କ ଡିଭାଇସକୁ ଏକ କମ୍ପ୍ୟୁଟର ସହ କନେକ୍ଟ କରୁଥିବା କିମ୍ବା ଆପଣଙ୍କ ଡିଭାଇସରେ କ୍ଷତିକାରକ ଆପ୍ସ ଇନଷ୍ଟଲ କରୁଥିବା ଯେ କୌଣସି ବ୍ୟକ୍ତି ଆପଣଙ୍କର ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଆକ୍ସେସ କରିବା ପାଇଁ ସକ୍ଷମ ହୋଇପାରନ୍ତି।"</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"ବେକଗ୍ରାଉଣ୍ଡରେ ଚାଲିବା କିମ୍ବା ମେଡିକାଲ ଆପ୍ସ ପରି ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ପଠାଇବା ଆବଶ୍ୟକ କରୁଥିବା ଆପ୍ସ ପାଇଁ ପ୍ରାଇଭେଟ ସ୍ପେସଗୁଡ଼ିକ ଉପଯୁକ୍ତ ନୁହେଁ। ଏହାର କାରଣ ହେଉଛି ଆପଣଙ୍କ ସ୍ପେସ ଲକ ହୋଇଥିବା ସମୟରେ ବିଜ୍ଞପ୍ତି ଏବଂ ବେକଗ୍ରାଉଣ୍ଡ କାର୍ଯ୍ୟକଳାପ ବନ୍ଦ ହୋଇଯାଏ।\n\nପ୍ରାଇଭେଟ ସ୍ପେସ ଲକ ହୋଇଥିବା ସମୟରେ ଆପଣଙ୍କ ପ୍ରାଇଭେଟ ସ୍ପେସରେ ଥିବା ଆପ୍ସ ଅନୁମତି ପରିଚାଳକ, ଗୋପନୀୟତା ଡେସବୋର୍ଡ ଏବଂ ଅନ୍ୟ ସେଟିଂସରେ ଦେଖାଯିବ ନାହିଁ।\n\nଆପଣଙ୍କ ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଏକ ନୂଆ ଡିଭାଇସରେ ରିଷ୍ଟୋର କରାଯାଇପାରିବ ନାହିଁ। ଯଦି ଆପଣ ଏହାକୁ ଅନ୍ୟ ଏକ ଡିଭାଇସରେ ବ୍ୟବହାର କରିବାକୁ ଚାହାଁନ୍ତି ତେବେ ଆପଣଙ୍କୁ ଅନ୍ୟ ଏକ ସ୍ପେସ ସେଟ ଅପ କରିବାକୁ ହେବ।\n\nଆପଣଙ୍କ ଡିଭାଇସକୁ ଏକ କମ୍ପ୍ୟୁଟରରେ କନେକ୍ଟ କରୁଥିବା କିମ୍ବା ଆପଣଙ୍କ ଡିଭାଇସରେ କ୍ଷତିକାରକ ଆପ୍ସ ଇନଷ୍ଟଲ କରୁଥିବା ଯେ କୌଣସି ବ୍ୟକ୍ତି ଆପଣଙ୍କର ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଆକ୍ସେସ କରିବାକୁ ସକ୍ଷମ ହୋଇପାରନ୍ତି।"</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"ପ୍ରାଇଭେଟ ସ୍ପେସ ବିଷୟରେ ଅଧିକ ଜାଣନ୍ତୁ"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"ଏଥିପାଇଁ କିଛି ସମୟ ଲାଗିବ"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"ପ୍ରାଇଭେଟ ସ୍ପେସ ସେଟ ଅପ କରାଯାଉଛି…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"ଡିଭାଇସକୁ ରିଷ୍ଟାର୍ଟ କରିବେ?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"ସବିଶେଷ NFC ଲଗିଂ କେବଳ ଉନ୍ନତି ପାଇଁ ଉଦ୍ଦିଷ୍ଟ। ବଗ ରିପୋର୍ଟରେ ଅତିରିକ୍ତ NFC ଡାଟା ଅନ୍ତର୍ଭୁକ୍ତ କରାଯାଏ, ଯେଉଁଥିରେ ବ୍ୟକ୍ତିଗତ ସୂଚନା ଥାଇପାରେ। ଏହି ସେଟିଂକୁ ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ ଆପଣଙ୍କ ଡିଭାଇସକୁ ରିଷ୍ଟାର୍ଟ କରନ୍ତୁ।"</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"ରିଷ୍ଟାର୍ଟ କରନ୍ତୁ"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"କାଷ୍ଟ"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"ମିରର୍"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"ୱେୟାରଲେସ୍ ପ୍ରଦର୍ଶନ ସକ୍ଷମ କରନ୍ତୁ"</string>
@@ -1191,8 +1221,9 @@
<string name="color_mode_option_saturated" msgid="3413853820158447300">"ସାଚୁରେଟେଡ୍"</string>
<string name="color_mode_option_automatic" msgid="2281217686509980870">"ଆଡେପ୍ଟିଭ"</string>
<string name="brightness" msgid="6216871641021779698">"ଉଜ୍ଜ୍ୱଳତା ସ୍ତର"</string>
- <string name="auto_brightness_title" msgid="4239324728760986697">"ଆଡେପ୍ଟିଭ୍ ଉଜ୍ଜ୍ୱଳତା"</string>
- <string name="auto_brightness_description" msgid="6807117118142381193">"ଆପଣଙ୍କ ସ୍କ୍ରିନର ଉଜ୍ଜ୍ଵଳତା ଆପଣଙ୍କ ପରିବେଶ ଓ କାର୍ଯ୍ୟକଳାପ ଅନୁସାରେ ସ୍ୱତଃ ଆଡଜଷ୍ଟ ହେବ। ଆପଣ ସ୍ଲାଇଡର୍କୁ ହାତରେ ଘୁଞ୍ଚାଇ ଆଡେପ୍ଟିଭ୍ ଉଜ୍ଜ୍ୱଳତାକୁ ଆପଣଙ୍କ ପସନ୍ଦଗୁଡ଼ିକ ଜାଣିବାରେ ସାହାଯ୍ୟ କରିପାରିବେ।"</string>
+ <string name="auto_brightness_title" msgid="4239324728760986697">"ଆଡେପ୍ଟିଭ ଉଜ୍ଜ୍ୱଳତା"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"ଆଡେପ୍ଟିଭ ଉଜ୍ଜ୍ୱଳତା ବିଷୟରେ"</string>
+ <string name="auto_brightness_description" msgid="6807117118142381193">"ଆପଣଙ୍କ ସ୍କ୍ରିନର ଉଜ୍ଜ୍ଵଳତା ଆପଣଙ୍କ ପରିବେଶ ଓ କାର୍ଯ୍ୟକଳାପ ଅନୁସାରେ ସ୍ୱତଃ ଆଡଜଷ୍ଟ ହେବ। ଆପଣ ସ୍ଲାଇଡରକୁ ମାନୁଆଲି ମୁଭ କରି ଆଡେପ୍ଟିଭ ଉଜ୍ଜ୍ୱଳତାକୁ ଆପଣଙ୍କ ପସନ୍ଦଗୁଡ଼ିକ ଜାଣିବାରେ ସାହାଯ୍ୟ କରିପାରିବେ।"</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"ଚାଲୁ"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"ବନ୍ଦ"</string>
<string name="display_white_balance_title" msgid="2624544323029364713">"ହ୍ବାଇଟ୍ ବ୍ୟାଲେନ୍ସ ପ୍ରଦର୍ଶନ କରନ୍ତୁ"</string>
@@ -1247,7 +1278,7 @@
<string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"କଷ୍ଟମ୍ ସମୟରେ ଚାଲୁ ହୁଏ"</string>
<string name="dark_ui_auto_mode_custom_bedtime" msgid="8465023741946439266">"ଶୋଇବା ସମୟରେ ଚାଲୁ ହୁଏ"</string>
<string name="dark_ui_status_title" msgid="3505119141437774329">"ସ୍ଥିତି"</string>
- <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"କେବେ ବି ସ୍ୱଚାଳିତ ଭାବେ ଚାଲୁ ହେବ ନାହିଁ"</string>
+ <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"କେବେ ବି ସ୍ୱତଃ ଚାଲୁ ହେବ ନାହିଁ"</string>
<string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"ସନ୍ଧ୍ୟାରେ ସ୍ୱଚାଳିତ ଭାବେ ଚାଲୁ ହେବ"</string>
<string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"<xliff:g id="ID_1">%1$s</xliff:g>ରେ ସ୍ୱଚାଳିତ ଭାବେ ଚାଲୁ ହେବ"</string>
<string name="dark_ui_summary_off_auto_mode_custom_bedtime" msgid="7759826673214624622">"ଶୋଇବା ସମୟରେ ସ୍ୱଚାଳିତ ଭାବେ ଚାଲୁ ହେବ"</string>
@@ -1271,7 +1302,7 @@
<string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"ଏଥିରୁ ୱାଲ୍ପେପର୍ ବାଛନ୍ତୁ"</string>
<string name="style_suggestion_title" msgid="1213747484782364775">"ଆପଣଙ୍କର ଫୋନ୍ କଷ୍ଟମାଇଜ୍ କରନ୍ତୁ"</string>
<string name="style_suggestion_summary" msgid="4271131877800968159">"ବିଭିନ୍ନ ଷ୍ଟାଇଲ୍, ୱାଲ୍ପେପର୍ ଏବଂ ଆହୁରି ଅନେକ କିଛି ବ୍ୟବହାର କରି ଦେଖନ୍ତୁ"</string>
- <string name="screensaver_settings_title" msgid="3588535639672365395">"ସ୍କ୍ରିନ୍ ସେଭର୍"</string>
+ <string name="screensaver_settings_title" msgid="3588535639672365395">"ସ୍କ୍ରିନ ସେଭର"</string>
<string name="keywords_screensaver" msgid="7249337959432229172">"ସ୍କ୍ରିନସେଭର"</string>
<string name="screensaver_settings_when_to_dream_bedtime" msgid="3279310576803094771">"ଶୋଇବା ସମୟ ମୋଡ ଚାଲୁ ଥିବା ଯୋଗୁଁ ଉପଲବ୍ଧ ନାହିଁ"</string>
<string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"ସ୍କ୍ରିନ ସେଭର ବ୍ୟବହାର କରନ୍ତୁ"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"ବିକଳ୍ପଗୁଡ଼ିକ"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"ଆକ୍ସେସିବିଲିଟୀ"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"ଫିଜିକାଲ୍ କୀବୋର୍ଡ"</string>
- <string name="show_ime" msgid="4334255501724746849">"ଅନ୍-ସ୍କ୍ରିନ୍ କୀବୋର୍ଡ ବ୍ୟବହାର କରନ୍ତୁ"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"ଫିଜିକାଲ୍ କୀବୋର୍ଡ ସକ୍ରିୟ ଥିବାବେଳେ ଏହାକୁ ସ୍କ୍ରିନ୍ ଉପରେ ରଖନ୍ତୁ"</string>
<string name="bounce_keys" msgid="7419450970351743904">"ବାଉନ୍ସ କୀଗୁଡ଼ିକ"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"କୀବୋର୍ଡ <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms ମଧ୍ୟରେ ସମାନ କୀ ଶୀଘ୍ର ବାରମ୍ବାର ଦବାଇବାକୁ ଅଣଦେଖା କରେ"</string>
<string name="slow_keys" msgid="2891452895499690837">"ଶ୍ଲୋ କୀଗୁଡ଼ିକ"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"ୟୁଜର ଚୟନିତ: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"ସ୍ପିଚ"</string>
<string name="pointer_speed" msgid="7398649279282675718">"ପଏଣ୍ଟର୍ର ବେଗ"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"ଗେମ କଣ୍ଟ୍ରୋଲର"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"ଭାଇବ୍ରେଶନ୍ ରିଡାଇରେକ୍ଟ କରନ୍ତୁ"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"ସଂଯୋଗ ହୋଇଥିବା ବେଳେ ଗେମ୍ କଣ୍ଟ୍ରୋଲର୍ରେ ଭାଇବ୍ରେଶନ୍ କରନ୍ତୁ"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"ଯେ କୌଣସି ମତେ ଜାରି ରଖନ୍ତୁ"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"ବାତିଲ କର"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"ମାଗ୍ନିଫିକେସନ ସେଟିଂସ"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"ଗୋଟିଏ ଆଙ୍ଗୁଠିରେ ପେନିଂ"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"1 ଆଙ୍ଗୁଠିରେ ମେଗ୍ନିଫାୟାରକୁ ମୁଭ କରନ୍ତୁ"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"ସ୍କ୍ରିନରେ ଚାରିଆଡ଼େ ମୁଭ କରିବାକୁ 1 ଆଙ୍ଗୁଠିରେ ଡ୍ରାଗ କରନ୍ତୁ"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"ଗୋଟିଏ ଆଙ୍ଗୁଠିକୁ ଟାଣି ମ୍ୟାଗ୍ନିଫିକେସନ ଏରିଆକୁ ମୁଭ କରନ୍ତୁ।"</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"ଦୁଇ ଆଙ୍ଗୁଠିକୁ ଟାଣି ମ୍ୟାଗ୍ନିଫିକେସନ ଏରିଆକୁ ମୁଭ କରନ୍ତୁ।"</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"ସ୍କ୍ରିନର କେବଳ କିଛି ଅଂଶ ମେଗ୍ନିଫାଏ କରାଯିବା ସମୟରେ ଉପଲବ୍ଧ ନାହିଁ"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ଜୁମ୍ କରିବା ପାଇଁ ଗୋଟିଏ ବଟନ୍ ଉପରେ ଟାପ୍ କରନ୍ତୁ"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"ବିଷୟବସ୍ତୁକୁ ଆହୁରି ବଡ଼ କରିବା ପାଇଁ ସ୍କ୍ରିନରେ ଶୀଘ୍ର ଜୁମ ଇନ କରନ୍ତୁ"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>ଜୁମ ଇନ କରିବାକୁ:</b><br/> {0,number,integer}. ମ୍ୟାଗ୍ନିଫିକେସନ ଆରମ୍ଭ କରିବାକୁ ସର୍ଟକଟ ବ୍ୟବହାର କରନ୍ତୁ<br/> {1,number,integer}. ସ୍କ୍ରିନରେ ଟାପ କରନ୍ତୁ<br/> {2,number,integer}. ସ୍କ୍ରିନର ଚାରିପଟେ ମୁଭ କରିବାକୁ 2ଟି ଆଙ୍ଗୁଠିରେ ଡ୍ରାଗ କରନ୍ତୁ<br/> {3,number,integer}. ଜୁମ ଆଡଜଷ୍ଟ କରିବାକୁ 2ଟି ଆଙ୍ଗୁଠିରେ ପିଞ୍ଚ କରନ୍ତୁ<br/> {4,number,integer}. ମ୍ୟାଗ୍ନିଫିକେସନ ବନ୍ଦ କରିବାକୁ ସର୍ଟକଟ ବ୍ୟବହାର କରନ୍ତୁ<br/><br/> <b>ଅସ୍ଥାୟୀ ଭାବେ ଜୁମ ଇନ କରିବାକୁ:</b><br/> {0,number,integer}. ଆପଣଙ୍କ ମ୍ୟାଗ୍ନିଫିକେସନ ପ୍ରକାର ପୂର୍ଣ୍ଣ ସ୍କ୍ରିନରେ ସେଟ ହୋଇଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ<br/> {1,number,integer}. ମ୍ୟାଗ୍ନିଫିକେସନ ଆରମ୍ଭ କରିବାକୁ ସର୍ଟକଟ ବ୍ୟବହାର କରନ୍ତୁ<br/> {2,number,integer}. ସ୍କ୍ରିନରେ ଯେ କୌଣସି ସ୍ଥାନରେ ସ୍ପର୍ଶ କରି ଧରି ରଖନ୍ତୁ<br/> {3,number,integer}. ସ୍କ୍ରିନର ଚାରିପଟେ ମୁଭ କରିବାକୁ ଆଙ୍ଗୁଠିରେ ଡ୍ରାଗ କରନ୍ତୁ<br/> {4,number,integer}. ମ୍ୟାଗ୍ନିଫିକେସନ ବନ୍ଦ କରିବା ପାଇଁ ଆଙ୍ଗୁଠିକୁ ଉଠାନ୍ତୁ"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>ଜୁମ ଇନ କରିବାକୁ:</b><br/> {0,number,integer}. ମେଗ୍ନିଫିକେସନ ଆରମ୍ଭ କରିବାକୁ ସର୍ଟକଟ ବ୍ୟବହାର କରନ୍ତୁ<br/> {1,number,integer}. ସ୍କ୍ରିନରେ ଟାପ କରନ୍ତୁ<br/> {2,number,integer}. ସ୍କ୍ରିନରେ ଚାରିଆଡ଼େ ମୁଭ କରିବାକୁ 2 ଆଙ୍ଗୁଠିରେ ଡ୍ରାଗ କରନ୍ତୁ<br/> {3,number,integer}. ଜୁମ ଆଡଜଷ୍ଟ କରିବାକୁ 2 ଆଙ୍ଗୁଠିରେ ପିଞ୍ଚ କରନ୍ତୁ<br/> {4,number,integer}. ମେଗ୍ନିଫିକେସନ ବନ୍ଦ କରିବା ପାଇଁ ସର୍ଟକଟକୁ ବ୍ୟବହାର କରନ୍ତୁ<br/><br/> ଆପଣ ଅସ୍ଥାୟୀ ଭାବେ ଏବଂ ଅଧିକ ଜୁମ ଇନ ମଧ୍ୟ କରିପାରିବେ।"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>ଜୁମ ଇନ କରିବାକୁ:</b><br/> {0,number,integer}. ମେଗ୍ନିଫିକେସନ ଆରମ୍ଭ କରିବାକୁ ସର୍ଟକଟ ବ୍ୟବହାର କରନ୍ତୁ<br/> {1,number,integer}. ସ୍କ୍ରିନରେ ଟାପ କରନ୍ତୁ<br/> {2,number,integer}. ସ୍କ୍ରିନରେ ଚାରିଆଡ଼େ ମୁଭ କରିବାକୁ 1 କିମ୍ବା 2 ଆଙ୍ଗୁଠିରେ ଡ୍ରାଗ କରନ୍ତୁ<br/> {3,number,integer}. ଜୁମ ଆଡଜଷ୍ଟ କରିବାକୁ 2 ଆଙ୍ଗୁଠିରେ ପିଞ୍ଚ କରନ୍ତୁ<br/> {4,number,integer}. ମେଗ୍ନିଫିକେସନ ବନ୍ଦ କରିବା ପାଇଁ ସର୍ଟକଟକୁ ବ୍ୟବହାର କରନ୍ତୁ<br/><br/> ଆପଣ ଅସ୍ଥାୟୀ ଭାବେ ଏବଂ ଅଧିକ ଜୁମ ଇନ ମଧ୍ୟ କରିପାରିବେ।"</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"ମ୍ୟାଗ୍ନିଫିକେସନ୍ ଚାଲୁଥିବା ସମୟରେ, ଆପଣଙ୍କ ସ୍କ୍ରିନ୍ର ଜୁମ୍ ବଢ଼ାଇ ପାରିବେ।\n\n"<b>"ଜୁମ୍ କରିବାକୁ"</b>", ମ୍ୟାଗ୍ନିଫିକେସନ୍ ଆରମ୍ଭ କରନ୍ତୁ, ତା’ପରେ ସ୍କ୍ରିନ୍ର ଯେ କୌଣସି ସ୍ଥାନରେ ଟାପ୍ କରନ୍ତୁ।\n"<ul><li>"ସ୍କ୍ରୋଲ୍ କରିବାକୁ 2 ବା ଅଧିକ ଆଙ୍ଗୁଠିରେ ଟାଣନ୍ତୁ"</li>\n<li>"ଜୁମ୍ ଆଡ୍ଜଷ୍ଟ କରିବାକୁ 2 ବା ଅଧିକ ଆଙ୍ଗୁଠିରେ ପିଞ୍ଚ୍ କରନ୍ତୁ"</li></ul>\n\n<b>"ଅସ୍ଥାୟୀ ଭାବେ ଜୁମ୍ କରିବାକୁ"</b>", ମ୍ୟାଗ୍ନିଫିକେସନ୍ ଆରମ୍ଭ କରନ୍ତୁ, ତା’ପରେ ସ୍କ୍ରିନ୍ର ଯେ କୌଣସି ସ୍ଥାନରେ ସ୍ପର୍ଶ କରି ଧରି ରଖନ୍ତୁ।\n"<ul><li>"ସ୍କ୍ରିନ୍ର ଚାରିପଟରେ ଘୁଞ୍ଚାଇବାକୁ ଟାଣନ୍ତୁ"</li>\n<li>"ଜୁମ୍ କମାଇବାକୁ ଆଙ୍ଗୁଠି ବାହାର କରି ଦିଅନ୍ତୁ"</li></ul>\n\n"ଆପଣ କୀବୋର୍ଡ ବା ନେଭିଗେସନ୍ ବାର୍ ଉପରେ ଜୁମ୍ ବଢ଼ାଇ ପାରିବେ ନାହିଁ।"</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g> ମଧ୍ୟରୁ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> ପୃଷ୍ଠା"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ ସର୍ଟକଟ"</string>
@@ -2182,7 +2220,7 @@
<string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"ଲକ୍ ସ୍କ୍ରିନରୁ ସର୍ଟକଟ୍"</string>
<string name="accessibility_shortcut_description" msgid="2184693606202133549">"ଲକ୍ ସ୍କ୍ରିନରୁ ଫିଚର୍ ସର୍ଟକଟ୍ ଚାଲୁ କରିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ। କିଛି ସେକେଣ୍ଡ ପାଇଁ ଉଭୟ ଭଲ୍ୟୁମ୍ କୀ’କୁ ଧରି ରଖନ୍ତୁ।"</string>
<string name="accessibility_button_title" msgid="5251235485581552614">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ"</string>
- <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍ ଏବଂ ଜେଶ୍ଚର୍"</string>
+ <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ ଏବଂ ଜେଶ୍ଚର"</string>
<string name="accessibility_button_intro_text" msgid="80993874471745687">"ଯେ କୌଣସି ସ୍କ୍ରିନରୁ ଆକ୍ସେସିବିଲିଟୀ ଫିଚରଗୁଡ଼ିକୁ ଶୀଘ୍ର ଆକ୍ସେସ କରନ୍ତୁ"</string>
<string name="accessibility_button_about_title" msgid="3581116105084067926">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍ ବିଷୟରେ"</string>
<string name="accessibility_button_gesture_about_title" msgid="8468987303602865536">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍ ଏବଂ ଜେଶ୍ଚର୍ ବିଷୟରେ"</string>
@@ -2191,7 +2229,7 @@
<string name="accessibility_button_summary" msgid="8510939012631455831">"ଆକ୍ସେସିବିଲିଟୀ ଫିଚରକୁ ଶୀଘ୍ର ଆକ୍ସେସ୍ କରନ୍ତୁ"</string>
<string name="accessibility_button_gesture_description" msgid="1141723096904904336">"<b>ଆରମ୍ଭ କରିବାକୁ</b><br/> {0,number,integer}। ଆକ୍ସେସିବିଲିଟୀ ସେଟିଂସକୁ ଯାଆନ୍ତୁ<br/> {1,number,integer}। ଏକ ଫିଚର ଚୟନ କରି ସର୍ଟକଟରେ ଟାପ କରନ୍ତୁ<br/> {2,number,integer}। ଫିଚରକୁ ଆକ୍ସେସ କରିବା ପାଇଁ ଆପଣ ଏକ ବଟନ କିମ୍ବା ଜେଶ୍ଚର ବ୍ୟବହାର କରିବାକୁ ଚାହାଁନ୍ତି ନା ନାହିଁ ତାହା ବାଛନ୍ତୁ<br/>"</string>
<string name="accessibility_button_description" msgid="7669538706120092399">"<b>ଆରମ୍ଭ କରିବାକୁ</b><br/> {0,number,integer}। ଆକ୍ସେସିବିଲିଟୀ ସେଟିଂସକୁ ଯାଆନ୍ତୁ<br/> {1,number,integer}। ଏକ ଫିଚର ଚୟନ କରି ସର୍ଟକଟରେ ଟାପ କରନ୍ତୁ<br/> {2,number,integer}। ଫିଚରକୁ ଆକ୍ସେସ କରିବା ପାଇଁ ବଟନ ବାଛନ୍ତୁ<br/>"</string>
- <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"ବଟନ୍ କିମ୍ବା ଜେଶ୍ଚର୍ ବ୍ୟବହାର କରନ୍ତୁ"</string>
+ <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"ବଟନ କିମ୍ବା ଜେଶ୍ଚର ବ୍ୟବହାର କରନ୍ତୁ"</string>
<string name="accessibility_button_location_title" msgid="7182107846092304942">"ଲୋକେସନ"</string>
<string name="accessibility_button_size_title" msgid="5785110470538960881">"ଆକାର"</string>
<string name="accessibility_button_fade_title" msgid="8081993897680588829">"ବ୍ୟବହାରରେ ନଥିବା ବେଳେ ଫିକା ଦେଖାଯାଏ"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"କେବଳ ଗୁରୁତ୍ଵପୂର୍ଣ୍ଣ ଲୋକ ଏବଂ ଆପ୍ସ ଦ୍ୱାରା ସୂଚନା ପାଆନ୍ତୁ"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"ସକ୍ରିୟକରଣ ପ୍ରକାର ଚୟନ କରନ୍ତୁ"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"ସମୟ"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"ଉଦାହରଣ \"9:30 – 5:00 PM\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"କେଲେଣ୍ଡର"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"ଉଦାହରଣ \"ବ୍ୟକ୍ତିଗତ କେଲେଣ୍ଡର\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"ଏକ ମୋଡ ତିଆରି କରନ୍ତୁ"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"କଷ୍ଟମ"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"ବ୍ୟାଘାତଗୁଡ଼ିକୁ ସୀମିତ କରନ୍ତୁ"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\"ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ\" ଅନ୍ କରନ୍ତୁ"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"ଆଲାରାମ୍ ଏବଂ ମିଡିଆ ସାଉଣ୍ଡ ବାଧା ଦେଇପାରେ"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"ସିଡୁଲ୍"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"ସିଡୁଲ୍ ଡିଲିଟ୍ କରନ୍ତୁ"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"ଡିଲିଟ୍ କରନ୍ତୁ"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"ଏଡିଟ"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"ସିଡୁଲ୍"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"ସିଡୁଲ୍"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"ଏକ କେଲେଣ୍ଡର ଯୋଗ କରନ୍ତୁ"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"ଆପଣଙ୍କ କେଲେଣ୍ଡରକୁ ବ୍ୟବହାର କରନ୍ତୁ"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"ସିଡୁଲ"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"ଏକ ସିଡୁଲ ସେଟ କରନ୍ତୁ"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"ସିଡୁଲ"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ଘଣ୍ଟା, <xliff:g id="MINUTES">%2$d</xliff:g> ମିନିଟ"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"ସ୍ୱତଃ ଚାଲୁ କରନ୍ତୁ"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"ସିଡୁଲ୍"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"ନିର୍ଦ୍ଦିଷ୍ଟ ସମୟରେ ଫୋନ୍କୁ ନିରବ କରନ୍ତୁ"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"\"ବିରକ୍ତ କରନ୍ତୁ ନାହିଂ\" ନିୟମ ସେଟ୍ କରନ୍ତୁ"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"ବାଧାଗୁଡ଼ିକୁ ଅନୁମତି ଦିଅନ୍ତୁ ଯାହା ଶବ୍ଦ କରେ"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"ଭିଜୁଆଲ୍ ବାଧା ଅବରୋଧ କରନ୍ତୁ"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"ଭିଜୁଆଲ୍ ସଙ୍କେତ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"ଆପଣଙ୍କ ପାଖରେ ପହଞ୍ଚିପାରିବା ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"ଫୋକସ କରନ୍ତୁ"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"ଅତିରିକ୍ତ ପଦକ୍ଷେପ"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"ଡିସପ୍ଲେ ସେଟିଂସ"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"ଡିସପ୍ଲେ ବିକଳ୍ପଗୁଡ଼ିକ"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ଡାର୍କ ଥିମକୁ ସକ୍ଷମ କରନ୍ତୁ"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"ଆଖି ପାଇଁ ଆରାମଦାୟକ ଏବଂ କିଛି ଡିଭାଇସରେ ଉଲ୍ଲେଖନୀୟ ବେଟେରୀ ସେଭ କରୁଥିବା ଡାର୍କ ବେକଗ୍ରାଉଣ୍ଡରେ ଲାଇଟ ଟେକ୍ସଟ ପସନ୍ଦ କରିବାକୁ OS ଏବଂ ଆପ୍ସ ସୁଇଚ କରନ୍ତୁ"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ଡିସପ୍ଲେରେ କୌଣସି ପରିବର୍ତ୍ତନ ନାହିଁ}=1{{effect_1}}=2{{effect_1} ଏବଂ {effect_2}}=3{{effect_1}, {effect_2} ଏବଂ {effect_3}}other{{effect_1}, {effect_2} ଏବଂ # ଅଧିକ}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"ବାଧାଗୁଡ଼ିକୁ ଫିଲ୍ଟର କରନ୍ତୁ"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"କୌଣସି ବାଧା ଫିଲ୍ଟର ହୋଇନାହିଁ"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ଫିଲ୍ଟର କରାଯାଇଥିବା ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ପାଇଁ ଡିସପ୍ଲେ ବିକଳ୍ପ"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"\'ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ\' ଚାଲୁ ଥିବା ସମୟରେ"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"ବିଜ୍ଞପ୍ତି ଆସିଲେ କୌଣସି ସାଉଣ୍ଡ ନାହିଁ"</string>
@@ -3486,6 +3541,8 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"ବିଜ୍ଞପ୍ତି ଖୋଲନ୍ତୁ"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"ବିଜ୍ଞପ୍ତି ସ୍ନୁଜ କରିବା ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"ଆପ ଆଇକନରେ ବିଜ୍ଞପ୍ତି ଡଟ"</string>
+ <!-- no translation found for notification_bundles (3614044525822580826) -->
+ <skip />
<string name="notification_bubbles_title" msgid="5681506665322329301">"ବବଲ୍ଗୁଡ଼ିକ"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ବବଲ୍ଗୁଡ଼ିକ"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"ଏହି ବାର୍ତ୍ତାଳାପକୁ ବବଲ କରନ୍ତୁ"</string>
@@ -3667,6 +3724,7 @@
<string name="notification_channels" msgid="1502969522886493799">"ବର୍ଗ"</string>
<string name="notification_channels_other" msgid="18159805343647908">"ଅନ୍ୟ"</string>
<string name="no_channels" msgid="4716199078612071915">"ଏହି ଆପଟି କୌଣସି ବିଜ୍ଞପ୍ତି ପୋଷ୍ଟ୍ କରିନାହିଁ"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"ଅବ୍ୟବହୃତ ବର୍ଗଗୁଡ଼ିକ ଦେଖାନ୍ତୁ"</string>
<string name="app_settings_link" msgid="6725453466705333311">"ଆପର ଅତିରିକ୍ତ ସେଟିଂସ"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"ଅବ୍ୟବହୃତ ବର୍ଗଗୁଡ଼ିକ ଦେଖାନ୍ତୁ"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"ଅବ୍ୟବହୃତ ବର୍ଗଗୁଡ଼ିକ ଲୁଚାନ୍ତୁ"</string>
@@ -3778,6 +3836,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ସମସ୍ତ"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ନିଷ୍କ୍ରିୟ କରିବାକୁ ଆପ୍ସକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ବାଧା ସୃଷ୍ଟି କରିପାରୁଥିବା ଆପଗୁଡ଼ିକ"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"ଅଧିକ ଆପ୍ ଚୟନ କରନ୍ତୁ"</string>
@@ -3814,12 +3874,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} ପର୍ଯ୍ୟନ୍ତ କେବଳ ଏକ ଘଣ୍ଟା ପାଇଁ ଆଲାରାମରେ ପରିବର୍ତ୍ତନ କରନ୍ତୁ}other{{time} ପର୍ଯ୍ୟନ୍ତ କେବଳ # ଘଣ୍ଟା ପାଇଁ ଆଲାରାମରେ ପରିବର୍ତ୍ତନ କରନ୍ତୁ}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> ପର୍ଯ୍ୟନ୍ତ କେବଳ ଆଲାର୍ମଗୁଡିକ ପରିବର୍ତ୍ତନ କରନ୍ତୁ"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"ସର୍ବଦା ବାଧାକୁ ବଦଳାନ୍ତୁ"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"ରିନେମ କରନ୍ତୁ"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"ଆଇକନ ବଦଳାନ୍ତୁ"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"ଆଇକନ ବଦଳାନ୍ତୁ"</string>
<string name="warning_button_text" msgid="1274234338874005639">"ଚେତାବନୀ"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"ବନ୍ଦ କରନ୍ତୁ"</string>
<string name="device_feedback" msgid="5351614458411688608">"ଏହି ଡିଭାଇସ ବିଷୟରେ ମତାମତ ପଠାନ୍ତୁ"</string>
@@ -4260,7 +4317,7 @@
<string name="bluetooth_connected_summary" msgid="8043167194934315712">"<xliff:g id="ID_1">%1$s</xliff:g>କୁ ସଂଯୁକ୍ତ ହେଲା"</string>
<string name="bluetooth_connected_multiple_devices_summary" msgid="2294954614327771844">"ଏକାଧିକ ଡିଭାଇସ୍ରେ ସଂଯୁକ୍ତ"</string>
<string name="demo_mode" msgid="6566167465451386728">"ସିଷ୍ଟମ୍ UI ଡେମୋ ମୋଡ୍"</string>
- <string name="dark_ui_mode" msgid="898146394425795281">"ଗାଢ଼ା ଥିମ୍"</string>
+ <string name="dark_ui_mode" msgid="898146394425795281">"ଗାଢ଼ା ଥିମ"</string>
<string name="dark_ui_mode_disabled_summary_dark_theme_on" msgid="4554134480159161533">"ବ୍ୟାଟେରୀ ସେଭର୍ ଯୋଗୁଁ ଅସ୍ଥାୟୀ ଭାବେ ଅକ୍ଷମ କରାଯାଇଛି"</string>
<string name="ambient_camera_summary_battery_saver_on" msgid="1787784892047029560">"ବ୍ୟାଟେରୀ ସେଭର୍ ଯୋଗୁଁ ଅସ୍ଥାୟୀ ଭାବେ ଅକ୍ଷମ କରାଯାଇଛି"</string>
<string name="ambient_camera_battery_saver_off" msgid="689825730569761613">"ବ୍ୟାଟେରୀ ସେଭରକୁ ବନ୍ଦ କରନ୍ତୁ"</string>
@@ -4806,8 +4863,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"କେସ୍"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"ବେଟେରୀ"</string>
<string name="settings_panel_title" msgid="346363079938069215">"ସେଟିଂସ ପ୍ୟାନେଲ"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"ଫୋର୍ସ ଡେସ୍କଟପ୍ ମୋଡ୍"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ଦ୍ବିତୀୟ ପ୍ରଦର୍ଶନରେ ଫୋର୍ସ ପରୀକ୍ଷାମୂଳକ ମୋଡ୍"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"ଫ୍ରିଫର୍ମ ୱିଣ୍ଡୋ ସକ୍ଷମ କରନ୍ତୁ"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"ଫ୍ରିଫର୍ମ ୱିଣ୍ଡୋ ପାଇଁ ସପୋର୍ଟ ସକ୍ଷମ କରନ୍ତୁ।"</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"ଦ୍ଵିତୀୟ ଡିସପ୍ଲେରେ ଫ୍ରିଫର୍ମ ୱିଣ୍ଡୋ ସକ୍ଷମ କରନ୍ତୁ"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"କେବଳ ସେକେଣ୍ଡାରୀ ଡିସପ୍ଲେରେ ଫ୍ରିଫର୍ମ ୱିଣ୍ଡୋ ସକ୍ଷମ କରନ୍ତୁ।"</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"ମଲ୍ଟି ୱିଣ୍ଡୋରେ ରିସାଇଜ୍ କରାଯାଇପାରୁନଥିବାକୁ ସକ୍ଷମ କରନ୍ତୁ"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"ରିସାଇଜ୍ କରାଯାଇପାରୁନଥିବା ଆପଗୁଡ଼ିକୁ ମଲ୍ଟି ୱିଣ୍ଡୋରେ ରହିବା ପାଇଁ ଅନୁମତି ଦିଏ"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"ଫୋର୍ସ୍-ଡାର୍କ୍ ଓଭର୍ରାଇଡ୍ କରନ୍ତୁ"</string>
@@ -4875,14 +4934,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"16KB ଡେଭଲପର ବିକଳ୍ପ ବ୍ୟବହାର କରିବା ପୂର୍ବରୁ ଏହି ଡିଭାଇସର ଡାଟା ପାର୍ଟିସନ ext4କୁ କନଭର୍ଟ କରାଯିବା ଆବଶ୍ୟକ। ଏହି ମୋଡରେ ସଫ୍ଟୱେର ଇଣ୍ଟିଗ୍ରିଟିକୁ ଗେରେଣ୍ଟି ଦିଆଯାଇପାରିବ ନାହିଁ ଏବଂ ବୁଟଲୋଡର ଅନଲକ ଥିବା ସମୟରେ ଫୋନରେ ଷ୍ଟୋର କରାଯାଇଥିବା ଯେ କୌଣସି ଡାଟା ବିପଦରେ ପଡ଼ିପାରେ। 16KB ବିକଳ୍ପକୁ ସକ୍ରିୟ କରିବା ପାଇଁ ଏହା ପରେ ଆଉ ଏକ ରିବୁଟ ଆବଶ୍ୟକ ହେବ। ଆପଣ ଏହି ମୋଡରେ ଥିଲେ ଆପଣ ଗୋଟିଏ ସିଙ୍ଗଲ ରିବୁଟ ସହିତ 4KB ଏବଂ 16KB ମୋଡ ମଧ୍ୟରେ ଆଗକୁ ଏବଂ ପଛକୁ ସୁଇଚ କରିପାରିବେ। ଏହି ମୋଡଗୁଡ଼ିକରେ କିଛି ଫିଚରକୁ ଅକ୍ଷମ କରିଦିଆଯିବ, ଯାହା ଫଳରେ କିଛି ଆପ୍ଲିକେସନ କାମ କରିନପାରେ। ଡିଭାଇସକୁ ପ୍ରଡକ୍ସନ ମୋଡକୁ ଫେରାଇ ଆଣିବା ପାଇଁ ଆପଣଙ୍କୁ ଡିଭାଇସକୁ ଫେକ୍ଟୋରୀ ରିସେଟ କରୁଥିବା 4KB ମୋଡକୁ ପୁଣି ସୁଇଚ କରି ତା\'ପରେ ବୁଟଲୋଡରକୁ ଲକ କରିବାକୁ ହେବ। Androidରେ ସଫଳତାର ସହ ଡିଭାଇସ ବୁଟ ହେବା ପରେ ଡେଭେଲପର ବିକଳ୍ପରେ OEM ଅନଲକିଂକୁ ଅକ୍ଷମ କରନ୍ତୁ। ଡିଭାଇସକୁ ୱାଇପ କରାଯିବ ଏବଂ ସୁନିଶ୍ଚିତକରଣ ପରେ ଫାଇଲସିଷ୍ଟମକୁ ext4ରେ ପରିବର୍ତ୍ତନ କରାଯିବ। ଏହା ସମ୍ପୂର୍ଣ୍ଣ ହେବା ପରେ ଦୟାକରି ପୁଣି 16KBକୁ ସକ୍ଷମ କରିବାକୁ ଫେରନ୍ତୁ।"</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"ସମସ୍ତ ଡାଟା ଇରେଜ କରନ୍ତୁ"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"ଡାଟା ପାର୍ଟିସନକୁ ext4ରେ ପୁଣି ଫର୍ମାଟ କରି ୱାଇପ କରିବାରେ ବିଫଳ ହୋଇଛି।"</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16KB ମୋଡ ପାଇଁ ବୁଟଲୋଡର ଅନଲକ ଆବଶ୍ୟକ"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"ବୁଟଲୋଡର ଅନଲକ ଆବଶ୍ୟକ"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"16KB ଡେଭେଲପର ବିକଳ୍ପ ବ୍ୟବହାର କରିବା ପୂର୍ବରୁ ଏହି ଡିଭାଇସକୁ ବୁଟଲୋଡରକୁ ଅନଲକ କରିବା ଆବଶ୍ୟକ। ଏହି ମୋଡରେ ସଫ୍ଟୱେର ଇଣ୍ଟିଗ୍ରିଟିକୁ ଗେରେଣ୍ଟି ଦିଆଯାଇପାରିବ ନାହିଁ ଏବଂ ବୁଟଲୋଡର ଅନଲକ ଥିବା ସମୟରେ ଫୋନରେ ଷ୍ଟୋର କରାଯାଇଥିବା ଯେ କୌଣସି ଡାଟା ବିପଦରେ ପଡ଼ିପାରେ। 16KB ମୋଡ ସକ୍ରିୟ କରିବା ସମୟରେ ସମସ୍ତ ୟୁଜର ଡାଟା ଏବଂ ସେଟିଂସ ୱାଇପ ହୋଇଯିବ। ବୁଟଲୋଡର ଅନଲକ ହେବା ପରେ 16KB ବିକଳ୍ପ ସକ୍ରିୟ କରିବା ପାଇଁ ଦୁଇଟି ରିବୁଟ ଆବଶ୍ୟକ ହେବ। ଆପଣ ଏହି ମୋଡରେ ଥିଲେ ଆପଣ ଗୋଟିଏ ସିଙ୍ଗଲ ରିବୁଟ ସହିତ 4KB ଏବଂ 16KB ମୋଡ ମଧ୍ୟରେ ଆଗକୁ ଏବଂ ପଛକୁ ସୁଇଚ କରିପାରିବେ। ଏହି ମୋଡଗୁଡ଼ିକରେ କିଛି ଫିଚରକୁ ଅକ୍ଷମ କରିଦିଆଯିବ, ଯାହା ଫଳରେ କିଛି ଆପ୍ଲିକେସନ କାମ କରିନପାରେ। ଡିଭାଇସକୁ ପ୍ରଡକ୍ସନ ମୋଡକୁ ଫେରାଇ ଆଣିବା ପାଇଁ ଆପଣଙ୍କୁ ଡିଭାଇସକୁ ପୁଣି 4KB ମୋଡକୁ ସୁଇଚ କରି ତା\'ପରେ OEM/ବୁଟଲୋଡରକୁ ଲକ (ଯାହା ଫେକ୍ଟୋରୀ ରିସେଟ କରେ) କରିବାକୁ ହେବ। ଦୟାକରି ବୁଟଲୋଡରକୁ ଅନଲକ କରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ। ଏହା କିପରି କରିବେ ସେଥିପାଇଁ ଆପଣ <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>ରେ ନିର୍ଦ୍ଦେଶାବଳୀ ଦେଖିପାରିବେ"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"4KB ପୃଷ୍ଠା-ଆଗ୍ନୋଷ୍ଟିକ ମୋଡ ବ୍ୟବହାର କରାଯାଉଛି"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"ଆପଣ ପୃଷ୍ଠା-ଆଗ୍ନୋଷ୍ଟିକ ମୋଡର 4KB ମୋଡରେ ଅଛନ୍ତି। ଏହି ମୋଡରେ ସଫ୍ଟୱେର ଇଣ୍ଟିଗ୍ରିଟିକୁ ଗେରେଣ୍ଟି ଦିଆଯାଇପାରିବ ନାହିଁ ଏବଂ ବୁଟଲୋଡର ଅନଲକ ଥିବା ସମୟରେ ଫୋନରେ ଷ୍ଟୋର କରାଯାଇଥିବା ଯେ କୌଣସି ଡାଟା ବିପଦରେ ପଡ଼ିପାରେ। ଏହି ମୋଡଗୁଡ଼ିକରେ କିଛି ଫିଚରକୁ ଅକ୍ଷମ କରିଦିଆଯିବ, ଯାହା ଫଳରେ କିଛି ଆପ୍ଲିକେସନ କାମ କରିନପାରେ। ପ୍ରଡକ୍ସନ ମୋଡରେ ପୁଣି-ପ୍ରବେଶ କରିବା ପାଇଁ ଆପଣଙ୍କୁ ଡିଭାଇସର ବୁଟଲୋଡରକୁ ଲକ କରିବା ଆବଶ୍ୟକ। ଅଧିକ ପଢ଼ନ୍ତୁରେ ଟାପ କରନ୍ତୁ।"</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"ଆପଣ ପୃଷ୍ଠା-ଆଗ୍ନୋଷ୍ଟିକ ମୋଡର 4KB ମୋଡରେ ଅଛନ୍ତି। ଏହି ମୋଡରେ ସଫ୍ଟୱେର ଇଣ୍ଟିଗ୍ରିଟିକୁ ଗେରେଣ୍ଟି ଦିଆଯାଇପାରିବ ନାହିଁ ଏବଂ ବୁଟଲୋଡର ଅନଲକ ଥିବା ସମୟରେ ଫୋନରେ ଷ୍ଟୋର କରାଯାଇଥିବା ଯେ କୌଣସି ଡାଟା ବିପଦରେ ପଡ଼ିପାରେ। ଏହି ମୋଡଗୁଡ଼ିକରେ କିଛି ଫିଚରକୁ ଅକ୍ଷମ କରିଦିଆଯିବ, ଯାହା ଫଳରେ କିଛି ଆପ୍ଲିକେସନ କାମ କରିନପାରେ। ପ୍ରଡକ୍ସନ ମୋଡରେ ପୁଣି-ପ୍ରବେଶ କରିବା ପାଇଁ ଆପଣଙ୍କୁ ଡିଭାଇସର ବୁଟଲୋଡରକୁ ଲକ କରିବା ଆବଶ୍ୟକ। ଏହା ଡିଭାଇସକୁ ପୁଣି ଫେକ୍ଟୋରୀ ରିସେଟ କରି ପ୍ରଡକ୍ସନ ସେଟିଂସରେ ରିଷ୍ଟୋର କରିବ। Androidରେ ସଫଳତାର ସହ ଡିଭାଇସ ବୁଟ ହେବା ପରେ ଡେଭେଲପର ବିକଳ୍ପରେ OEM ଅନଲକିଂକୁ ଅକ୍ଷମ କରନ୍ତୁ। ଯଦି ଡିଭାଇସ Androidରେ ବୁଟ ହେବାରେ ବିଫଳ ହୁଏ କିମ୍ବା ଅସ୍ଥିର ଅଟେ, ତେବେ <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a>ରୁ ନବୀନତମ ଫେକ୍ଟୋରୀ ଇମେଜଗୁଡ଼ିକ ସହ ଡିଭାଇସକୁ ପୁଣି-ଫ୍ଲାସ କରି \'ଡିଭାଇସକୁ ୱାଇପ କରନ୍ତୁ\', \'ବୁଟଲୋଡରକୁ ଲକ କରନ୍ତୁ\' ଏବଂ \'ସବୁ ପାର୍ଟିସନକୁ ଫୋର୍ସ ଫ୍ଲାସ କରନ୍ତୁ\'କୁ ଚୟନ କରନ୍ତୁ।"</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"16KB ପୃଷ୍ଠା-ଆଗ୍ନୋଷ୍ଟିକ ମୋଡ ବ୍ୟବହାର କରାଯାଉଛି"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"ଆପଣ ପୃଷ୍ଠା-ଆଗ୍ନୋଷ୍ଟିକ ମୋଡର 16KB ମୋଡରେ ଅଛନ୍ତି। ଏହି ମୋଡରେ ସଫ୍ଟୱେର ଇଣ୍ଟିଗ୍ରିଟିକୁ ଗେରେଣ୍ଟି ଦିଆଯାଇପାରିବ ନାହିଁ ଏବଂ ବୁଟଲୋଡର ଅନଲକ ଥିବା ସମୟରେ ଫୋନରେ ଷ୍ଟୋର କରାଯାଇଥିବା ଯେ କୌଣସି ଡାଟା ବିପଦରେ ପଡ଼ିପାରେ। ଏହି ମୋଡଗୁଡ଼ିକରେ କିଛି ଫିଚରକୁ ଅକ୍ଷମ କରିଦିଆଯିବ, ଯାହା ଫଳରେ କିଛି ଆପ୍ଲିକେସନ କାମ କରିନପାରେ। ପ୍ରଡକ୍ସନ ମୋଡରେ ପୁଣି-ପ୍ରବେଶ କରିବା ପାଇଁ ଆପଣଙ୍କୁ 4K ମୋଡକୁ ପୁଣି ସୁଇଚ କରି ତା\'ପରେ ଡିଭାଇସର ବୁଟଲୋଡରକୁ ଲକ କରିବା ଆବଶ୍ୟକ। ଅଧିକ ପଢ଼ନ୍ତୁରେ ଟାପ କରନ୍ତୁ।"</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"ଆପଣ ପୃଷ୍ଠା-ଆଗ୍ନୋଷ୍ଟିକ ମୋଡର 16KB ମୋଡରେ ଅଛନ୍ତି। ଏହି ମୋଡରେ ସଫ୍ଟୱେର ଇଣ୍ଟିଗ୍ରିଟିକୁ ଗେରେଣ୍ଟି ଦିଆଯାଇପାରିବ ନାହିଁ ଏବଂ ବୁଟଲୋଡର ଅନଲକ ଥିବା ସମୟରେ ଫୋନରେ ଷ୍ଟୋର କରାଯାଇଥିବା ଯେ କୌଣସି ଡାଟା ବିପଦରେ ପଡ଼ିପାରେ। ଏହି ମୋଡଗୁଡ଼ିକରେ କିଛି ଫିଚରକୁ ଅକ୍ଷମ କରିଦିଆଯିବ, ଯାହା ଫଳରେ କିଛି ଆପ୍ଲିକେସନ କାମ କରିନପାରେ। ପ୍ରଡକ୍ସନ ମୋଡରେ ପୁଣି-ପ୍ରବେଶ କରିବା ପାଇଁ ଆପଣଙ୍କୁ 4K ମୋଡକୁ ପୁଣି ସୁଇଚ କରି ତା\'ପରେ ଡିଭାଇସର ବୁଟଲୋଡରକୁ ଲକ କରିବା ଆବଶ୍ୟକ। ଏହା ଡିଭାଇସକୁ ପୁଣି ଫେକ୍ଟୋରୀ ରିସେଟ କରି ପ୍ରଡକ୍ସନ ସେଟିଂସରେ ରିଷ୍ଟୋର କରିବ। Androidରେ ସଫଳତାର ସହ ଡିଭାଇସ ବୁଟ ହେବା ପରେ ଡେଭେଲପର ବିକଳ୍ପରେ OEM ଅନଲକିଂକୁ ଅକ୍ଷମ କରନ୍ତୁ। ଯଦି ଡିଭାଇସ Androidରେ ବୁଟ ହେବାରେ ବିଫଳ ହୁଏ କିମ୍ବା ଅସ୍ଥିର ଅଟେ, ତେବେ <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>ରୁ ନବୀନତମ ଫେକ୍ଟୋରୀ ଇମେଜଗୁଡ଼ିକ ସହ ଡିଭାଇସକୁ ପୁଣି-ଫ୍ଲାସ କରନ୍ତୁ କିମ୍ବା <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ବ୍ୟବହାର କରନ୍ତୁ ଏବଂ \'ଡିଭାଇସକୁ ୱାଇପ କରନ୍ତୁ\', \'ବୁଟଲୋଡରକୁ ଲକ କରନ୍ତୁ\' ଏବଂ \'ସବୁ ପାର୍ଟିସନକୁ ଫୋର୍ସ ଫ୍ଲାସ କରନ୍ତୁ\'କୁ ଚୟନ କରନ୍ତୁ।"</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"ଆପଣ ପୃଷ୍ଠା-ଆଗ୍ନୋଷ୍ଟିକ ମୋଡର 16KB ମୋଡରେ ଅଛନ୍ତି। ଏହି ମୋଡରେ ସଫ୍ଟୱେର ଇଣ୍ଟିଗ୍ରିଟିକୁ ଗେରେଣ୍ଟି ଦିଆଯାଇପାରିବ ନାହିଁ ଏବଂ ବୁଟଲୋଡର ଅନଲକ ଥିବା ସମୟରେ ଫୋନରେ ଷ୍ଟୋର କରାଯାଇଥିବା ଯେ କୌଣସି ଡାଟା ବିପଦରେ ପଡ଼ିପାରେ। ଏହି ମୋଡଗୁଡ଼ିକରେ କିଛି ଫିଚରକୁ ଅକ୍ଷମ କରିଦିଆଯିବ, ଯାହା ଫଳରେ କିଛି ଆପ୍ଲିକେସନ କାମ କରିନପାରେ। ପ୍ରଡକ୍ସନ ମୋଡରେ ପୁଣି-ପ୍ରବେଶ କରିବା ପାଇଁ ଆପଣଙ୍କୁ 4KB ମୋଡକୁ ପୁଣି ସୁଇଚ କରି ତା\'ପରେ ଡିଭାଇସର ବୁଟଲୋଡରକୁ ଲକ କରିବା ଆବଶ୍ୟକ। ଅଧିକ ପଢ଼ିବା ପାଇଁ ଟାପ କରନ୍ତୁ।"</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"ଆପଣ ପୃଷ୍ଠା-ଆଗ୍ନୋଷ୍ଟିକ ମୋଡର 16KB ମୋଡରେ ଅଛନ୍ତି। ଏହି ମୋଡରେ ସଫ୍ଟୱେର ଇଣ୍ଟିଗ୍ରିଟିକୁ ଗେରେଣ୍ଟି ଦିଆଯାଇପାରିବ ନାହିଁ ଏବଂ ବୁଟଲୋଡର ଅନଲକ ଥିବା ସମୟରେ ଫୋନରେ ଷ୍ଟୋର କରାଯାଇଥିବା ଯେ କୌଣସି ଡାଟା ବିପଦରେ ପଡ଼ିପାରେ। ଏହି ମୋଡଗୁଡ଼ିକରେ କିଛି ଫିଚରକୁ ଅକ୍ଷମ କରିଦିଆଯିବ, ଯାହା ଫଳରେ କିଛି ଆପ୍ଲିକେସନ କାମ କରିନପାରେ। ପ୍ରଡକ୍ସନ ମୋଡରେ ପୁଣି-ପ୍ରବେଶ କରିବା ପାଇଁ ଆପଣଙ୍କୁ 4KB ମୋଡକୁ ପୁଣି ସୁଇଚ କରି ତା\'ପରେ ଡିଭାଇସର ବୁଟଲୋଡରକୁ ଲକ କରିବା ଆବଶ୍ୟକ। ଏହା ଡିଭାଇସକୁ ପୁଣି ଫେକ୍ଟୋରୀ ରିସେଟ କରି ପ୍ରଡକ୍ସନ ସେଟିଂସରେ ରିଷ୍ଟୋର କରିବ। Androidରେ ସଫଳତାର ସହ ଡିଭାଇସ ବୁଟ ହେବା ପରେ ଡେଭେଲପର ବିକଳ୍ପରେ OEM ଅନଲକିଂକୁ ଅକ୍ଷମ କରନ୍ତୁ। ଯଦି ଡିଭାଇସ Androidରେ ବୁଟ ହେବାରେ ବିଫଳ ହୁଏ କିମ୍ବା ଏହା ଅସ୍ଥିର ଅଟେ, ତେବେ <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>ରୁ ନବୀନତମ ଫେକ୍ଟୋରୀ ଇମେଜଗୁଡ଼ିକ ସହ ଡିଭାଇସକୁ ପୁଣି-ଫ୍ଲାସ କରନ୍ତୁ କିମ୍ବା <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ବ୍ୟବହାର କରନ୍ତୁ ଏବଂ \'ଡିଭାଇସକୁ ୱାଇପ କରନ୍ତୁ\', \'ବୁଟଲୋଡରକୁ ଲକ କରନ୍ତୁ\' ଓ \'ସବୁ ପାର୍ଟିସନକୁ ଫୋର୍ସ ଫ୍ଲାସ କରନ୍ତୁ\'କୁ ଚୟନ କରନ୍ତୁ।"</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16KB ପୃଷ୍ଠା-ଆଗ୍ନୋଷ୍ଟିକ ମୋଡ"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"ଅଧିକ ପଢ଼ନ୍ତୁ"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"ବଗ ରିପୋର୍ଟ ହେଣ୍ଡଲର"</string>
@@ -5014,14 +5073,15 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ଆପ୍ ପିନିଂ ବ୍ୟବହାର କରନ୍ତୁ"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"ଡେଭଲପରଙ୍କ ପାଇଁ ବିକଳ୍ପଗୁଡ଼ିକୁ ବ୍ୟବହାର କରନ୍ତୁ"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"ପ୍ରିଣ୍ଟ ସେବା ବ୍ୟବହାର କରନ୍ତୁ"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"ଏକାଧିକ ୟୁଜରଙ୍କୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"ଅନୁମତି, ଏକାଧିକ, ୟୁଜର, ପରମିଟ, ଅନେକ"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"ଏକାଧିକ, ୟୁଜର, ପ୍ରୋଫାଇଲ, ଲୋକମାନେ, ଆକାଉଣ୍ଟ, ସୁଇଚ, ଅନେକ"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ୱାୟାରଲେସ୍ ଡିବଗିଂ ବ୍ୟବହାର କରନ୍ତୁ"</string>
<string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"ଗ୍ରାଫିକ୍ସ ଡ୍ରାଇଭର୍ ପସନ୍ଦଗୁଡ଼ିକୁ ବ୍ୟବହାର କରନ୍ତୁ"</string>
<string name="night_light_main_switch_title" msgid="3428298022467805219">"ନାଇଟ ଲାଇଟ ବ୍ୟବହାର କରନ୍ତୁ"</string>
<string name="nfc_main_switch_title" msgid="6295839988954817432">"NFC ବ୍ୟବହାର କରନ୍ତୁ"</string>
- <string name="adaptive_brightness_main_switch_title" msgid="2681666805191642737">"ଆଡେପ୍ଟିଭ୍ ଉଜ୍ଜ୍ୱଳତା ବ୍ୟବହାର କରନ୍ତୁ"</string>
+ <string name="adaptive_brightness_main_switch_title" msgid="2681666805191642737">"ଆଡେପ୍ଟିଭ ଉଜ୍ଜ୍ୱଳତା ବ୍ୟବହାର କରନ୍ତୁ"</string>
<string name="wifi_calling_main_switch_title" msgid="4070224008346815634">"ୱାଇ-ଫାଇ କଲିଂ ବ୍ୟବହାର କରନ୍ତୁ"</string>
<string name="default_see_all_apps_title" msgid="7481113230662612178">"ସମସ୍ତ ଆପ ଦେଖନ୍ତୁ"</string>
<string name="smart_forwarding_title" msgid="8368634861971949799">"ସ୍ମାର୍ଟ ଫରୱାର୍ଡିଂ"</string>
@@ -5128,8 +5188,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"ଆପଣଙ୍କ ଟାବଲେଟକୁ ଡକ କରାଯାଇଥିବା ସମୟରେ ଆପଣ ଆପଣଙ୍କ ସ୍କ୍ରିନରେ କଣ ଦେଖିବେ ତାହା ବାଛନ୍ତୁ। ଏକ ସ୍କ୍ରିନ ସେଭର ବ୍ୟବହାର କରାଯିବା ସମୟରେ ଆପଣଙ୍କ ଡିଭାଇସ ଅଧିକ ଏନର୍ଜି ବ୍ୟବହାର କରିପାରେ।"</string>
<string name="customize_button_title" msgid="1110284655990203359">"କଷ୍ଟମାଇଜ କରନ୍ତୁ"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>କୁ କଷ୍ଟମାଇଜ କରନ୍ତୁ"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"ଫ୍ରିଫର୍ମ ସହାୟତାକୁ ସକ୍ଷମ କରିବା ପାଇଁ ଏକ ରିବୁଟ ଆବଶ୍ୟକ।"</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"ସେକେଣ୍ଡାରୀ ଡିସପ୍ଲେରେ ଡେସ୍କଟପ ମୋଡକୁ ବାଧ୍ୟତାମୂଳକ ଭାବେ ଚାଲୁ କରିବା ପାଇଁ ରିବୁଟ କରିବା ଆବଶ୍ୟକ।"</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"ଲିଗାସି ଫ୍ରିଫର୍ମ ୱିଣ୍ଡୋଇଂ ସପୋର୍ଟକୁ ସକ୍ଷମ କରିବା ପାଇଁ ଏକ ରିବୁଟ ଆବଶ୍ୟକ।"</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"ଫ୍ରିଫର୍ମ ୱିଣ୍ଡୋଇଂ ସପୋର୍ଟକୁ ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ ଏକ ରିବୁଟ ଆବଶ୍ୟକ।"</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"ସେକେଣ୍ଡାରୀ ଡିସପ୍ଲେରେ ଫ୍ରିଫର୍ମ ୱିଣ୍ଡୋଇଂକୁ ଫୋର୍ସ କରିବା ପାଇଁ ରିବୁଟ କରିବା ଆବଶ୍ୟକ।"</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"ବର୍ତ୍ତମାନ ରିବୁଟ କରନ୍ତୁ"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"ପରେ ରିବୁଟ କରନ୍ତୁ"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"ସ୍ପେସିଆଲ ଅଡିଓ"</string>
@@ -5358,4 +5419,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ଷ୍ଟ୍ରିମକୁ ଶୁଣନ୍ତୁ"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ସହିତ ଶୁଣିବା ପାଇଁ ଏକ ଅଡିଓ ଷ୍ଟ୍ରିମ QR କୋଡକୁ ସ୍କାନ କରନ୍ତୁ"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"ସେୟାର କରୁଥିବା ସମୟରେ ପାସୱାର୍ଡକୁ ଏଡିଟ କରିପାରିବେ ନାହିଁ। ପାସୱାର୍ଡକୁ ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ, ପ୍ରଥମେ ଅଡିଓ ସେୟାରିଂକୁ ବନ୍ଦ କରନ୍ତୁ।"</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-pa/arrays.xml b/res/values-pa/arrays.xml
index d0fad2b..11980c6 100644
--- a/res/values-pa/arrays.xml
+++ b/res/values-pa/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"ਬੈੱਡਟਾਈਮ"</item>
+ <item msgid="4152450357280759894">"ਡਰਾਈਵਿੰਗ"</item>
+ <item msgid="7096549258219399423">"ਇਮਰਸਿਵ"</item>
+ <item msgid="2760716776980432977">"ਪ੍ਰਬੰਧਿਤ"</item>
+ <item msgid="601734478369121764">"ਤਾਰਾ"</item>
+ <item msgid="6243809315432780521">"ਕੈਲੰਡਰ"</item>
+ <item msgid="4913577903148415331">"ਸਮਾਂ"</item>
+ <item msgid="3653377604690057780">"ਥੀਏਟਰ"</item>
+ <item msgid="3843711267408385410">"ਫੁੱਲ"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 34fc579..e570c75 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"ਸੁਣਨ ਵਾਲੇ ਡੀਵਾਈਸ ਸੰਬੰਧੀ ਸੈਟਿੰਗਾਂ"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"ਸ਼ਾਰਟਕੱਟ, ਸੁਣਨ ਦੇ ਸਾਧਨ ਦੀ ਅਨੁਰੂਪਤਾ"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"ਪ੍ਰੀਸੈੱਟ"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"ਤੁਹਾਡੇ ਆਡੀਓਲਾਜਿਸਟ ਵੱਲੋਂ ਪ੍ਰੋਗਰਾਮ ਕੀਤਾ ਕੋਈ ਪ੍ਰੀਸੈੱਟ ਨਹੀਂ ਹੈ"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"ਪ੍ਰੀਸੈੱਟ ਨੂੰ ਅੱਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ਆਡੀਓ ਆਊਟਪੁੱਟ"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ਆਡੀਓ ਆਊਟਪੁੱਟ ਬਾਰੇ"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"ਚਿਹਰੇ ਅਤੇ <xliff:g id="WATCH">%s</xliff:g> ਨੂੰ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"ਚਿਹਰੇ, ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਤੇ <xliff:g id="WATCH">%s</xliff:g> ਨੂੰ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"ਚਿਹਰੇ, ਫਿੰਗਰਪ੍ਰਿੰਟਾਂ ਅਤੇ <xliff:g id="WATCH">%s</xliff:g> ਨੂੰ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"ਪਛਾਣ ਦੀ ਜਾਂਚ ਸੁਵਿਧਾ ਚਾਲੂ ਹੋਣ ਕਰਕੇ ਇਸਦੀ ਲੋੜ ਹੈ"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator ਅਣਲਾਕ"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"ਘੜੀ ਨੂੰ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"ਆਪਣੀ ਘੜੀ ਦਾ ਸੈੱਟਅੱਪ ਕਰੋ"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"ਵਾਚ ਅਣਲਾਕ ਬਾਰੇ ਹੋਰ ਜਾਣੋ"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"ਘੜੀ ਸ਼ਾਮਲ ਕਰੋ"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"ਘੜੀ ਨੂੰ ਹਟਾਓ"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਤੇ ਫ਼ੇਸ ਅਣਲਾਕ"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ਫ਼ੇਸ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਲਈ ਫ਼ੇਸ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ਸੈੱਟਅੱਪ ਦੀ ਲੋੜ ਹੈ"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"ਚਿਹਰੇ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"ਐਪਾਂ ਸਥਾਪਤ ਕਰੋ"</b>\n"ਉਨ੍ਹਾਂ ਐਪਾਂ ਨੂੰ ਸਥਾਪਤ ਕਰੋ ਜਿਨ੍ਹਾਂ ਨੂੰ ਤੁਸੀਂ ਆਪਣੀ ਸਪੇਸ ਵਿੱਚ ਪ੍ਰਾਈਵੇਟ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"ਧਿਆਨ ਵਿੱਚ ਰੱਖੋ"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"ਜਦੋਂ ਤੁਸੀਂ ਆਪਣੀ ਸਪੇਸ ਨੂੰ ਲਾਕ ਕਰ ਦਿੰਦੇ ਹੋ, ਤਾਂ ਐਪਾਂ ਬੰਦ ਹੋ ਜਾਂਦੀਆਂ ਹਨ"</b>\n"ਜਦੋਂ ਤੁਸੀਂ ਆਪਣੀ ਸਪੇਸ ਨੂੰ ਲਾਕ ਕਰ ਦਿੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਡੀ ਸਪੇਸ ਵਿਚਲੀਆਂ ਐਪਾਂ ਬੰਦ ਹੋ ਜਾਂਦੀਆਂ ਹਨ ਅਤੇ ਤੁਹਾਨੂੰ ਉਨ੍ਹਾਂ ਤੋਂ ਸੂਚਨਾਵਾਂ ਪ੍ਰਾਪਤ ਨਹੀਂ ਹੋਣਗੀਆਂ"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਉਨ੍ਹਾਂ ਐਪਾਂ ਲਈ ਢੁਕਵੇਂ ਨਹੀਂ ਹਨ, ਜਿਨ੍ਹਾਂ ਨੂੰ ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਚੱਲਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਜਾਂ ਮਹੱਤਵਪੂਰਨ ਸੂਚਨਾਵਾਂ ਭੇਜਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਡਾਕਟਰੀ ਐਪਾਂ। ਅਜਿਹਾ ਇਸ ਲਈ ਹੈ ਕਿਉਂਕਿ ਤੁਹਾਡੀ ਸਪੇਸ ਲਾਕ ਹੋਣ \'ਤੇ ਸੂਚਨਾਵਾਂ ਅਤੇ ਸਰਗਰਮੀ ਬੰਦ ਹੋ ਜਾਂਦੀ ਹੈ।\n\nਤੁਹਾਡੀ ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਲਾਕ ਹੋਣ \'ਤੇ, ਤੁਹਾਡੀ ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਵਿਚਲੀਆਂ ਐਪਾਂ ਇਜਾਜ਼ਤ ਪ੍ਰਬੰਧਕ, ਪਰਦੇਦਾਰੀ ਸੰਬੰਧੀ ਡੈਸ਼ਬੋਰਡ ਅਤੇ ਹੋਰ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਨਹੀਂ ਦਿਖਾਈ ਦੇਣਗੀਆਂ।\n\nਤੁਹਾਡੀ ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਨੂੰ ਨਵੇਂ ਡੀਵਾਈਸ \'ਤੇ ਨਹੀਂ ਲਿਜਾਇਆ ਜਾ ਸਕਦਾ। ਜੇ ਤੁਸੀਂ ਆਪਣੀ ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਨੂੰ ਕਿਸੇ ਹੋਰ ਡੀਵਾਈਸ \'ਤੇ ਵਰਤਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਇੱਕ ਹੋਰ ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਦੀ ਲੋੜ ਪਵੇਗੀ।\n\nਜਦੋਂ ਕੋਈ ਵਿਅਕਤੀ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨੂੰ ਕਿਸੇ ਕੰਪਿਊਟਰ ਨਾਲ ਕਨੈਕਟ ਕਰਦਾ ਹੈ ਜਾਂ ਤੁਹਾਡੇ ਡੀਵਾਈਸ \'ਤੇ ਨੁਕਸਾਨਦੇਹ ਐਪਾਂ ਸਥਾਪਤ ਕਰਦਾ ਹੈ, ਤਾਂ ਉਹ ਤੁਹਾਡੀ ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦਾ ਹੈ।"</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਉਨ੍ਹਾਂ ਐਪਾਂ ਲਈ ਢੁਕਵੇਂ ਨਹੀਂ ਹਨ, ਜਿਨ੍ਹਾਂ ਨੂੰ ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਚੱਲਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਜਾਂ ਮਹੱਤਵਪੂਰਨ ਸੂਚਨਾਵਾਂ ਭੇਜਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਡਾਕਟਰੀ ਐਪਾਂ। ਅਜਿਹਾ ਇਸ ਲਈ ਹੈ ਕਿਉਂਕਿ ਤੁਹਾਡੀ ਸਪੇਸ ਲਾਕ ਹੋਣ \'ਤੇ ਸੂਚਨਾਵਾਂ ਅਤੇ ਸਰਗਰਮੀ ਬੰਦ ਹੋ ਜਾਂਦੀ ਹੈ।\n\nਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਲਾਕ ਹੋਣ \'ਤੇ, ਤੁਹਾਡੀ ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਵਿਚਲੀਆਂ ਐਪਾਂ ਇਜਾਜ਼ਤ ਪ੍ਰਬੰਧਕ, ਪਰਦੇਦਾਰੀ ਸੰਬੰਧੀ ਡੈਸ਼ਬੋਰਡ ਅਤੇ ਹੋਰ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਨਹੀਂ ਦਿਖਾਈ ਦੇਣਗੀਆਂ।\n\nਤੁਹਾਡੀ ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਨੂੰ ਨਵੇਂ ਡੀਵਾਈਸ \'ਤੇ ਮੁੜ-ਬਹਾਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ। ਜੇ ਤੁਸੀਂ ਇਸ ਸਪੇਸ ਨੂੰ ਕਿਸੇ ਹੋਰ ਡੀਵਾਈਸ \'ਤੇ ਵਰਤਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਇੱਕ ਹੋਰ ਸਪੇਸ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਦੀ ਲੋੜ ਪਵੇਗੀ।\n\nਜਦੋਂ ਕੋਈ ਵਿਅਕਤੀ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨੂੰ ਕਿਸੇ ਕੰਪਿਊਟਰ ਨਾਲ ਕਨੈਕਟ ਕਰਦਾ ਹੈ ਜਾਂ ਤੁਹਾਡੇ ਡੀਵਾਈਸ \'ਤੇ ਨੁਕਸਾਨਦੇਹ ਐਪਾਂ ਸਥਾਪਤ ਕਰਦਾ ਹੈ, ਤਾਂ ਉਹ ਤੁਹਾਡੀ ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦਾ ਹੈ।"</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਬਾਰੇ ਹੋਰ ਜਾਣੋ"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"ਇਸ ਵਿੱਚ ਕੁਝ ਸਮਾਂ ਲੱਗੇਗਾ"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਦਾ ਸੈੱਟਅੱਪ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"ਕੀ ਡੀਵਾਈਸ ਮੁੜ-ਸ਼ੁਰੂ ਕਰਨਾ ਹੈ?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"ਵੇਰਵੇ ਵਾਲੀ NFC ਲੌਗਿੰਗ ਨੂੰ ਸਿਰਫ਼ ਵਿਕਾਸ ਦੇ ਉਦੇਸ਼ਾਂ ਲਈ ਬਣਾਇਆ ਗਿਆ ਹੈ। ਬੱਗ ਰਿਪੋਰਟਾਂ ਵਿੱਚ ਵਧੀਕ NFC ਡਾਟਾ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ, ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਪ੍ਰਾਈਵੇਟ ਜਾਣਕਾਰੀ ਸ਼ਾਮਲ ਹੋ ਸਕਦੀ ਹੈ। ਇਸ ਸੈਟਿੰਗ ਨੂੰ ਬਦਲਣ ਲਈ ਆਪਣਾ ਡੀਵਾਈਸ ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ।"</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"ਕਾਸਟ ਕਰੋ"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"ਸ਼ੀਸ਼ਾ"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"ਵਾਇਰਲੈਸ ਡਿਸਪਲੇ ਚਾਲੂ ਕਰੋ"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"ਅਡੈਪਟਿਵ"</string>
<string name="brightness" msgid="6216871641021779698">"ਚਮਕ ਦਾ ਪੱਧਰ"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"ਅਡੈਪਟਿਵ ਬ੍ਰਾਈਟਨੈੱਸ"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"ਅਡੈਪਟਿਵ ਬ੍ਰਾਈਟਨੈੱਸ ਬਾਰੇ"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ ਦੀ ਚਮਕ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਵਾਤਾਵਰਨ ਅਤੇ ਤੁਹਾਡੇ ਵੱਲੋਂ ਕੀਤੀਆਂ ਜਾਣ ਵਾਲੀਆਂ ਸਰਗਰਮੀਆਂ ਦੇ ਮੁਤਾਬਕ ਵੱਧ-ਘੱਟ ਹੋਵੇਗੀ। ਅਡੈਪਟਿਵ ਬ੍ਰਾਈਟਨੈੱਸ ਨੂੰ ਤੁਹਾਡੀਆਂ ਤਰਜੀਹਾਂ ਬਾਰੇ ਸਿੱਖਣ ਵਿੱਚ ਮਦਦ ਕਰਨ ਲਈ ਤੁਸੀਂ ਸਲਾਈਡਰ ਨੂੰ ਹੱਥੀਂ ਹਿਲਾ ਸਕਦੇ ਹੋ।"</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"ਚਾਲੂ"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"ਬੰਦ"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"ਵਿਕਲਪ"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"ਪਹੁੰਚਯੋਗਤਾ"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"ਭੌਤਿਕ ਕੀ-ਬੋਰਡ"</string>
- <string name="show_ime" msgid="4334255501724746849">"ਆਨ-ਸਕ੍ਰੀਨ ਕੀ-ਬੋਰਡ ਨੂੰ ਵਰਤੋ"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"ਭੌਤਿਕ ਕੀ-ਬੋਰਡ ਕਿਰਿਆਸ਼ੀਲ ਹੋਣ ਦੌਰਾਨ ਇਸ ਨੂੰ ਸਕ੍ਰੀਨ \'ਤੇ ਬਣਾਈ ਰੱਖੋ"</string>
<string name="bounce_keys" msgid="7419450970351743904">"ਬਾਊਂਸ ਕੁੰਜੀਆਂ"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ਮਿਲੀਸਕਿੰਟਾਂ ਵਿੱਚ ਵਾਰ-ਵਾਰ ਇੱਕੋ ਕੁੰਜੀ ਨੂੰ ਦਬਾਉਂਦੇ ਰਹਿਣ \'ਤੇ ਕੀ-ਬੋਰਡ ਉਸਨੂੰ ਅਣਡਿੱਠ ਕਰ ਦਿੰਦਾ ਹੈ"</string>
<string name="slow_keys" msgid="2891452895499690837">"ਸਲੋ ਕੁੰਜੀਆਂ"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"ਵਰਤੋਂ ਦੀ ਚੋਣ: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"ਬੋਲੀ"</string>
<string name="pointer_speed" msgid="7398649279282675718">"ਪੁਆਇੰਟਰ ਸਪੀਡ"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"ਗੇਮ ਕੰਟ੍ਰੋਲਰ"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"ਥਰਥਰਾਹਟ ਰੀਡਾਇਰੈਕਟ ਕਰੋ"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"ਕਨੈਕਟ ਕੀਤੇ ਜਾਣ \'ਤੇ ਗੇਮ ਕੰਟਰੋਲਰ \'ਤੇ ਥਰਥਰਾਹਟ ਕਰੋ"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"ਫਿਰ ਵੀ ਜਾਰੀ ਰੱਖੋ"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"ਰੱਦ ਕਰੋ"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"ਵੱਡਦਰਸ਼ੀਕਰਨ ਸੈਟਿੰਗਾਂ"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"ਇੱਕ ਉਂਗਲ ਨਾਲ ਪੈਨਿੰਗ"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"1 ਉਂਗਲ ਨਾਲ ਵੱਡਦਰਸ਼ੀ ਨੂੰ ਇੱਧਰ-ਉੱਧਰ ਲਿਜਾਓ"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"ਸਕ੍ਰੀਨ \'ਤੇ ਇੱਧਰ-ਉੱਧਰ ਜਾਣ ਲਈ 1 ਉਂਗਲ ਘਸੀਟੋ"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"ਇੱਕ ਉਂਗਲ ਨਾਲ ਘਸੀਟ ਕੇ ਵੱਡਦਰਸ਼ੀਕਰਨ ਖੇਤਰ ਨੂੰ ਹਿਲਾਓ।"</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"ਦੋ ਉਂਗਲਾਂ ਨਾਲ ਘਸੀਟ ਕੇ ਵੱਡਦਰਸ਼ੀਕਰਨ ਖੇਤਰ ਨੂੰ ਹਿਲਾਓ।"</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"ਸਿਰਫ਼ ਸਕ੍ਰੀਨ ਦਾ ਇੱਕ ਹਿੱਸਾ ਵੱਡਦਰਸ਼ੀਕਰਨ ਦੌਰਾਨ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ਜ਼ੂਮ ਕਰਨ ਲਈ ਬਟਨ \'ਤੇ ਟੈਪ ਕਰੋ"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"ਸਮੱਗਰੀ ਨੂੰ ਵੱਡਾ ਕਰਨ ਲਈ ਸਕ੍ਰੀਨ \'ਤੇ ਤੇਜ਼ੀ ਨਾਲ ਜ਼ੂਮ ਵਧਾਓ"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>ਜ਼ੂਮ ਵਧਾਉਣ ਲਈ:</b><br/> {0,number,integer}. ਵੱਡਦਰਸ਼ੀਕਰਨ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸ਼ਾਰਟਕੱਟ ਵਰਤੋ<br/> {1,number,integer}. ਸਕ੍ਰੀਨ \'ਤੇ ਟੈਪ ਕਰੋ<br/> {2,number,integer}. ਸਕ੍ਰੀਨ \'ਤੇ ਇੱਧਰ-ਉੱਧਰ ਜਾਣ ਲਈ 2 ਉਂਗਲੀਆਂ ਨਾਲ ਘਸੀਟੋ<br/> {3,number,integer}. ਜ਼ੂਮ ਵਿੱਚ ਵਾਧ-ਘਾਟ ਕਰਨ ਲਈ 2 ਉਂਗਲੀਆਂ ਨਾਲ ਚੂੰਢੀ ਭਰੋ<br/> {4,number,integer}. ਵੱਡਦਰਸ਼ੀਕਰਨ ਨੂੰ ਰੋਕਣ ਲਈ ਸ਼ਾਰਟਕੱਟ ਵਰਤੋ<br/><br/> <b>ਕੁਝ ਸਮੇਂ ਲਈ ਜ਼ੂਮ ਵਧਾਉਣ ਲਈ:</b><br/> {0,number,integer}. ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਹਾਡੀ ਵੱਡਦਰਸ਼ੀਕਰਨ ਕਿਸਮ ਪੂਰੀ ਸਕ੍ਰੀਨ \'ਤੇ ਸੈੱਟ ਹੈ<br/> {1,number,integer}. ਵੱਡਦਰਸ਼ੀਕਰਨ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸ਼ਾਰਟਕੱਟ ਵਰਤੋ<br/> {2,number,integer}. ਸਕ੍ਰੀਨ \'ਤੇ ਕਿਤੇ ਵੀ ਸਪਰਸ਼ ਕਰ ਕੇ ਰੱਖੋ<br/> {3,number,integer}. ਸਕ੍ਰੀਨ \'ਤੇ ਇੱਧਰ-ਉੱਧਰ ਜਾਣ ਲਈ ਉਂਗਲ ਨਾਲ ਘਸੀਟੋ<br/> {4,number,integer}. ਵੱਡਦਰਸ਼ੀਕਰਨ ਨੂੰ ਰੋਕਣ ਲਈ ਉਂਗਲ ਚੁੱਕੋ"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>ਜ਼ੂਮ ਵਧਾਉਣ ਲਈ:</b><br/> {0,number,integer}. ਵੱਡਦਰਸ਼ੀਕਰਨ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸ਼ਾਰਟਕੱਟ ਵਰਤੋ<br/> {1,number,integer}. ਸਕ੍ਰੀਨ \'ਤੇ ਟੈਪ ਕਰੋ<br/> {2,number,integer}. ਸਕ੍ਰੀਨ \'ਤੇ ਘੁਮਾਉਣ ਲਈ 2 ਉਂਗਲਾਂ ਨਾਲ ਘਸੀਟੋ<br/> {3,number,integer}. ਜ਼ੂਮ ਵਿੱਚ ਵਾਧ-ਘਾਟ ਕਰਨ ਲਈ 2 ਉਂਗਲਾਂ ਨਾਲ ਚੂੰਢੀ ਭਰੋ<br/> {4,number,integer}. ਵੱਡਦਰਸ਼ੀਕਰਨ ਨੂੰ ਰੋਕਣ ਲਈ ਸ਼ਾਰਟਕੱਟ ਦੀ ਵਰਤੋਂ ਕਰੋ<br/><br/> ਤੁਸੀਂ ਕੁਝ ਸਮੇਂ ਲਈ ਜ਼ੂਮ ਵਧਾ ਅਤੇ ਹੋਰ ਵੀ ਬਹੁਤ ਕੁਝ ਕਰ ਸਕਦੇ ਹੋ।"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>ਜ਼ੂਮ ਵਧਾਉਣ ਲਈ:</b><br/> {0,number,integer}. ਵੱਡਦਰਸ਼ੀਕਰਨ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸ਼ਾਰਟਕੱਟ ਵਰਤੋ<br/> {1,number,integer}. ਸਕ੍ਰੀਨ \'ਤੇ ਟੈਪ ਕਰੋ<br/> {2,number,integer}. ਸਕ੍ਰੀਨ \'ਤੇ ਘੁਮਾਉਣ ਲਈ 1 ਜਾਂ 2 ਉਂਗਲਾਂ ਨਾਲ ਘਸੀਟੋ<br/> {3,number,integer}. ਜ਼ੂਮ ਵਿੱਚ ਵਾਧ-ਘਾਟ ਕਰਨ ਲਈ 2 ਉਂਗਲਾਂ ਨਾਲ ਚੂੰਢੀ ਭਰੋ<br/> {4,number,integer}. ਵੱਡਦਰਸ਼ੀਕਰਨ ਨੂੰ ਰੋਕਣ ਲਈ ਸ਼ਾਰਟਕੱਟ ਦੀ ਵਰਤੋਂ ਕਰੋ<br/><br/> ਤੁਸੀਂ ਕੁਝ ਸਮੇਂ ਲਈ ਜ਼ੂਮ ਵਧਾ ਅਤੇ ਹੋਰ ਵੀ ਬਹੁਤ ਕੁਝ ਕਰ ਸਕਦੇ ਹੋ।"</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"ਜਦੋਂ ਵੱਡਦਰਸ਼ੀਕਰਨ ਚਾਲੂ ਹੋਵੇ, ਤੁਸੀਂ ਸਕ੍ਰੀਨ \'ਤੇ ਜ਼ੂਮ ਵਧਾ ਸਕਦੇ ਹੋ।\n\n"<b>"ਜ਼ੂਮ ਕਰਨ ਲਈ"</b>", ਵੱਡਦਰਸ਼ੀਕਰਨ ਸ਼ੁਰੂ ਕਰੋ, ਫਿਰ ਸਕ੍ਰੀਨ \'ਤੇ ਕਿਤੇ ਵੀ ਟੈਪ ਕਰੋ।\n"<ul><li>"ਸਕ੍ਰੋਲ ਕਰਨ ਲਈ 2 ਜਾਂ ਜ਼ਿਆਦਾ ਉਂਗਲਾਂ ਘਸੀਟੋ"</li>\n<li>" ਜ਼ੂਮ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰਨ ਲਈ 2 ਜਾਂ ਜ਼ਿਆਦਾ ਉਂਗਲਾਂ ਨਾਲ ਚੂੰਢੀ ਭਰੋ"</li></ul>\n\n<b>"ਅਸਥਾਈ ਤੌਰ \'ਤੇ ਜ਼ੂਮ ਕਰਨ ਲਈ"</b>", ਵੱਡਦਰਸ਼ੀਕਰਨ ਸ਼ੁਰੂ ਕਰੋ, ਫਿਰ ਸਕ੍ਰੀਨ \'ਤੇ ਕੀਤੇ ਵੀ ਸਪਰਸ਼ ਕਰਕੇ ਰੱਖੋ।\n"<ul><li>"ਸਕ੍ਰੀਨ \'ਤੇ ਆਲੇ-ਦੁਆਲੇ ਜਾਣ ਲਈ ਘਸੀਟੋ"</li>\n<li>"ਜ਼ੂਮ ਘਟਾਉਣ ਲਈ ਉਂਗਲ ਚੁੱਕੋ"</li></ul>\n\n"ਤੁਸੀਂ ਕੀ-ਬੋਰਡ ਜਾਂ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼ ਪੱਟੀ \'ਤੇ ਜ਼ੂਮ ਵਧਾ ਨਹੀਂ ਸਕਦੇ।"</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g> ਵਿੱਚੋਂ ਪੰਨਾ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ ਦਾ ਸ਼ਾਰਟਕੱਟ"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"ਸਿਰਫ਼ ਮਹੱਤਵਪੂਰਨ ਲੋਕਾਂ ਅਤੇ ਐਪਾਂ ਵੱਲੋਂ ਸੂਚਨਾ ਪ੍ਰਾਪਤ ਕਰੋ"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"ਕਿਰਿਆਸ਼ੀਲਤਾ ਦੀ ਕਿਸਮ ਚੁਣੋ"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"ਸਮਾਂ"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"ਉਦਾਹਰਨ ਲਈ \"ਸਵੇਰੇ 9:30 ਤੋਂ ਸ਼ਾਮ 5:00 ਵਜੇ ਤੱਕ\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"ਕੈਲੰਡਰ"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"ਉਦਾਹਰਨ ਲਈ \"ਨਿੱਜੀ ਕੈਲੰਡਰ\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"ਕੋਈ ਮੋਡ ਬਣਾਓ"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"ਵਿਉਂਤਬੱਧ"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"ਰੁਕਾਵਟਾਂ ਸੀਮਤ ਕਰੋ"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"ਅਲਾਰਮ ਅਤੇ ਮੀਡੀਆ ਧੁਨੀਆਂ ਵਿਘਨ ਪਾ ਸਕਦੀਆਂ ਹਨ"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"ਸਮਾਂ-ਸੂਚੀਆਂ"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"ਸਮਾਂ-ਸੂਚੀਆਂ ਮਿਟਾਓ"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"ਮਿਟਾਓ"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"ਸੰਪਾਦਨ ਕਰੋ"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"ਸਮਾਂ-ਸੂਚੀਆਂ"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"ਸਮਾਂ-ਸੂਚੀ"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"ਕੋਈ ਸਮਾਂ-ਸੂਚੀ ਸੈੱਟ ਕਰੋ"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"ਸਮਾਂ-ਸੂਚੀ"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ਘੰ., <xliff:g id="MINUTES">%2$d</xliff:g> ਮਿੰ."</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਚਾਲੂ ਕਰੋ"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"ਸਮਾਂ-ਸੂਚੀ"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"ਕੁਝ ਖਾਸ ਸਮਿਆਂ \'ਤੇ ਫ਼ੋਨ ਸ਼ਾਂਤ ਰੱਖੋ"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"\'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' ਦੇ ਨਿਯਮ ਸੈੱਟ ਕਰੋ"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"ਧੁਨੀ ਵਜਾਉਣ ਵਾਲੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਆਗਿਆ ਦਿਓ"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"ਦ੍ਰਿਸ਼ਟੀਗਤ ਗੜਬੜੀਆਂ ਬਲਾਕ ਕਰੋ"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"ਦ੍ਰਿਸ਼ਟੀਗਤ ਸਿਗਨਲ ਦਿਖਣ ਦਿਓ"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"ਉਹ ਸੂਚਨਾਵਾਂ ਜੋ ਤੁਹਾਡੇ ਤੱਕ ਪਹੁੰਚ ਸਕਦੀਆਂ ਹਨ"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"ਧਿਆਨ ਕੇਂਦਰਿਤ ਰੱਖੋ"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"ਵਧੀਕ ਕਾਰਵਾਈਆਂ"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"ਡਿਸਪਲੇ ਸੈਟਿੰਗਾਂ"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"ਡਿਸਪਲੇ ਦੇ ਵਿਕਲਪ"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ਗੂੜ੍ਹੇ ਥੀਮ ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"ਗੂੜ੍ਹੇ ਬੈਕਗ੍ਰਾਊਂਡ \'ਤੇ ਹਲਕੀ ਲਿਖਤ ਨੂੰ ਤਰਜੀਹ ਦੇਣ ਲਈ OS ਅਤੇ ਐਪਾਂ ਨੂੰ ਸਵਿੱਚ ਕਰੋ, ਜਿਸਨੂੰ ਦੇਖਣ ਨਾਲ ਅੱਖਾਂ \'ਤੇ ਕੋਈ ਅਸਰ ਨਾ ਪਵੇ ਅਤੇ ਜਿਸ ਨਾਲ ਕੁਝ ਡੀਵਾਈਸਾਂ \'ਤੇ ਬੈਟਰੀ ਦੀ ਕਾਫ਼ੀ ਬਚਤ ਹੁੰਦੀ ਹੈ"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ਕੋਈ ਡਿਸਪਲੇ ਤਬਦੀਲੀ ਨਹੀਂ}=1{{effect_1}}=2{{effect_1} ਅਤੇ {effect_2}}=3{{effect_1}, {effect_2}, ਅਤੇ {effect_3}}other{{effect_1}, {effect_2} ਅਤੇ # ਹੋਰ}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"ਰੁਕਾਵਟਾਂ ਨੂੰ ਫਿਲਟਰ ਕਰੋ"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"ਕਿਸੇ ਰੁਕਾਵਟ ਨੂੰ ਫਿਲਟਰ ਨਹੀਂ ਕੀਤਾ ਗਿਆ"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ਫਿਲਟਰ ਕੀਤੀਆਂ ਸੂਚਨਾਵਾਂ ਲਈ ਡਿਸਪਲੇ ਵਿਕਲਪ"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"\'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' ਦੇ ਚਾਲੂ ਹੋਣ \'ਤੇ"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"ਸੂਚਨਾਵਾਂ ਦੀ ਕੋਈ ਧੁਨੀ ਨਹੀਂ"</string>
@@ -3483,6 +3541,8 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"ਸੂਚਨਾ ਖੋਲ੍ਹੋ"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"ਸੂਚਨਾਵਾਂ ਨੂੰ ਸਨੂਜ਼ ਕਰਨ ਦਿਓ"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"ਐਪ ਪ੍ਰਤੀਕ \'ਤੇ ਸੂਚਨਾ ਬਿੰਦੂ"</string>
+ <!-- no translation found for notification_bundles (3614044525822580826) -->
+ <skip />
<string name="notification_bubbles_title" msgid="5681506665322329301">"ਬਬਲ"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ਬਬਲ"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"ਇਸ ਗੱਲਬਾਤ ਨੂੰ ਬਬਲ ਵਜੋਂ ਦਿਖਾਓ"</string>
@@ -3664,6 +3724,7 @@
<string name="notification_channels" msgid="1502969522886493799">"ਸ਼੍ਰੇਣੀਆਂ"</string>
<string name="notification_channels_other" msgid="18159805343647908">"ਹੋਰ"</string>
<string name="no_channels" msgid="4716199078612071915">"ਇਸ ਐਪ ਨੇ ਕੋਈ ਵੀ ਸੂਚਨਾ ਪੋਸਟ ਨਹੀਂ ਕੀਤੀ ਹੈ"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"ਅਣਵਰਤੀਆਂ ਸ਼੍ਰੇਣੀਆਂ ਦਿਖਾਓ"</string>
<string name="app_settings_link" msgid="6725453466705333311">"ਐਪ ਵਿੱਚ ਵਧੀਕ ਸੈਟਿੰਗਾਂ"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"ਅਣਵਰਤੀਆਂ ਸ਼੍ਰੇਣੀਆਂ ਦਿਖਾਓ"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"ਅਣਵਰਤੀਆਂ ਸ਼੍ਰੇਣੀਆਂ ਲੁਕਾਓ"</string>
@@ -3775,6 +3836,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ਸਭ"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ਐਪਾਂ ਨੂੰ ਓਵਰਰਾਈਡ ਕਰਨ ਦਿਓ"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ਐਪਾਂ ਜੋ ਵਿਘਨ ਪਾ ਸਕਦੀਆਂ ਹਨ"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"ਹੋਰ ਐਪਾਂ ਚੁਣੋ"</string>
@@ -4799,8 +4862,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"ਕੇਸ"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"ਬੈਟਰੀ"</string>
<string name="settings_panel_title" msgid="346363079938069215">"ਸੈਟਿੰਗਾਂ ਪੈਨਲ"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"ਡੈਸਕਟਾਪ ਮੋਡ ਜ਼ਬਰਦਸਤੀ ਲਾਗੂ ਕਰੋ"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ਸੈਕੰਡਰੀ ਡਿਸਪਲੇ \'ਤੇ ਪ੍ਰਯੋਗਮਈ ਡੈਸਕਟਾਪ ਮੋਡ ਜ਼ਬਰਦਸਤੀ ਲਾਗੂ ਕਰੋ"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"ਫ੍ਰੀਫਾਰਮ ਵਿੰਡੋਆਂ ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"ਫ੍ਰੀਫਾਰਮ ਵਿੰਡੋਆਂ ਲਈ ਸਹਾਇਤਾ ਚਾਲੂ ਕਰੋ।"</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"ਦੂਜੀ ਡਿਸਪਲੇ \'ਤੇ ਫ੍ਰੀਫਾਰਮ ਵਿੰਡੋ ਚਾਲੂ ਕਰੋ"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"ਸਿਰਫ਼ ਸੈਕੰਡਰੀ ਡਿਸਪਲੇ \'ਤੇ ਫ੍ਰੀਫਾਰਮ ਵਿੰਡੋ ਚਾਲੂ ਕਰੋ"</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"ਮਲਟੀ-ਵਿੰਡੋ ਵਿੱਚ ਆਕਾਰ ਨਾ-ਬਦਲਣਯੋਗ ਬਣਾਉਣ ਦੀ ਸੁਵਿਧਾ ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"ਮਲਟੀ-ਵਿੰਡੋ ਵਿੱਚ ਆਕਾਰ ਨਾ ਬਦਲਣਯੋਗ ਬਣਾਉਣ ਦੀ ਸੁਵਿਧਾ ਵਾਲੀਆਂ ਐਪਾਂ ਨੂੰ ਆਗਿਆ ਦਿੰਦੀ ਹੈ"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"ਜ਼ਬਰਦਸਤੀ ਗੂੜ੍ਹਾ ਮੋਡ ਓਵਰਰਾਈਡ ਕਰੋ"</string>
@@ -4868,14 +4933,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"16KB ਵਿਕਾਸਕਾਰ ਵਿਕਲਪ ਵਰਤਣ ਤੋਂ ਪਹਿਲਾਂ, ਇਸ ਡੀਵਾਈਸ ਦੇ ਡਾਟੇ ਦੇ ਹਿੱਸੇ ਨੂੰ ext4 ਫਾਰਮੈਟ ਵਿੱਚ ਬਦਲਣ ਦੀ ਲੋੜ ਹੈ। ਇਸ ਮੋਡ ਵਿੱਚ ਸਾਫ਼ਟਵੇਅਰ ਅਖੰਡਤਾ ਦੀ ਗਰੰਟੀ ਨਹੀਂ ਦਿੱਤੀ ਜਾ ਸਕਦੀ ਅਤੇ ਬੂਟਲੋਡਰ ਦੇ ਅਣਲਾਕ ਰਹਿਣ ਦੌਰਾਨ ਫ਼ੋਨ ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਡਾਟਾ ਖਤਰੇ ਵਿੱਚ ਰਹਿ ਸਕਦਾ ਹੈ। ਇਸ ਤੋਂ ਬਾਅਦ, 16KB ਵਿਕਲਪ ਦੀ ਕਿਰਿਆਸ਼ੀਲਤਾ ਲਈ ਇੱਕ ਵਾਰ ਹੋਰ ਰੀਬੂਟ ਕਰਨ ਦੀ ਲੋੜ ਪਵੇਗੀ। ਇਸ ਮੋਡ ਵਿੱਚ ਆਉਣ ਤੋਂ ਬਾਅਦ, ਤੁਸੀਂ ਡੀਵਾਈਸ ਨੂੰ ਇੱਕ ਵਾਰ ਰੀਬੂਟ ਕਰ ਕੇ 4KB ਅਤੇ 16KB ਮੋਡ ਵਿਚਕਾਰ ਸਵਿੱਚ ਕਰ ਸਕਦੇ ਹੋ। ਇਨ੍ਹਾਂ ਮੋਡਾਂ ਵਿੱਚ ਕੁਝ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਬੰਦ ਹੋ ਜਾਣਗੀਆਂ, ਇਸ ਲਈ ਸ਼ਾਇਦ ਕੁਝ ਐਪਲੀਕੇਸ਼ਨਾਂ ਕੰਮ ਨਾ ਕਰਨ। ਡੀਵਾਈਸ ਨੂੰ ਪ੍ਰੋਡਕਸ਼ਨ ਮੋਡ \'ਤੇ ਵਾਪਸ ਲਿਜਾਉਣ ਲਈ, ਤੁਹਾਨੂੰ 4KB ਮੋਡ \'ਤੇ ਵਾਪਸ ਸਵਿੱਚ ਕਰ ਕੇ ਬੂਟਲੋਡਰ ਨੂੰ ਲਾਕ ਕਰਨ ਦੀ ਲੋੜ ਪਵੇਗੀ, ਜਿਸ ਨਾਲ ਡੀਵਾਈਸ ਫੈਕਟਰੀ ਰੀਸੈੱਟ ਹੋ ਜਾਵੇਗਾ। ਡੀਵਾਈਸ ਦੇ Android ਵਿੱਚ ਸਫਲਤਾਪੂਰਵਕ ਬੂਟ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਵਿਕਾਸਕਾਰ ਵਿਕਲਪ ਵਿੱਚ OEM ਅਣਲਾਕ ਨੂੰ ਬੰਦ ਕਰੋ। ਡੀਵਾਈਸ ਸਾਫ਼ ਹੋ ਜਾਵੇਗਾ ਅਤੇ ਤਸਦੀਕ ਤੋਂ ਬਾਅਦ ਫ਼ਾਈਲਸਿਸਟਮ ext4 ਦੇ ਫਾਰਮੈਟ ਵਿੱਚ ਬਦਲ ਜਾਵੇਗਾ। ਇਸਦੇ ਪੂਰਾ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਕਿਰਪਾ ਕਰਕੇ 16KB ਮੋਡ ਨੂੰ ਦੁਬਾਰਾ ਚਾਲੂ ਕਰਨ ਲਈ ਵਾਪਸ ਆਓ।"</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਓ"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"ਡਾਟੇ ਦੇ ਹਿੱਸੇ ਨੂੰ ext4 ਵਿੱਚ ਮੁੜ-ਫਾਰਮੈਟ ਕਰਨਾ ਅਤੇ ਸਾਫ਼ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ।"</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16KB ਮੋਡ ਲਈ ਬੂਟਲੋਡਰ ਨੂੰ ਅਣਲਾਕ ਕਰਨਾ ਲੋੜੀਂਦਾ ਹੈ"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"ਬੂਟਲੋਡਰ ਅਣਲਾਕ ਲੋੜੀਂਦਾ ਹੈ"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"16KB ਵਿਕਾਸਕਾਰ ਵਿਕਲਪ ਵਰਤਣ ਤੋਂ ਪਹਿਲਾਂ, ਇਸ ਡੀਵਾਈਸ ਲਈ ਬੂਟਲੋਡਰ ਅਣਲਾਕ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਇਸ ਮੋਡ ਵਿੱਚ ਸਾਫ਼ਟਵੇਅਰ ਅਖੰਡਤਾ ਦੀ ਗਰੰਟੀ ਨਹੀਂ ਦਿੱਤੀ ਜਾ ਸਕਦੀ ਅਤੇ ਬੂਟਲੋਡਰ ਦੇ ਅਣਲਾਕ ਰਹਿਣ ਦੌਰਾਨ ਫ਼ੋਨ ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਡਾਟਾ ਖਤਰੇ ਵਿੱਚ ਰਹਿ ਸਕਦਾ ਹੈ। 16KB ਮੋਡ ਦੇ ਕਿਰਿਆਸ਼ੀਲ ਹੋਣ \'ਤੇ, ਸਾਰਾ ਵਰਤੋਂਕਾਰ ਡਾਟਾ ਅਤੇ ਸੈਟਿੰਗਾਂ ਸਾਫ਼ ਹੋ ਜਾਣਗੀਆਂ। ਬੂਟਲੋਡਰ ਅਣਲਾਕ ਹੋਣ ਤੋਂ ਬਾਅਦ, 16KB ਵਿਕਲਪ ਦੀ ਕਿਰਿਆਸ਼ੀਲਤਾ ਲਈ ਡੀਵਾਈਸ ਨੂੰ ਦੋ ਵਾਰ ਰੀਬੂਟ ਕਰਨ ਦੀ ਲੋੜ ਪਵੇਗੀ। ਇਸ ਮੋਡ ਵਿੱਚ ਆਉਣ ਤੋਂ ਬਾਅਦ, ਤੁਸੀਂ ਡੀਵਾਈਸ ਨੂੰ ਇੱਕ ਵਾਰ ਰੀਬੂਟ ਕਰ ਕੇ 4KB ਅਤੇ 16KB ਮੋਡ ਵਿਚਕਾਰ ਸਵਿੱਚ ਕਰ ਸਕਦੇ ਹੋ। ਇਨ੍ਹਾਂ ਮੋਡਾਂ ਵਿੱਚ ਕੁਝ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਬੰਦ ਹੋ ਜਾਣਗੀਆਂ, ਇਸ ਲਈ ਸ਼ਾਇਦ ਕੁਝ ਐਪਲੀਕੇਸ਼ਨਾਂ ਕੰਮ ਨਾ ਕਰਨ। ਡੀਵਾਈਸ ਨੂੰ ਪ੍ਰੋਡਕਸ਼ਨ ਮੋਡ \'ਤੇ ਵਾਪਸ ਲਿਜਾਉਣ ਲਈ, ਤੁਹਾਨੂੰ 4KB ਮੋਡ \'ਤੇ ਵਾਪਸ ਸਵਿੱਚ ਕਰਨ ਦੀ ਲੋੜ ਪਵੇਗੀ ਅਤੇ ਫਿਰ OEM/ਬੂਟਲੋਡਰ ਡੀਵਾਈਸ ਨੂੰ ਲਾਕ ਕਰੇਗਾ (ਜਿਸ ਨਾਲ ਫੈਕਟਰੀ ਰੀਸੈੱਟ ਹੋ ਜਾਵੇਗਾ)। ਕਿਰਪਾ ਕਰਕੇ ਬੂਟਲੋਡਰ ਨੂੰ ਅਣਲਾਕ ਕਰੋ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ। ਤੁਸੀਂ <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a> \'ਤੇ ਜਾ ਕੇ ਇਸਨੂੰ ਕਰਨ ਦੇ ਤਰੀਕੇ ਸੰਬੰਧੀ ਹਿਦਾਇਤਾਂ ਦੇਖ ਸਕਦੇ ਹੋ"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"4KB ਪੇਜ-ਐਗਨੌਸਟਿਕ ਮੋਡ ਵਰਤਿਆ ਜਾ ਰਿਹਾ ਹੈ"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"ਤੁਸੀਂ ਪੇਜ-ਐਗਨੌਸਟਿਕ ਮੋਡ ਦੇ 4KB ਮੋਡ ਵਿੱਚ ਹੋ। ਇਸ ਮੋਡ ਵਿੱਚ ਸਾਫ਼ਟਵੇਅਰ ਅਖੰਡਤਾ ਦੀ ਗਰੰਟੀ ਨਹੀਂ ਦਿੱਤੀ ਜਾ ਸਕਦੀ ਅਤੇ ਬੂਟਲੋਡਰ ਦੇ ਅਣਲਾਕ ਰਹਿਣ ਦੌਰਾਨ ਫ਼ੋਨ ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਡਾਟਾ ਖਤਰੇ ਵਿੱਚ ਰਹਿ ਸਕਦਾ ਹੈ। ਇਨ੍ਹਾਂ ਮੋਡਾਂ ਵਿੱਚ ਕੁਝ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਬੰਦ ਹੋ ਜਾਣਗੀਆਂ, ਇਸ ਲਈ ਸ਼ਾਇਦ ਕੁਝ ਐਪਲੀਕੇਸ਼ਨਾਂ ਕੰਮ ਨਾ ਕਰਨ। ਪ੍ਰੋਡਕਸ਼ਨ ਮੋਡ ਵਿੱਚ ਮੁੜ-ਦਾਖਲ ਹੋਣ ਲਈ, ਡੀਵਾਈਸ ਦੇ ਬੂਟਲੋਡਰ ਨੂੰ ਲਾਕ ਕਰਨਾ ਜ਼ਰੂਰੀ ਹੈ। ਹੋਰ ਪੜ੍ਹਨ ਲਈ ਟੈਪ ਕਰੋ।"</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"ਤੁਸੀਂ ਪੇਜ-ਐਗਨੌਸਟਿਕ ਮੋਡ ਦੇ 4KB ਮੋਡ ਵਿੱਚ ਹੋ। ਇਸ ਮੋਡ ਵਿੱਚ ਸਾਫ਼ਟਵੇਅਰ ਅਖੰਡਤਾ ਦੀ ਗਰੰਟੀ ਨਹੀਂ ਦਿੱਤੀ ਜਾ ਸਕਦੀ ਅਤੇ ਬੂਟਲੋਡਰ ਦੇ ਅਣਲਾਕ ਰਹਿਣ ਦੌਰਾਨ ਫ਼ੋਨ ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਡਾਟਾ ਖਤਰੇ ਵਿੱਚ ਰਹਿ ਸਕਦਾ ਹੈ। ਇਨ੍ਹਾਂ ਮੋਡਾਂ ਵਿੱਚ ਕੁਝ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਬੰਦ ਹੋ ਜਾਣਗੀਆਂ, ਇਸ ਲਈ ਸ਼ਾਇਦ ਕੁਝ ਐਪਲੀਕੇਸ਼ਨਾਂ ਕੰਮ ਨਾ ਕਰਨ। ਪ੍ਰੋਡਕਸ਼ਨ ਮੋਡ ਵਿੱਚ ਮੁੜ-ਦਾਖਲ ਹੋਣ ਲਈ, ਡੀਵਾਈਸ ਦੇ ਬੂਟਲੋਡਰ ਨੂੰ ਲਾਕ ਕਰਨਾ ਜ਼ਰੂਰੀ ਹੈ। ਇਸ ਨਾਲ ਡੀਵਾਈਸ ਦੁਬਾਰਾ ਫੈਕਟਰੀ ਰੀਸੈੱਟ ਹੋ ਕੇ ਪ੍ਰੋਡਕਸ਼ਨ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਮੁੜ-ਬਹਾਲ ਹੋ ਜਾਵੇਗਾ। ਡੀਵਾਈਸ ਦੇ Android ਵਿੱਚ ਸਫਲਤਾਪੂਰਵਕ ਬੂਟ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਵਿਕਾਸਕਾਰ ਵਿਕਲਪ ਵਿੱਚ OEM ਅਣਲਾਕ ਨੂੰ ਬੰਦ ਕਰੋ। ਜੇ ਡੀਵਾਈਸ Android ਵਿੱਚ ਬੂਟ ਹੋਣ ਵਿੱਚ ਅਸਫਲ ਰਹਿੰਦਾ ਹੈ ਜਾਂ ਅਸਥਿਰ ਹੈ, ਤਾਂ <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ਤੋਂ ਨਵੀਆਂ ਫੈਕਟਰੀ ਇਮੇਜਾਂ ਨਾਲ ਡੀਵਾਈਸ ਨੂੰ ਮੁੜ-ਫਲੈਸ਼ ਕਰੋ ਜਾਂ <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ਵਰਤੋ ਅਤੇ \'ਡੀਵਾਈਸ ਸਾਫ਼ ਕਰੋ\', \'ਬੂਟਲੋਡਰ ਲਾਕ ਕਰੋ\' ਅਤੇ \'ਸਾਰੇ ਹਿੱਸਿਆਂ ਨੂੰ ਜ਼ਬਰਦਸਤੀ ਫਲੈਸ਼ ਕਰੋ\' ਨੂੰ ਚੁਣੋ।"</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"16KB ਪੇਜ-ਐਗਨੌਸਟਿਕ ਮੋਡ ਵਰਤਿਆ ਜਾ ਰਿਹਾ ਹੈ"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"ਤੁਸੀਂ ਪੇਜ-ਐਗਨੌਸਟਿਕ ਮੋਡ ਦੇ 16KB ਮੋਡ ਵਿੱਚ ਹੋ। ਇਸ ਮੋਡ ਵਿੱਚ ਸਾਫ਼ਟਵੇਅਰ ਅਖੰਡਤਾ ਦੀ ਗਰੰਟੀ ਨਹੀਂ ਦਿੱਤੀ ਜਾ ਸਕਦੀ ਅਤੇ ਬੂਟਲੋਡਰ ਦੇ ਅਣਲਾਕ ਰਹਿਣ ਦੌਰਾਨ ਫ਼ੋਨ ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਡਾਟਾ ਖਤਰੇ ਵਿੱਚ ਰਹਿ ਸਕਦਾ ਹੈ। ਇਨ੍ਹਾਂ ਮੋਡਾਂ ਵਿੱਚ ਕੁਝ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਬੰਦ ਹੋ ਜਾਣਗੀਆਂ, ਇਸ ਲਈ ਸ਼ਾਇਦ ਕੁਝ ਐਪਲੀਕੇਸ਼ਨਾਂ ਕੰਮ ਨਾ ਕਰਨ। ਪ੍ਰੋਡਕਸ਼ਨ ਮੋਡ ਵਿੱਚ ਮੁੜ-ਦਾਖਲ ਹੋਣ ਲਈ, 4K ਮੋਡ \'ਤੇ ਵਾਪਸ ਸਵਿੱਚ ਕਰ ਕੇ ਡੀਵਾਈਸ ਦੇ ਬੂਟਲੋਡਰ ਨੂੰ ਲਾਕ ਕਰਨਾ ਜ਼ਰੂਰੀ ਹੈ। ਹੋਰ ਪੜ੍ਹਨ ਲਈ ਟੈਪ ਕਰੋ।"</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"ਤੁਸੀਂ ਪੇਜ-ਐਗਨੌਸਟਿਕ ਮੋਡ ਦੇ 16KB ਮੋਡ ਵਿੱਚ ਹੋ। ਇਸ ਮੋਡ ਵਿੱਚ ਸਾਫ਼ਟਵੇਅਰ ਅਖੰਡਤਾ ਦੀ ਗਰੰਟੀ ਨਹੀਂ ਦਿੱਤੀ ਜਾ ਸਕਦੀ ਅਤੇ ਬੂਟਲੋਡਰ ਦੇ ਅਣਲਾਕ ਰਹਿਣ ਦੌਰਾਨ ਫ਼ੋਨ ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਡਾਟਾ ਖਤਰੇ ਵਿੱਚ ਰਹਿ ਸਕਦਾ ਹੈ। ਇਨ੍ਹਾਂ ਮੋਡਾਂ ਵਿੱਚ ਕੁਝ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਬੰਦ ਹੋ ਜਾਣਗੀਆਂ, ਇਸ ਲਈ ਸ਼ਾਇਦ ਕੁਝ ਐਪਲੀਕੇਸ਼ਨਾਂ ਕੰਮ ਨਾ ਕਰਨ। ਪ੍ਰੋਡਕਸ਼ਨ ਮੋਡ ਵਿੱਚ ਮੁੜ-ਦਾਖਲ ਹੋਣ ਲਈ, 4K ਮੋਡ \'ਤੇ ਵਾਪਸ ਸਵਿੱਚ ਕਰ ਕੇ ਡੀਵਾਈਸ ਦੇ ਬੂਟਲੋਡਰ ਨੂੰ ਲਾਕ ਕਰਨਾ ਜ਼ਰੂਰੀ ਹੈ। ਇਸ ਨਾਲ ਡੀਵਾਈਸ ਦੁਬਾਰਾ ਫੈਕਟਰੀ ਰੀਸੈੱਟ ਹੋ ਕੇ ਪ੍ਰੋਡਕਸ਼ਨ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਮੁੜ-ਬਹਾਲ ਹੋ ਜਾਵੇਗਾ। ਡੀਵਾਈਸ ਦੇ Android ਵਿੱਚ ਸਫਲਤਾਪੂਰਵਕ ਬੂਟ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਵਿਕਾਸਕਾਰ ਵਿਕਲਪ ਵਿੱਚ OEM ਅਣਲਾਕ ਨੂੰ ਬੰਦ ਕਰੋ। ਜੇ ਡੀਵਾਈਸ Android ਵਿੱਚ ਬੂਟ ਹੋਣ ਵਿੱਚ ਅਸਫਲ ਰਹਿੰਦਾ ਹੈ ਜਾਂ ਅਸਥਿਰ ਹੈ, ਤਾਂ <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ਤੋਂ ਨਵੀਆਂ ਫੈਕਟਰੀ ਇਮੇਜਾਂ ਨਾਲ ਡੀਵਾਈਸ ਨੂੰ ਮੁੜ-ਫਲੈਸ਼ ਕਰੋ ਜਾਂ <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ਵਰਤੋ ਅਤੇ \'ਡੀਵਾਈਸ ਸਾਫ਼ ਕਰੋ\', \'ਬੂਟਲੋਡਰ ਲਾਕ ਕਰੋ\' ਅਤੇ \'ਸਾਰੇ ਹਿੱਸਿਆਂ ਨੂੰ ਜ਼ਬਰਦਸਤੀ ਫਲੈਸ਼ ਕਰੋ\' ਨੂੰ ਚੁਣੋ।"</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"ਤੁਸੀਂ ਪੇਜ-ਐਗਨੌਸਟਿਕ ਮੋਡ ਦੇ 16KB ਮੋਡ ਵਿੱਚ ਹੋ। ਇਸ ਮੋਡ ਵਿੱਚ ਸਾਫ਼ਟਵੇਅਰ ਅਖੰਡਤਾ ਦੀ ਗਰੰਟੀ ਨਹੀਂ ਦਿੱਤੀ ਜਾ ਸਕਦੀ ਅਤੇ ਬੂਟਲੋਡਰ ਦੇ ਅਣਲਾਕ ਹੋਣ ਵੇਲੇ ਫ਼ੋਨ ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਡਾਟਾ ਜੋਖਮ ਵਿੱਚ ਹੋ ਸਕਦਾ ਹੈ। ਇਨ੍ਹਾਂ ਮੋਡਾਂ ਵਿੱਚ ਕੁਝ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਬੰਦ ਹੋ ਜਾਣਗੀਆਂ, ਇਸ ਲਈ ਸ਼ਾਇਦ ਕੁਝ ਐਪਲੀਕੇਸ਼ਨਾਂ ਕੰਮ ਨਾ ਕਰਨ। ਪ੍ਰੋਡਕਸ਼ਨ ਮੋਡ ਵਿੱਚ ਮੁੜ-ਦਾਖਲ ਹੋਣ ਲਈ, ਤੁਹਾਡਾ 4KB ਮੋਡ \'ਤੇ ਵਾਪਸ ਸਵਿੱਚ ਕਰ ਕੇ ਡੀਵਾਈਸ ਦੇ ਬੂਟਲੋਡਰ ਨੂੰ ਲਾਕ ਕਰਨਾ ਲਾਜ਼ਮੀ ਹੈ। ਹੋਰ ਪੜ੍ਹਨ ਲਈ ਟੈਪ ਕਰੋ।"</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"ਤੁਸੀਂ ਪੇਜ-ਐਗਨੌਸਟਿਕ ਮੋਡ ਦੇ 16KB ਮੋਡ ਵਿੱਚ ਹੋ। ਇਸ ਮੋਡ ਵਿੱਚ ਸਾਫ਼ਟਵੇਅਰ ਅਖੰਡਤਾ ਦੀ ਗਰੰਟੀ ਨਹੀਂ ਦਿੱਤੀ ਜਾ ਸਕਦੀ ਅਤੇ ਬੂਟਲੋਡਰ ਦੇ ਅਣਲਾਕ ਹੋਣ ਵੇਲੇ ਫ਼ੋਨ ਵਿੱਚ ਸਟੋਰ ਕੀਤਾ ਡਾਟਾ ਜੋਖਮ ਵਿੱਚ ਹੋ ਸਕਦਾ ਹੈ। ਇਨ੍ਹਾਂ ਮੋਡਾਂ ਵਿੱਚ ਕੁਝ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਬੰਦ ਹੋ ਜਾਣਗੀਆਂ, ਇਸ ਲਈ ਸ਼ਾਇਦ ਕੁਝ ਐਪਲੀਕੇਸ਼ਨਾਂ ਕੰਮ ਨਾ ਕਰਨ। ਪ੍ਰੋਡਕਸ਼ਨ ਮੋਡ ਵਿੱਚ ਮੁੜ-ਦਾਖਲ ਹੋਣ ਲਈ, ਤੁਹਾਡਾ 4KB ਮੋਡ \'ਤੇ ਵਾਪਸ ਸਵਿੱਚ ਕਰ ਕੇ ਡੀਵਾਈਸ ਦੇ ਬੂਟਲੋਡਰ ਨੂੰ ਲਾਕ ਕਰਨਾ ਲਾਜ਼ਮੀ ਹੈ। ਇਸ ਨਾਲ ਡੀਵਾਈਸ ਦੁਬਾਰਾ ਫੈਕਟਰੀ ਰੀਸੈੱਟ ਹੋ ਕੇ ਪ੍ਰੋਡਕਸ਼ਨ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਮੁੜ-ਬਹਾਲ ਹੋ ਜਾਵੇਗਾ। ਡੀਵਾਈਸ ਦੇ Android ਵਿੱਚ ਸਫਲਤਾਪੂਰਵਕ ਬੂਟ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਵਿਕਾਸਕਾਰ ਵਿਕਲਪਾਂ ਵਿੱਚ OEM ਅਣਲਾਕ ਸੈਟਿੰਗ ਨੂੰ ਬੰਦ ਕਰੋ। ਜੇ ਡੀਵਾਈਸ Android ਵਿੱਚ ਬੂਟ ਹੋਣ ਵਿੱਚ ਅਸਫਲ ਰਹਿੰਦਾ ਹੈ ਜਾਂ ਅਸਥਿਰ ਹੈ, ਤਾਂ <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ਤੋਂ ਨਵੇਂ ਫੈਕਟਰੀ ਪ੍ਰਤਿਬਿੰਬਾਂ ਨਾਲ ਡੀਵਾਈਸ ਨੂੰ ਮੁੜ-ਫਲੈਸ਼ ਕਰੋ ਜਾਂ <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ਵਰਤੋ ਅਤੇ \'ਡੀਵਾਈਸ ਸਾਫ਼ ਕਰੋ\', \'ਬੂਟਲੋਡਰ ਨੂੰ ਲਾਕ ਕਰੋ\' ਅਤੇ \'ਸਾਰਿਆਂ ਹਿੱਸਿਆਂ ਨੂੰ ਜ਼ਬਰਦਸਤੀ ਫਲੈਸ਼ ਕਰੋ\'।"</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16KB ਪੇਜ-ਐਗਨੌਸਟਿਕ ਮੋਡ"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"ਹੋਰ ਪੜ੍ਹੋ"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"ਬੱਗ ਰਿਪੋਰਟ ਹੈਂਡਲਰ"</string>
@@ -5007,7 +5072,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ਐਪ ਪਿਨਿੰਗ ਵਰਤੋ"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"ਵਿਕਾਸਕਾਰ ਵਿਕਲਪ ਵਰਤੋ"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"ਪ੍ਰਿੰਟ ਸੇਵਾ ਵਰਤੋ"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"ਇੱਕ ਤੋਂ ਵੱਧ ਵਰਤੋਂਕਾਰਾਂ ਨੂੰ ਆਗਿਆ ਦਿਓ"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"ਆਗਿਆ ਦਿਓ, ਇੱਕ ਤੋਂ ਵੱਧ, ਵਰਤੋਂਕਾਰ, ਪਰਮਿਟ, ਕਈ"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"ਇੱਕ ਤੋਂ ਵੱਧ, ਵਰਤੋਂਕਾਰ, ਪ੍ਰੋਫਾਈਲ, ਲੋਕ, ਖਾਤੇ, ਸਵਿੱਚ, ਬਹੁਤ ਸਾਰੇ"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ਵਾਇਰਲੈੱਸ ਡੀਬੱਗਿੰਗ ਵਰਤੋ"</string>
@@ -5121,8 +5187,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"ਚੁਣੋ ਕਿ ਟੈਬਲੈੱਟ ਡੌਕ ਹੋਣ \'ਤੇ ਤੁਸੀਂ ਆਪਣੀ ਸਕ੍ਰੀਨ \'ਤੇ ਕੀ ਦੇਖਣਾ ਚਾਹੁੰਦੇ ਹੋ। ਸਕ੍ਰੀਨ ਸੇਵਰ ਦੀ ਵਰਤੋਂ ਹੋਣ \'ਤੇ ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਜ਼ਿਆਦਾ ਊਰਜਾ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹੈ।"</string>
<string name="customize_button_title" msgid="1110284655990203359">"ਵਿਉਂਤਬੱਧ ਕਰੋ"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> ਨੂੰ ਵਿਉਂਤਬੱਧ ਕਰੋ"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"ਫ਼੍ਰੀਫ਼ਾਰਮ ਸਹਾਇਤਾ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਰੀਬੂਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।"</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"ਸੈਕੰਡਰੀ ਡਿਸਪਲੇਆਂ \'ਤੇ ਡੈਸਕਟਾਪ ਮੋਡ ਨੂੰ ਜ਼ਬਰਦਸਤੀ ਚਾਲੂ ਕਰਨ ਲਈ ਰੀਬੂਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।"</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"ਵਿਰਾਸਤੀ ਫ੍ਰੀਫਾਰਮ ਵਿੰਡੋ ਸਹਾਇਤਾ ਚਾਲੂ ਕਰਨ ਲਈ ਰੀਬੂਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।"</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"ਫ੍ਰੀਫਾਰਮ ਵਿੰਡੋ ਸਹਾਇਤਾ ਨੂੰ ਬਦਲਣ ਲਈ ਰੀਬੂਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।"</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"ਸੈਕੰਡਰੀ ਡਿਸਪਲੇਆਂ \'ਤੇ ਫ੍ਰੀਫਾਰਮ ਵਿੰਡੋ ਨੂੰ ਜ਼ਬਰਦਸਤੀ ਚਾਲੂ ਕਰਨ ਲਈ ਰੀਬੂਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।"</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"ਹੁਣੇ ਰੀਬੂਟ ਕਰੋ"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"ਬਾਅਦ ਵਿੱਚ ਰੀਬੂਟ ਕਰੋ"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"ਸਪੇਸ਼ਿਅਲ ਆਡੀਓ"</string>
@@ -5351,4 +5418,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ਸਟ੍ਰੀਮ ਸੁਣੋ"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ਨਾਲ ਸੁਣਨ ਲਈ ਆਡੀਓ ਸਟ੍ਰੀਮ ਦਾ QR ਕੋਡ ਸਕੈਨ ਕਰੋ"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"ਸਾਂਝਾਕਰਨ ਦੌਰਾਨ ਪਾਸਵਰਡ ਦਾ ਸੰਪਾਦਨ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ। ਪਾਸਵਰਡ ਬਦਲਣ ਲਈ, ਪਹਿਲਾਂ ਆਡੀਓ ਸਾਂਝਾਕਰਨ ਨੂੰ ਬੰਦ ਕਰੋ।"</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-pl/arrays.xml b/res/values-pl/arrays.xml
index 320e906..3f7b66a 100644
--- a/res/values-pl/arrays.xml
+++ b/res/values-pl/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Pora snu"</item>
+ <item msgid="4152450357280759894">"Prowadzenie samochodu"</item>
+ <item msgid="7096549258219399423">"Wciągająca rozgrywka"</item>
+ <item msgid="2760716776980432977">"Zarządzane"</item>
+ <item msgid="601734478369121764">"Gwiazdka"</item>
+ <item msgid="6243809315432780521">"Kalendarz"</item>
+ <item msgid="4913577903148415331">"Godzina"</item>
+ <item msgid="3653377604690057780">"Teatr"</item>
+ <item msgid="3843711267408385410">"Kwiat"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 72b5c88..cc2f202 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Ustawienia urządzenia słuchowego"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Skrót, zgodność z aparatem słuchowym"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Gotowe ustawienia"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Twój audiolog nie zaprogramował żadnych gotowych ustawień"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Nie udało się zaktualizować gotowego ustawienia"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Wyjście audio"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"O wyjściu audio"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Dodano skan twarzy i <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Dodano skan twarzy, odcisk palca i <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Dodano skan twarzy, odciski palca i <xliff:g id="WATCH">%s</xliff:g>"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Jest to wymagane, ponieważ włączono kontrolę tożsamości"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Odblokowanie Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Dodano zegarek"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Skonfiguruj zegarek"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Więcej informacji o odblokowywaniu za pomocą zegarka"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Dodaj zegarek"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Usuń zegarek"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Odblokowywanie odciskiem palca i rozpoznawanie twarzy"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Rozpoznawanie twarzy i odblokowywanie odciskiem palca"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Rozpoznawanie twarzy i odcisku palca w profilu służbowym"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Wymagana konfiguracja"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Dodano skany twarzy i odciski palca"</string>
@@ -562,7 +564,7 @@
<string name="private_space_fingerprint_enroll_introduction_message" msgid="9092068873421435300">"Używaj odcisku palca do odblokowywania przestrzeni prywatnej lub potwierdzania tożsamości, np. podczas logowania się w aplikacjach lub zatwierdzania zakupów"</string>
<string name="private_space_fingerprint_enroll_introduction_footer_message" msgid="7125255484447984854">"Twoja przestrzeń prywatna może się przypadkowo odblokować, np. gdy ktoś przyłoży Twój palec do telefonu."</string>
<string name="private_space_fingerprint_enroll_finish_message" msgid="4754797926493316965">"Używaj odcisku palca do odblokowywania przestrzeni prywatnej lub zatwierdzania zakupów"</string>
- <string name="private_space_face_enroll_introduction_title" msgid="3717541082520006032">"Skonfiguruj rozpoznawanie twarzy do odblokowywania przestrzeni prywatnej"</string>
+ <string name="private_space_face_enroll_introduction_title" msgid="3717541082520006032">"Ustaw odblokowywanie przestrzeni prywatnej rozpoznawaniem twarzy"</string>
<string name="private_space_face_enroll_introduction_message" msgid="250239418499081821">"Używaj rozpoznawania twarzy do odblokowywania przestrzeni prywatnej lub potwierdzania tożsamości, np. podczas logowania się w aplikacjach lub zatwierdzania zakupów"</string>
<string name="private_space_face_enroll_introduction_info_looking" msgid="5694757845303924042">"Patrząc na telefon, możesz niechcący odblokować przestrzeń prywatną. Może ją odblokować także ktoś, kto wygląda bardzo podobnie do Ciebie (np. bliźniacze rodzeństwo) lub zbliży urządzenie do Twojej twarzy."</string>
<string name="private_space_face_enroll_introduction_info_less_secure" msgid="8460719783943533172">"Korzystanie z rozpoznawania twarzy do odblokowywania przestrzeni prywatnej może być mniej bezpieczne niż skomplikowany wzór, hasło czy kod PIN"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Instalowanie aplikacji"</b>\n"Zainstaluj w swojej przestrzeni aplikacje, które mają pozostać prywatne"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Pamiętaj"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Aplikacje przestają działać, gdy blokujesz swoją przestrzeń"</b>\n"Po zablokowaniu przestrzeni działające w niej aplikacje zostaną zatrzymane i nie będziesz otrzymywać powiadomień na ich temat"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Przestrzenie prywatne nie są odpowiednie dla aplikacji, które muszą działać w tle lub wysyłać krytyczne powiadomienia (np. aplikacje medyczne). Wynika to z tego, że działanie w tle i powiadomienia są wstrzymywane, gdy przestrzeń jest zablokowana.\n\nPo zablokowaniu przestrzeni prywatnej umieszczone w niej aplikacje nie będą też widoczne w menedżerze uprawnień, panelu prywatności ani innych ustawieniach.\n\nPrzestrzeni prywatnej nie można przenieść na inne urządzenie. Jeśli chcesz z niej korzystać na innym urządzeniu, musisz utworzyć nową przestrzeń.\n\nKażdy, kto połączy Twoje urządzenie z komputerem lub zainstaluje na urządzeniu szkodliwe aplikacje, będzie mógł uzyskać dostęp do Twojej przestrzeni prywatnej."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Przestrzenie prywatne nie są odpowiednie dla aplikacji, które muszą działać w tle lub wysyłać krytyczne powiadomienia (np. aplikacje medyczne). Wynika to z tego, że działanie w tle i powiadomienia są wstrzymywane, gdy przestrzeń jest zablokowana.\n\nPo zablokowaniu przestrzeni prywatnej umieszczone w niej aplikacje nie będą też widoczne w menedżerze uprawnień, panelu prywatności ani innych ustawieniach.\n\nPrzestrzeni prywatnej nie można przywrócić na innym urządzeniu. Jeśli chcesz z niej korzystać na innym urządzeniu, musisz utworzyć nową przestrzeń.\n\nKażdy, kto połączy Twoje urządzenie z komputerem lub zainstaluje na urządzeniu szkodliwe aplikacje, będzie mógł uzyskać dostęp do Twojej przestrzeni prywatnej."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Więcej o przestrzeni prywatnej"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Potrwa to kilka chwil"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Konfiguruję przestrzeń prywatną…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Uruchomić urządzenie ponownie?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Szczegółowe logowanie NFC jest przeznaczone tylko dla programistów. Dodatkowe dane NFC są dołączane do raportów o błędach i mogą zawierać informacje prywatne. Uruchom urządzenie ponownie, aby zmienić to ustawienie."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Uruchom ponownie"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Przesyłanie ekranu"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"odbicie lustrzane"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Wyświetlacz bezprzewodowy"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptacyjne"</string>
<string name="brightness" msgid="6216871641021779698">"Poziom jasności"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Automatyczna jasność"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Informacje o automatycznej jasności"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Jasność ekranu będzie automatycznie dostosowywana do otoczenia i Twojej aktywności. Możesz ręcznie przesunąć suwak, by pomóc automatycznej jasności poznać Twoje preferencje."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Włączona"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Wył."</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Opcje"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Ułatwienia dostępu"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Klawiatura fizyczna"</string>
- <string name="show_ime" msgid="4334255501724746849">"Używaj klawiatury ekranowej"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Pozostaw na ekranie, gdy aktywna jest klawiatura fizyczna"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Klawisze zwrócone"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Klawiatura ignoruje szybkie naciśnięcia tego samego klawisza powtórzone w ciągu <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Klawisze powolne"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Wybrany przez użytkownika: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Mowa"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Szybkość wskaźnika"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Kontroler gier"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Przekierowuj wibracje"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Po podłączeniu kontrolera gier przekieruj do niego wibracje"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Kontynuuj mimo to"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Anuluj"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Ustawienia powiększenia"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Przesuwanie jednym palcem"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Przesuń lupę 1 palcem"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Aby przesunąć ekran, przeciągnij po nim palcem."</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Przesuń obszar powiększenia, przeciągając jeden palec."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Przesuń obszar powiększenia, przeciągając dwa palce."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Niedostępne podczas powiększania tylko części ekranu"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Kliknij przycisk, by powiększyć"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Szybko powiększaj ekran, aby dokładniej widzieć zawartość wyświetlacza"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Aby powiększyć:</b><br/> {0,number,integer}. Włącz powiększenie za pomocą skrótu<br/> {1,number,integer}. Kliknij ekran<br/> {2,number,integer}. Aby przesuwać powiększony ekran, przeciągaj po nim dwoma palcami<br/> {3,number,integer}. Aby regulować powiększenie, ściągaj i rozciągaj ekran dwoma palcami<br/> {4,number,integer}. Wyłącz powiększenie za pomocą skrótu<br/><br/><b>Aby powiększyć tymczasowo:</b><br/> {0,number,integer}. Sprawdź, czy ustawiony typ powiększenia to pełny ekran<br/> {1,number,integer}. Włącz powiększenie za pomocą skrótu<br/> {2,number,integer}. Naciśnij i przytrzymaj dowolne miejsce na ekranie<br/> {3,number,integer}. Aby przesuwać powiększony ekran, przeciągaj po nim palcem<br/> {4,number,integer}. Podnieś palec, aby wyłączyć powiększenie"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Aby powiększyć:</b><br/> {0,number,integer}. Włącz powiększenie skrótem.<br/> {1,number,integer}. Kliknij ekran<br/> {2,number,integer}. Aby przesuwać powiększony ekran, przeciągaj po nim 2 palcami<br/> {3,number,integer}. Aby regulować powiększenie, ściągaj i rozciągaj ekran 2 palcami<br/> {4,number,integer}. Aby wyłączyć powiększenie, użyj skrótu<br/><br/> Możesz też między innymi powiększyć ekran tymczasowo."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Aby powiększyć:</b><br/> {0,number,integer}. Włącz powiększenie skrótem.<br/> {1,number,integer}. Kliknij ekran<br/> {2,number,integer}. Aby przesunąć ekran, przeciągnij po nim 1 lub 2 palcami.<br/> {3,number,integer}. Aby regulować powiększenie, ściągaj i rozciągaj ekran 2 palcami<br/> {4,number,integer}. Aby wyłączyć powiększenie, użyj skrótu<br/><br/> Możesz też między innymi powiększyć ekran tymczasowo."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Gdy powiększenie jest włączone, możesz powiększać fragmenty ekranu.\n\n"<b>"Aby powiekszyć"</b>", uruchom powiększenie, a następnie kliknij dowolne miejsce na ekranie.\n"<ul><li>"Przeciągnij co najmniej dwoma palcami, by przewijać."</li>\n<li>"Ściągnij do siebie co najmniej dwa palce, by dostosować powiększenie."</li></ul>\n\n<b>"Aby powiększyć tymczasowo"</b>", uruchom powiększenie, a następnie naciśnij i przytrzymaj dowolne miejsce na ekranie.\n"<ul><li>"Przeciągaj palcem, by poruszać się po ekranie."</li>\n<li>"Unieś palec, by wyłączyć powiększenie."</li></ul>\n\n"Nie można powiększyć klawiatury ani paska nawigacji."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Strona <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> z <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Skrót do przycisku ułatwień dostępu"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Otrzymuj powiadomienia tylko od ważnych osób i z kluczowych aplikacji"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Wybierz typ aktywacji"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Godzina"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Na przykład: „9:30–17:00”"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Kalendarz"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Na przykład: „Kalendarz osobisty”"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Utwórz tryb"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Niestandardowy"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ograniczanie powiadomień"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Włącz tryb Nie przeszkadzać"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Dźwięki alarmów i multimediów mogą ignorować tryb Nie przeszkadzać"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Harmonogramy"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Usuń harmonogramy"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Usuń"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Edytuj"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Harmonogramy"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Harmonogram"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Ustaw harmonogram"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Zaplanuj"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> godz. <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Włącz automatycznie"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Harmonogram"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Wycisz telefon o pewnych porach"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Ustaw reguły trybu Nie przeszkadzać"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Zezwalaj na powiadomienia dźwiękowe"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokuj wyświetlanie"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Zezwól na sygnały wizualne"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Powiadomienia, które mogą do Ciebie docierać"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Pełne skupienie"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Dodatkowe działania"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Ustawienia wyświetlania"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Opcje wyświetlania"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"włącz ciemny motyw"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Włącz preferowanie jasnego tekstu na ciemnym tle w systemie operacyjnym i aplikacjach, co mniej obciąża oczy i może zapewnić znacznie większą oszczędność energii na niektórych urządzeniach"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Brak zmian dotyczących wyświetlania}=1{{effect_1}}=2{{effect_1} i {effect_2}}=3{{effect_1}, {effect_2} i {effect_3}}few{{effect_1}, {effect_2} i # więcej}many{{effect_1}, {effect_2} i # więcej}other{{effect_1}, {effect_2} i # więcej}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filtruj zakłócenia"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Żadne zakłócenia nie są filtrowane"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opcje wyświetlania filtrowanych powiadomień"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Po włączeniu trybu Nie przeszkadzać"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Brak dźwięku powiadomień"</string>
@@ -3483,6 +3541,8 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"otwórz powiadomienie"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Zezwalaj na odkładanie powiadomień"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Kropka powiadomienia na ikonie aplikacji"</string>
+ <!-- no translation found for notification_bundles (3614044525822580826) -->
+ <skip />
<string name="notification_bubbles_title" msgid="5681506665322329301">"Dymki"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Dymki"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Wyświetlaj tę rozmowę w dymkach"</string>
@@ -3664,6 +3724,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Kategorie"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Inne"</string>
<string name="no_channels" msgid="4716199078612071915">"Ta aplikacja nie opublikowała żadnych powiadomień"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Pokaż nieużywane kategorie"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Dodatkowe ustawienia w aplikacji"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Pokaż nieużywane kategorie"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Ukryj nieużywane kategorie"</string>
@@ -3775,6 +3836,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Wszystkie"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Zezwól na zastępowanie przez aplikacje"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikacje, które mogą ignorować tryb Nie przeszkadzać"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Wybierz więcej aplikacji"</string>
@@ -4799,8 +4862,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Etui"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Bateria"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Panel ustawień"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Wymuś tryb pulpitu"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Wymuś eksperymentalny tryb pulpitu na dodatkowych ekranach"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Włącz dowolny rozmiar okien"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Włącz obsługę dowolnego rozmiaru okien."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Włącz dowolny rozmiar okien na drugim ekranie"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Włącz obsługę dowolnego rozmiaru okien tylko na drugim ekranie."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Włącz brak możliwości zmiany rozmiaru w trybie wielu okien"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Zezwala na wyświetlanie aplikacji bez możliwości zmiany rozmiaru w trybie wielu okien"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Wymuszaj tryb ciemny"</string>
@@ -4868,14 +4933,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Aby można było użyć trybu 16 kB w Opcjach programisty, musisz przekonwertować partycję danych na system ext4. W tym trybie nie można zagwarantować integralności oprogramowania. Kiedy program rozruchowy będzie odblokowany, dane zapisane na telefonie mogą być zagrożone. Po aktywowaniu trybu 16 kB będzie trzeba uruchomić urządzenie ponownie. Po włączeniu tego trybu przełączanie się między trybami 4 kB i 16 kB będzie wymagało tylko jednokrotnego restartu. W tych trybach niektóre funkcje będą wyłączone, a część aplikacji może nie działać. Aby przywrócić na urządzeniu tryb produkcyjny, musisz przełączyć je z powrotem na tryb 4 kB i zablokować program rozruchowy, co spowoduje zresetowanie urządzenia. Gdy na urządzeniu uruchomi się Android, wyłącz zdjęcie blokady OEM w Opcjach programisty. Z urządzenia zostaną usunięte wszystkie dane, a po potwierdzeniu system plików zmieni się na ext4. Po wykonaniu tych czynności wróć tutaj, aby ponownie włączyć tryb 16 kB."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Usuń wszystkie dane"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Nie udało się wyczyścić partycji danych i sformatować jej jako ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Tryb 16 KB wymaga odblokowania programu rozruchowego"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Wymagane odblokowanie programu rozruchowego"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Aby można było użyć trybu 16 KB w Opcjach programisty, musisz odblokować program rozruchowy. W tym trybie nie można zagwarantować integralności oprogramowania. Kiedy program rozruchowy będzie odblokowany, dane zapisane na telefonie mogą być zagrożone. Po włączeniu trybu 16 KB zostaną usunięte wszystkie dane i ustawienia użytkownika. Gdy program rozruchowy zostanie odblokowany, będzie trzeba dwukrotnie uruchomić ponownie urządzenia, aby włączyć tryb 16 KB. Po włączeniu tego trybu przełączanie się między trybami 4 KB i 16 KB będzie wymagało tylko jednokrotnego restartu. W tych trybach niektóre funkcje będą wyłączone, a część aplikacji może nie działać. Aby przywrócić na urządzeniu tryb produkcyjny, musisz przełączyć je z powrotem na tryb 4 KB i włączyć blokadę OEM lub zablokować program rozruchowy, co spowoduje zresetowanie urządzenia. Odblokuj program rozruchowy i spróbuj jeszcze raz. Instrukcje znajdziesz na stronie <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>."</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Włączony jest ogólny tryb strony 4 kB"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Korzystasz z ogólnego trybu strony 4 kB. W tym trybie nie można zagwarantować integralności oprogramowania. Kiedy program rozruchowy będzie odblokowany, dane zapisane na telefonie mogą być zagrożone. W tych trybach niektóre funkcje będą wyłączone, a część aplikacji może nie działać. Aby wrócić do trybu produkcyjnego, musisz zablokować program rozruchowy urządzenia. Kliknij, aby dowiedzieć się więcej."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Korzystasz z ogólnego trybu strony 4 kB. W tym trybie nie można zagwarantować integralności oprogramowania. Kiedy program rozruchowy będzie odblokowany, dane zapisane na telefonie mogą być zagrożone. W tych trybach niektóre funkcje będą wyłączone, a część aplikacji może nie działać. Aby wrócić do trybu produkcyjnego, musisz zablokować program rozruchowy urządzenia. Spowoduje to ponowne zresetowanie urządzenia i przywrócenie na nim ustawień produkcyjnych. Gdy na urządzeniu uruchomi się Android, wyłącz zdjęcie blokady OEM w Opcjach programisty. Jeśli nie uda się uruchomić Androida lub będzie on działać niestabilnie, sflashuj na urządzeniu najnowszy obraz fabryczny pobrany ze strony <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> lub użyj narzędzia <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> i wybierz kolejno opcje „Wyczyść pamięć urządzenia”, „Zablokuj program rozruchowy” i „Wymuś flashowanie wszystkich partycji”."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Włączony jest ogólny tryb strony 16 kB"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Korzystasz z ogólnego trybu strony 16 kB. W tym trybie nie można zagwarantować integralności oprogramowania. Kiedy program rozruchowy będzie odblokowany, dane zapisane na telefonie mogą być zagrożone. W tych trybach niektóre funkcje będą wyłączone, a część aplikacji może nie działać. Aby wrócić do trybu produkcyjnego, musisz przełączyć się z powrotem na tryb 4 kB i zablokować program rozruchowy urządzenia. Kliknij, aby dowiedzieć się więcej."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Korzystasz z ogólnego trybu strony 16 kB. W tym trybie nie można zagwarantować integralności oprogramowania. Kiedy program rozruchowy będzie odblokowany, dane zapisane na telefonie mogą być zagrożone. W tych trybach niektóre funkcje będą wyłączone, a część aplikacji może nie działać. Aby wrócić do trybu produkcyjnego, musisz przełączyć się z powrotem na tryb 4 kB i zablokować program rozruchowy urządzenia. Spowoduje to ponowne zresetowanie urządzenia i przywrócenie na nim ustawień produkcyjnych. Gdy na urządzeniu uruchomi się Android, wyłącz zdjęcie blokady OEM w Opcjach programisty. Jeśli nie uda się uruchomić Androida lub będzie on działać niestabilnie, sflashuj na urządzeniu najnowszy obraz fabryczny pobrany ze strony <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> lub użyj narzędzia <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> i wybierz kolejno opcje „Wyczyść pamięć urządzenia”, „Zablokuj program rozruchowy” i „Wymuś flashowanie wszystkich partycji”."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Korzystasz z ogólnego trybu strony 16 KB. W tym trybie nie można zagwarantować integralności oprogramowania. Kiedy program rozruchowy będzie odblokowany, dane zapisane na telefonie mogą być zagrożone. W tych trybach niektóre funkcje będą wyłączone, a część aplikacji może nie działać. Aby wrócić do trybu produkcyjnego, musisz przełączyć się z powrotem na tryb 4 KB i zablokować program rozruchowy urządzenia. Kliknij, aby dowiedzieć się więcej."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Korzystasz z ogólnego trybu strony 16 KB. W tym trybie nie można zagwarantować integralności oprogramowania. Kiedy program rozruchowy będzie odblokowany, dane zapisane na telefonie mogą być zagrożone. W tych trybach niektóre funkcje będą wyłączone, a część aplikacji może nie działać. Aby wrócić do trybu produkcyjnego, musisz przełączyć się z powrotem na tryb 4 KB i zablokować program rozruchowy urządzenia. Spowoduje to ponowne zresetowanie urządzenia i przywrócenie na nim ustawień produkcyjnych. Gdy na urządzeniu uruchomi się Android, wyłącz zdjęcie blokady OEM w Opcjach programisty. Jeśli nie uda się uruchomić Androida lub będzie on działać niestabilnie, sflashuj na urządzeniu najnowszy obraz fabryczny pobrany ze strony <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> lub użyj narzędzia <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> i wybierz kolejno opcje „Wyczyść pamięć urządzenia”, „Zablokuj program rozruchowy” i „Wymuś flashowanie wszystkich partycji”."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Ogólny tryb strony 16 kB"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Więcej informacji"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Obsługiwanie zgłaszania błędów"</string>
@@ -5009,7 +5074,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Używaj przypinania aplikacji"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Używaj opcji programisty"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Używaj usługi drukowania"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Zezwalaj na wielu użytkowników"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"zezwalać, wiele, użytkownik, pozwolenie, dużo"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"kilka, użytkownicy, profile, ludzie, konta, przełącznik, wiele"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Używaj debugowania bezprzewodowego"</string>
@@ -5123,8 +5189,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Wybierz, co ma być widoczne na ekranie, kiedy tablet będzie zadokowany. Urządzenie może pobierać więcej energii podczas korzystania z wygaszacza ekranu."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Dostosuj"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Dostosuj wygaszacz ekranu <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Włączenie obsługi trybu dowolnego wymaga ponownego uruchomienia."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Wymuszenie wersji na komputery na dodatkowych wyświetlaczach wymaga ponownego uruchomienia."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Włączenie obsługi dowolnego rozmiaru okien w starszej wersji wymaga ponownego uruchomienia urządzenia."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Zmiana obsługi dowolnego rozmiaru okien wymaga ponownego uruchomienia urządzenia."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Wymuszenie obsługi dowolnego rozmiaru okien na drugim ekranie wymaga ponownego uruchomienia urządzenia."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Uruchom ponownie teraz"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Uruchom ponownie później"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Dźwięk przestrzenny"</string>
@@ -5353,4 +5420,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Posłuchaj strumienia"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Zeskanuj kod QR strumienia audio, aby słuchać na urządzeniu <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Podczas udostępniania nie można edytować hasła. Aby je zmienić, najpierw wyłącz udostępnianie dźwięku."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-pt-rBR/arrays.xml b/res/values-pt-rBR/arrays.xml
index d3b2406..06b6904 100644
--- a/res/values-pt-rBR/arrays.xml
+++ b/res/values-pt-rBR/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Hora de dormir"</item>
+ <item msgid="4152450357280759894">"Ao dirigir"</item>
+ <item msgid="7096549258219399423">"Imersivo"</item>
+ <item msgid="2760716776980432977">"Gerenciado"</item>
+ <item msgid="601734478369121764">"Marcar com estrela"</item>
+ <item msgid="6243809315432780521">"Agenda"</item>
+ <item msgid="4913577903148415331">"Horário"</item>
+ <item msgid="3653377604690057780">"Teatro"</item>
+ <item msgid="3843711267408385410">"Flor"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index 82bab61..2aa3b2a 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Configurações do aparelho auditivo"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Atalho, compatibilidade com aparelhos auditivos"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Predefinição"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Não há predefinições programadas pelo seu audiologista"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Não foi possível atualizar a predefinição"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Saída de áudio"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Sobre a saída de áudio"</string>
@@ -137,7 +138,7 @@
<string name="stylus_device_details_title" msgid="7618295136015480864">"Stylus"</string>
<string name="stylus_default_notes_app" msgid="4165657465911764628">"Pressionar o botão da stylus"</string>
<string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (perfil de trabalho)"</string>
- <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Escreva nos campos de texto"</string>
+ <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Escrever nos campos de texto"</string>
<string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorar todos os pressionamentos de botão com a stylus"</string>
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
<string name="date_and_time" msgid="1788358029823431692">"Data e hora"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Rosto e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Rosto, impressão digital e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Rosto, impressões digitais e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Isso é necessário porque a verificação de identidade está ativada"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Desbloqueio do Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Relógio adicionado"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Configurar o relógio"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Saiba mais sobre o \"Desbloqueio do relógio\""</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Adicionar relógio"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Remover relógio"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Impressão digital e Desbloqueio facial"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Desbloqueio facial e por impressão digital"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Desbloqueio facial e por impressão digital para o trabalho"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Configuração necessária"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Rosto e impressões digitais adicionados"</string>
@@ -558,7 +560,7 @@
<string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Desbloqueio por impressão digital para o espaço privado"</string>
<string name="private_space_face_unlock_title" msgid="462248384776453613">"Desbloqueio facial para o espaço privado"</string>
<string name="private_space_biometric_unlock_title" msgid="1978145237698659673">"Desbloqueio facial e por digital para espaço privado"</string>
- <string name="private_space_fingerprint_enroll_introduction_title" msgid="5187730641333680942">"Configurar o Desbloqueio por impressão digital para o espaço privado"</string>
+ <string name="private_space_fingerprint_enroll_introduction_title" msgid="5187730641333680942">"Configurar Desbloqueio por digital para o espaço privado"</string>
<string name="private_space_fingerprint_enroll_introduction_message" msgid="9092068873421435300">"Use sua impressão digital para desbloquear seu espaço privado ou confirmar sua identidade e acessar apps ou aprovar uma compra"</string>
<string name="private_space_fingerprint_enroll_introduction_footer_message" msgid="7125255484447984854">"O espaço privado poderá ser desbloqueado mesmo se essa não for sua intenção. Por exemplo, se alguém colocar seu dedo no sensor."</string>
<string name="private_space_fingerprint_enroll_finish_message" msgid="4754797926493316965">"Use sua impressão digital para desbloquear o espaço privado ou aprovar compras"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Instale apps"</b>\n"Instale os apps que você quer guardar no seu espaço com privacidade"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Observação importante"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Os apps são interrompidos quando você bloqueia o espaço"</b>\n"Ao bloquear o espaço, os apps nele serão interrompidos e você não vai receber notificações deles"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Os espaços privados não são adequados para apps que precisam ser executados em segundo plano ou enviam notificações importantes, como os que lidam com informações médicas, porque notificações e atividades em segundo plano são interrompidas quando o espaço é bloqueado.\n\nEm um espaço bloqueado, os apps não aparecem na Gestão de permissões, no painel de privacidade e nem em outras configurações.\n\nNão é possível transferir seu espaço privado para outro dispositivo. Você precisará configurar um novo espaço privado se quiser usá-lo em outro dispositivo.\n\nCaso alguém conecte seu dispositivo a um computador ou instale apps nocivos nele, essa pessoa poderá ter acesso ao seu espaço privado."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Os espaços privados não são adequados para apps que precisam ser executados em segundo plano ou enviar notificações importantes, como apps médicos. Isso porque as notificações e atividades em segundo plano são interrompidas quando o espaço é bloqueado.\n\nOs apps no espaço privado não vão aparecer na Gestão de permissões, no painel de privacidade nem em outras configurações quando o espaço estiver bloqueado.\n\nNão é possível restaurar seu espaço privado em outro dispositivo. Você precisará configurar um novo espaço privado se quiser usá-lo em outro dispositivo.\n\nCaso alguém conecte seu dispositivo a um computador ou instale apps maliciosos nele, essa pessoa poderá ter acesso ao seu espaço privado."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Saiba mais sobre o espaço privado"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Isso vai levar alguns instantes"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Configurando o espaço privado…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Reiniciar o dispositivo?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"O registro detalhado de NFC é destinado apenas a fins de desenvolvimento. Dados NFC extras estão incluídos em relatórios de bugs, que podem conter informações particulares. Reinicie o dispositivo para mudar essa configuração."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Reiniciar"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Transmitir"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"espelho"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Ativar tela sem fio"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptáveis"</string>
<string name="brightness" msgid="6216871641021779698">"Nível de brilho"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Brilho adaptável"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Sobre o brilho adaptável"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"O brilho da tela será ajustado automaticamente ao seu ambiente e às suas atividades. Mova o controle deslizante para ajudar o brilho adaptável a memorizar suas preferências."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Ativado"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Desativado"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Opções"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Acessibilidade"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Teclado físico"</string>
- <string name="show_ime" msgid="4334255501724746849">"Usar teclado na tela"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Manter na tela enquanto o teclado físico estiver ativo"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Teclas de filtro"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"O teclado ignora pressionamentos rápidos e repetidos da mesma tecla dentro de <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Usuário selecionado: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Fala"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Velocidade do cursor"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Controlador de jogos"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Redirecionar vibração"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Enviar vibração para o controlador de jogo quando conectado"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continuar mesmo assim"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancelar"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Configurações de ampliação"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Movimento com um dedo"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Mova a lupa com 1 dedo"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Arraste um dedo para mover a tela."</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Mova a área de ampliação arrastando um dedo."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Mova a área de ampliação arrastando dois dedos."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Indisponível ao ampliar apenas parte da tela"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Toque em um botão para aplicar zoom"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Aplique zoom rapidamente na tela para ampliar o conteúdo"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Para aumentar o zoom, faça o seguinte:</b><br/> {0,number,integer}. Use o atalho para iniciar a ampliação.<br/> {1,number,integer}. Toque na tela.<br/> {2,number,integer}. Arraste dois dedos para navegar pela tela.<br/> {3,number,integer}. Faça um gesto de pinça com dois dedos para ajustar o zoom.<br/> {4,number,integer}. Use o atalho para interromper a ampliação.<br/><br/> <b>Se quiser aumentar o zoom temporariamente, faça o seguinte:</b><br/> {0,number,integer}. Confira se o tipo de ampliação está definido como tela cheia.<br/> {1,number,integer}. Use o atalho para iniciar a ampliação.<br/> {2,number,integer}. Toque em qualquer lugar da tela e a mantenha pressionada.<br/> {3,number,integer}. Arraste o dedo para navegar pela tela.<br/> {4,number,integer}. Solte para interromper a ampliação."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Para aumentar o zoom, faça o seguinte:</b><br/> {0,number,integer}. Use o atalho para iniciar a ampliação.<br/> {1,number,integer}. Toque na tela.<br/> {2,number,integer}. Arraste 2 dedos para navegar pela tela.<br/> {3,number,integer}. Faça um gesto de pinça com 2 dedos para ajustar o zoom.<br/> {4,number,integer}. Pare a ampliação usando um atalho<br/><br/> Você também pode aumentar o zoom temporariamente e fazer várias outras ações|."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Para aumentar o zoom, faça o seguinte:</b><br/> {0,number,integer}. Use o atalho para iniciar a ampliação.<br/> {1,number,integer}. Toque na tela.<br/> {2,number,integer}. Arraste 1 ou 2 dedos para navegar pela tela.<br/> {3,number,integer}. Faça um gesto de pinça com 2 dedos para ajustar o zoom.<br/> {4,number,integer}. Pare a ampliação usando um atalho<br/><br/> Você também pode aumentar o zoom temporariamente e fazer várias outras ações|."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Quando a ampliação está ativada, você pode aumentar o zoom na tela.\n\n"<b>"Para aplicar zoom"</b>", inicie a ampliação e toque em qualquer lugar da tela.\n"<ul><li>"Arraste dois dedos ou mais para rolar a tela."</li>\n<li>"Faça um gesto de pinça com dois ou mais dedos para ajustar o zoom."</li></ul>\n\n<b>"Para aplicar zoom temporariamente"</b>", inicie a ampliação e depois toque em qualquer ponto na tela e mantenha-o pressionado.\n"<ul><li>"Arraste para mover a tela."</li>\n<li>"Levante o dedo para diminuir o zoom."</li></ul>\n\n"Não é possível aumentar o zoom no teclado e na barra de navegação."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Página <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> de <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Atalho para o botão de acessibilidade"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Receber notificações apenas de pessoas e apps importantes"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Selecionar tipo de ativação"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Horário"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Exemplo: \"Das 9h30 às 17h\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Agenda"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Exemplo: \"Agenda pessoal\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Criar um modo"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Personalizado"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitar interrupções"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Ativar o Não perturbe"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarmes e sons de mídia podem interromper"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Programações"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Excluir programações"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Excluir"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Editar"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Programações"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Programação"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Adicione uma agenda"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Use sua agenda"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Programação"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Definir uma programação"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Programação"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g>h e <xliff:g id="MINUTES">%2$d</xliff:g>min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Ativar automaticamente"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Programação"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Silenciar smartphone em horários específicos"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Definir regras do modo \"Não perturbe\""</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Permitir interrupções que emitem sons"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Bloquear perturbações visuais"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Permitir sinais visuais"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Notificações que podem chegar até você"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Mantenha o foco"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Ações adicionais"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Configurações de tela"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Opções de exibição"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ativar tema escuro"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Muda o SO e os apps para dar preferência a texto claro em um fundo escuro, o que pode facilitar a visualização e oferecer uma economia de bateria significativa em alguns dispositivos"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Nenhuma mudança na tela}=1{{effect_1}}=2{{effect_1} e {effect_2}}=3{{effect_1}, {effect_2} e {effect_3}}one{{effect_1}, {effect_2} e mais #}other{{effect_1}, {effect_2} e mais #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filtrar interrupções"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Nenhuma interrupção está sendo filtrada"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opções de exibição para notificações filtradas"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Quando o Não perturbe estiver ativado"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Desativar som de notificações"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"abrir notificação"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Permitir adiar notificações"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Ponto de notificação no ícone do app"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Pacotes de notificações"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Balões"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Balões"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Mostrar conversa em um balão"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Categorias"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Outros"</string>
<string name="no_channels" msgid="4716199078612071915">"Este app não postou nenhuma notificação"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Mostrar categorias não usadas"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Configurações avançadas no app"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Mostrar categorias não usadas"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Ocultar categorias não usadas"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Todos"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permitir que apps modifiquem o \"Não perturbe\""</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps que podem fazer interrupções"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Selecionar mais apps"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Mudar para somente alarmes por uma hora até {time}}one{Mudar para somente alarmes por # hora até {time}}other{Mudar para somente alarmes por # horas até {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Alterar para \"Somente alarmes\" até <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Alterar para \"Sempre interromper\""</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Renomear"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Mudar ícone"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Mudar ícone"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Alerta"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Fechar"</string>
<string name="device_feedback" msgid="5351614458411688608">"Enviar feedback sobre o dispositivo"</string>
@@ -4047,8 +4103,8 @@
<string name="keywords_vr_listener" msgid="902737490270081131">"rv realidade virtual ouvinte estéreo serviço de ajuda"</string>
<string name="overlay_settings" msgid="2030836934139139469">"Sobrepor a outros apps"</string>
<string name="filter_overlay_apps" msgid="2483998217116789206">"Apps com permissão"</string>
- <string name="app_permission_summary_allowed" msgid="1155115629167757278">"Permitidas"</string>
- <string name="app_permission_summary_not_allowed" msgid="2673793662439097900">"Não permitidas"</string>
+ <string name="app_permission_summary_allowed" msgid="1155115629167757278">"Permitidos(as)"</string>
+ <string name="app_permission_summary_not_allowed" msgid="2673793662439097900">"Não permitidos(as)"</string>
<string name="keywords_install_other_apps" msgid="563895867658775580">"instalar apps fontes desconhecidas"</string>
<string name="write_settings" msgid="6864794401614425894">"Mudar configurações do sistema"</string>
<string name="keywords_write_settings" msgid="6908708078855507813">"gravar modificar configurações de modificação"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Estojo"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Bateria"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Painel de configurações"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Forçar modo de área de trabalho"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Forçar o modo de área de trabalho experimental em telas secundárias"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Ativar janelas de forma livre"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Permitir compatibilidade com janelas de forma livre"</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Permitir janelamento de forma livre na segunda tela"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Permitir janelas de forma livre apenas na tela secundária."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Ativar recursos não redimensionáveis em várias janelas"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Permitir que apps não redimensionáveis sejam usados em várias janelas"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Manter o recurso Forçar modo escuro ativado"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"A partição de dados deste dispositivo precisa ser convertida em ext4 antes do uso da opção para desenvolvedores de 16 KB. A integridade do software não é garantida nesse modo, e todos os dados armazenados no smartphone enquanto o carregador de inicialização está desbloqueado podem ser expostos a riscos. A ativação da opção de 16 KB exigirá uma segunda reinicialização. Neste modo, você pode alternar entre os modos 4 KB e 16 KB com uma única reinicialização. Como alguns recursos serão desativados nesses modos, alguns aplicativos podem não funcionar. Para voltar o dispositivo ao modo de produção, será necessário voltar para o modo 4 KB e, depois, bloquear o carregador de inicialização, o que redefine o dispositivo para os padrões de fábrica. Depois que o dispositivo for inicializado corretamente no Android, desative o desbloqueio de OEM nas Opções do desenvolvedor. Todos os dados serão excluídos permanentemente do dispositivo, e o sistema de arquivos vai mudar para ext4 após a confirmação. Depois disso, reative o modo 16 KB."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Limpar todos os dados"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Falha ao apagar e reformatar a partição de dados para ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Desbloqueio do carregador de inicialização obrigatório para o modo 16 KB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"É necessário desbloquear o carregador de inicialização"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"O carregador de inicialização precisa ser desbloqueado neste dispositivo antes do uso da opção para desenvolvedores de 16 KB. A integridade do software não é garantida nesse modo, e todos os dados armazenados no smartphone enquanto o carregador de inicialização está desbloqueado podem ser expostos a riscos. Todos os dados do usuário e configurações serão apagados permanentemente durante a ativação do modo 16 KB. Após o desbloqueio do carregador de inicialização, a ativação da opção de 16 KB vai exigir duas reinicializações. Neste modo, você pode alternar entre os modos 4 KB e 16 KB com uma única reinicialização. Como alguns recursos serão desativados nesses modos, alguns aplicativos podem não funcionar. Para voltar o dispositivo ao modo de produção, será necessário voltar para o modo 4 KB e, depois, bloquear o carregador de inicialização/OEM, o que redefine o dispositivo para os padrões de fábrica. Desbloqueie o carregador de inicialização e tente de novo. Para conferir instruções de como fazer isso, acesse <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Uso do modo agnóstico de páginas de 4 KB"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Você está no modo agnóstico de páginas de 4 KB. A integridade do software não é garantida nesse modo, e todos os dados armazenados no smartphone enquanto o carregador de inicialização está desbloqueado podem ser expostos a riscos. Como alguns recursos serão desativados nesses modos, alguns aplicativos podem não funcionar. Para entrar de novo no modo de produção, desbloqueie o carregador de inicialização no dispositivo. Toque para ler mais."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Você está no modo agnóstico de páginas de 4 KB. A integridade do software não é garantida nesse modo, e todos os dados armazenados no smartphone enquanto o carregador de inicialização está desbloqueado podem ser expostos a riscos. Como alguns recursos serão desativados nesses modos, alguns aplicativos podem não funcionar. Para entrar de novo no modo de produção, desbloqueie o carregador de inicialização no dispositivo. Essa ação vai redefinir o dispositivo para os padrões de fábrica novamente. Depois que o dispositivo for inicializado corretamente no Android, desative o desbloqueio de OEM nas Opções do desenvolvedor. Se o dispositivo não for inicializado no Android ou estiver instável, atualize-o novamente com as imagens de fábrica mais recentes especificadas em <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ou use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> e selecione \"Excluir o dispositivo permanentemente\", \"Bloquear carregador de inicialização\" e \"Forçar a atualização de todas as partições\"."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Uso do modo agnóstico de páginas de 16 KB"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Você está no modo agnóstico de páginas de 16 KB. A integridade do software não é garantida nesse modo, e todos os dados armazenados no smartphone enquanto o carregador de inicialização está desbloqueado podem ser expostos a riscos. Como alguns recursos serão desativados nesses modos, alguns aplicativos podem não funcionar. Para entrar de novo no modo de produção, volte para o modo 4 KB e, em seguida, bloqueio o carregador de inicialização no dispositivo. Toque para ler mais."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Você está no modo agnóstico de páginas de 16 KB. A integridade do software não é garantida nesse modo, e todos os dados armazenados no smartphone enquanto o carregador de inicialização está desbloqueado podem ser expostos a riscos. Como alguns recursos serão desativados nesses modos, alguns aplicativos podem não funcionar. Para entrar de novo no modo de produção, volte para o modo 4 KB e, em seguida, bloqueio o carregador de inicialização no dispositivo. Essa ação vai redefinir o dispositivo para os padrões de fábrica novamente. Depois que o dispositivo for inicializado corretamente no Android, desative o desbloqueio de OEM nas Opções do desenvolvedor. Se o dispositivo não for inicializado no Android ou estiver instável, atualize-o novamente com as imagens de fábrica mais recentes especificadas em <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ou use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> e selecione \"Excluir o dispositivo permanentemente\", \"Bloquear carregador de inicialização\" e \"Forçar a atualização de todas as partições\"."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Você está no modo agnóstico de páginas de 16 KB. A integridade do software não é garantida nesse modo, e todos os dados armazenados no smartphone enquanto o carregador de inicialização está desbloqueado podem ser expostos a riscos. Como alguns recursos serão desativados nesses modos, alguns aplicativos podem não funcionar. Para entrar de novo no modo de produção, volte para o modo 4 KB e, em seguida, bloqueie o carregador de inicialização no dispositivo. Toque para ler mais."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Você está no modo agnóstico de páginas de 16 KB. A integridade do software não é garantida nesse modo, e todos os dados armazenados no smartphone enquanto o carregador de inicialização está desbloqueado podem ser expostos a riscos. Como alguns recursos serão desativados nesses modos, alguns aplicativos podem não funcionar. Para entrar de novo no modo de produção, volte para o modo 4 KB e, em seguida, bloqueie o carregador de inicialização no dispositivo. Essa ação vai fazer a redefinição de fábrica do dispositivo novamente. Depois que o dispositivo for inicializado corretamente no Android, desative o desbloqueio de OEM nas Opções do desenvolvedor. Se o dispositivo não for inicializado no Android ou estiver instável, atualize-o novamente com as imagens de fábrica mais recentes especificadas em <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ou use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> e selecione \"Excluir o dispositivo permanentemente\", \"Bloquear carregador de inicialização\" e \"Forçar a atualização de todas as partições\"."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Modo agnóstico de páginas de 16 KB"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Leia mais"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Gerenciador de relatórios de bugs"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Usar a Fixação de app"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Usar as opções do desenvolvedor"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Usar o serviço de impressão"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Permitir vários usuários"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"autorizar, vários, usuários, permitir, muitos"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"múltiplos, usuários, perfis, pessoas, contas, trocar, vários"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Usar a depuração por Wi-Fi"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Escolha o que ver na tela quando o tablet estiver na base. O dispositivo pode consumir mais energia quando o protetor de tela é usado."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Personalizar"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Personalizar <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"É necessário reiniciar o dispositivo para ativar o suporte ao formato livre."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"É necessário reiniciar o dispositivo para forçar o modo área de trabalho em telas secundárias."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Uma reinicialização é necessária para ativar a compatibilidade com o janelamento legado de forma livre."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Uma reinicialização é necessária para mudar a compatibilidade com janelamento de forma livre."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Uma reinicialização é necessária para forçar o janelamento de forma livre em telas secundárias."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reiniciar agora"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reiniciar mais tarde"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Áudio espacial"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Ouvir o stream"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Ler o QR code de um stream de áudio para ouvir com <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Não é possível editar a senha enquanto compartilha. Para mudar a senha, primeiro desligue o compartilhamento de áudio."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-pt-rPT/arrays.xml b/res/values-pt-rPT/arrays.xml
index a99b4a4..aadb738 100644
--- a/res/values-pt-rPT/arrays.xml
+++ b/res/values-pt-rPT/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Hora de dormir"</item>
+ <item msgid="4152450357280759894">"Condução"</item>
+ <item msgid="7096549258219399423">"Envolvente"</item>
+ <item msgid="2760716776980432977">"Gerido"</item>
+ <item msgid="601734478369121764">"Estrela"</item>
+ <item msgid="6243809315432780521">"Calendário"</item>
+ <item msgid="4913577903148415331">"Horas"</item>
+ <item msgid="3653377604690057780">"Cinema"</item>
+ <item msgid="3843711267408385410">"Flor"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 0835f90..bd0085a 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Definições do dispositivo auditivo"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Atalho, compatibilidade com aparelhos auditivos"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Predefinição"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Não existem predefinições programadas pelo seu audiologista"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Não foi possível atualizar a predefinição"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Saída de áudio"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Acerca da saída de áudio"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Rosto e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Rosto, impressão digital e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Rosto, impressões digitais e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Isto é necessário porque a verificação de identidade está ativada"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Desbloqueio remoto do Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Relógio adicionado"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Configure o seu relógio"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Saiba mais sobre o Desbloqueio com o relógio"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Adicionar relógio"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Remover relógio"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Desbloqueio facial e por impressão digital"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Desbloqueio facial e por impressão digital"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Desbloqueio facial e por impressão digital para o trabalho"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Configuração necessária"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Rosto e impressões digitais adicionados"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Instale apps"</b>\n"Instale as apps que quer manter privadas no seu espaço"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Tenha em atenção"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"As apps param quando bloqueia o seu espaço"</b>\n"Quando bloqueia o seu espaço, as respetivas apps são paradas e deixam de lhe enviar notificações"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Os espaços privados não são adequados para apps que precisem de ser executadas em segundo plano ou de enviar notificações críticas, como as apps médicas. Isto deve-se ao facto de as notificações e a atividade em segundo plano pararem quando o espaço está bloqueado.\n\nAs apps no seu espaço privado não vão aparecer no gestor de autorizações, no painel de privacidade nem noutras definições quando o seu espaço privado estiver bloqueado.\n\nNão é possível mover o seu espaço privado para um novo dispositivo. Tem de configurar outro espaço privado se quiser usá-lo noutro dispositivo.\n\nQualquer pessoa que ligue o seu dispositivo a um computador ou instale apps prejudiciais no seu dispositivo pode conseguir aceder ao seu espaço privado."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Os espaços privados não são adequados para apps que precisem de ser executadas em segundo plano ou de enviar notificações críticas, como as apps médicas. Isto deve-se ao facto de as notificações e a atividade em segundo plano pararem quando o espaço está bloqueado.\n\nAs apps no seu espaço privado não vão aparecer no Gestor de autorizações, no painel de privacidade e noutras definições quando o seu espaço privado estiver bloqueado.\n\nNão é possível restaurar o seu espaço privado para um novo dispositivo. Tem de configurar outro espaço se quiser usá-lo noutro dispositivo.\n\nQualquer pessoa que ligue o seu dispositivo a um computador ou instale apps maliciosas no seu dispositivo pode conseguir aceder ao seu espaço privado."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Saiba mais sobre o espaço privado"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Esta ação vai demorar alguns instantes"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"A configurar o espaço privado…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Reiniciar o dispositivo?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"O registo detalhado de NFC destina-se apenas a fins de programação. Os dados de NFC são incluídos em relatórios de erros, que podem conter informações privadas. Reinicie o seu dispositivo para alterar esta definição."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Reiniciar"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Transmitir"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"espelhar"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Ativar display sem fios"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptável"</string>
<string name="brightness" msgid="6216871641021779698">"Nível de luminosidade"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Luminosidade adaptável"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Acerca da luminosidade adaptável"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"A luminosidade do ecrã vai ajustar-se automaticamente ao ambiente e às atividades. Pode mover o controlo de deslize manualmente para permitir que a luminosidade adaptável aprenda as suas preferências."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Ativada"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Desativada"</string>
@@ -1897,12 +1928,10 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Opções"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Acessibilidade"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Teclado físico"</string>
- <string name="show_ime" msgid="4334255501724746849">"Usar o teclado no ecrã"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Manter no ecrã enquanto o teclado físico estiver ativo"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Teclas de rejeição"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"O teclado ignora os toques rápidos repetidos da mesma tecla no espaço de <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
- <string name="slow_keys_summary" msgid="1784371292745423292">"Ajusta o tempo que demora a ativação de uma tecla premida para <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
+ <string name="slow_keys_summary" msgid="1784371292745423292">"Ajusta o tempo que demora a ativação de uma tecla pressionada para <xliff:g id="SLOW_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="sticky_keys" msgid="7317317044898161747">"Teclas aderentes"</string>
<string name="sticky_keys_summary" msgid="1844953803625480623">"Prima uma tecla de cada vez para os atalhos em vez de manter as teclas premidas em simultâneo"</string>
<string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Atalhos de teclado"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Utilizador selecionado: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Voz"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Velocidade do ponteiro"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Controlador de Jogos"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Redirecionar vibração"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Enviar a vibração para o controlador do jogo, quando ligado."</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continuar mesmo assim"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancelar"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Definições de ampliação"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Deslocação com um dedo"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Mover a lupa com 1 dedo"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Arraste 1 dedo para percorrer o ecrã"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Mova a área de ampliação arrastando um dedo."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Mova a área de ampliação arrastando dois dedos."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Indisponível quando amplia apenas parte do ecrã"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tocar num botão para utilizar o zoom"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Aumente o zoom rapidamente no ecrã para ampliar o tamanho do conteúdo"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Para aumentar o zoom:</b><br/> {0,number,integer}. Use o atalho para iniciar a ampliação<br/> {1,number,integer}. Toque no ecrã<br/> {2,number,integer}. Arraste 2 dedos para deslocar o ecrã<br/> {3,number,integer}. Junte/afaste 2 dedos para ajustar o zoom<br/> {4,number,integer}. Use o atalho para parar a ampliação<br/><br/> <b>Para aumentar o zoom temporariamente:</b><br/> {0,number,integer}. Certifique-se de que o tipo de ampliação está definido para o ecrã inteiro<br/> {1,number,integer}. Use o atalho para iniciar a ampliação<br/> {2,number,integer}. Toque sem soltar em qualquer parte do ecrã<br/> {3,number,integer}. Arraste o dedo para deslocar o ecrã<br/> {4,number,integer}. Levante o dedo para parar a ampliação"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Para aumentar o zoom:</b><br/> {0,number,integer}. Use o atalho para iniciar a ampliação<br/> {1,number,integer}. Toque no ecrã<br/> {2,number,integer}. Arraste 2 dedos para percorrer o ecrã<br/> {3,number,integer}. Junte/afaste 2 dedos para ajustar o zoom<br/> {4,number,integer}. Use o atalho para parar a ampliação<br/><br/> Também pode aumentar o zoom temporariamente e muito mais."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Para aumentar o zoom:</b><br/> {0,number,integer}. Use o atalho para iniciar a ampliação<br/> {1,number,integer}. Toque no ecrã<br/> {2,number,integer}. Arraste 1 ou 2 dedos para percorrer o ecrã<br/> {3,number,integer}. Junte/afaste 2 dedos para ajustar o zoom<br/> {4,number,integer}. Use o atalho para parar a ampliação<br/><br/> Também pode aumentar o zoom temporariamente e muito mais."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Quando a ampliação estiver ativada, pode aumentar o zoom no ecrã.\n\n"<b>"Para utilizar o zoom"</b>", inicie a ampliação e, em seguida, toque em qualquer parte do ecrã.\n"<ul><li>"Arraste 2 ou mais dedos para se deslocar."</li>\n<li>"Junte 2 ou mais dedos para ajustar o zoom."</li></ul>\n\n<b>"Para utilizar o zoom temporariamente"</b>", inicie a ampliação e, em seguida, toque sem soltar em qualquer parte do ecrã.\n"<ul><li>"Arraste o dedo para se mover pelo ecrã."</li>\n<li>"Levante o dedo para diminuir o zoom."</li></ul>\n\n"Não é possível aumentar o zoom no teclado nem na barra de navegação."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Página <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> de <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Atalho do botão Acessibilidade"</string>
@@ -2228,7 +2266,7 @@
<string name="accessibility_control_timeout_preference_title" msgid="1443940538597464758">"Tempo de ação"</string>
<string name="accessibility_control_timeout_preference_summary" msgid="4037051091059316310">"Esta preferência de tempo não é suportada por todas as apps"</string>
<string name="accessibility_control_timeout_preference_intro_text" msgid="1398116710556762245">"Escolha a duração de mensagens temporárias que lhe pedem que tome medidas"</string>
- <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Atraso ao manter premida a tecla"</string>
+ <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Atraso ao manter pressionada a tecla"</string>
<string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Inversão de cores"</string>
<string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Usar inversão de cores"</string>
<string name="accessibility_display_inversion_shortcut_title" msgid="6889624526691513462">"Atalho da inversão de cores"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Receba notificações só de pessoas e apps importantes"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Selecionar tipo de ativação"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Horas"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Por exemplo: \"9:30 - 17:00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Calendário"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Por exemplo: \"Calendário pessoal\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Crie um modo"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Personalizar"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limite as interrupções"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Ativar o modo Não incomodar"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Os sons de alarmes e multimédia podem interromper."</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Horários"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Elimine horários"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Eliminar"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Editar"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Horários"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Horário"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Adicione um calendário"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Use o seu calendário"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Agende"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Defina um horário"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Horário"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h, <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Ativar automaticamente"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Horário"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Silenciar telemóvel se necessário"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Definir regras de Não incomodar"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Permitir interrupções que emitam som"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Bloquear perturbações visuais"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Permitir sinais visuais"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Notificações que pode receber"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Mantenha a concentração"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Ações adicionais"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Definições de visualização"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Opções de visualização"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ativar tema escuro"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Mude as opções do sistema operativo e das apps para darem preferência a texto claro num fundo escuro, o que pode ser mais agradável para os olhos e permite poupar significativamente a bateria em alguns dispositivos"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Nenhuma alteração de visualização}=1{{effect_1}}=2{{effect_1} e {effect_2}}=3{{effect_1}, {effect_2} e {effect_3}}other{{effect_1}, {effect_2} e mais #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filtrar interrupções"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Sem interrupções filtradas"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opções de visualização para notificações filtradas"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Quando o modo Não incomodar está ativado"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Sem som de notificações"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"abrir notificação"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Permitir a suspensão de notificações"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Ponto de notificação no ícone da app"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Pacotes de notificações"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Balões"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Balões"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Apresentar esta conversa como balão"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Categorias"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Outra"</string>
<string name="no_channels" msgid="4716199078612071915">"Esta app não publicou notificações"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Mostrar categorias não usadas"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Definições adicionais na app"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Mostrar categorias não usadas"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Ocultar categorias não usadas"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Todas"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permitir que as apps substituam"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps que podem interromper"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Selecione mais apps"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Alterar para alarmes apenas durante uma hora até à(s) {time}}other{Alterar para alarmes apenas durante # horas até à(s) {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Alterar para alarmes apenas, até <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Alterar para interromper sempre"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Mudar nome"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Alterar ícone"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Alterar ícone"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Aviso"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Fechar"</string>
<string name="device_feedback" msgid="5351614458411688608">"Enviar feedback do dispositivo"</string>
@@ -4290,7 +4346,7 @@
<string name="system_navigation_title" msgid="4890381153527184636">"Modo de navegação"</string>
<string name="swipe_up_to_switch_apps_title" msgid="6677266952021118342">"Navegação com 2 botões"</string>
<string name="swipe_up_to_switch_apps_summary" msgid="1415457307836359560">"Para mudar de app, deslize rapidamente para cima no botão do ecrã principal. Para ver todas as apps, volte a deslizar rapidamente para cima. Para retroceder, toque no botão Anterior."</string>
- <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Segurança e emergência"</string>
+ <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Segurança física e emergência"</string>
<string name="emergency_dashboard_summary" msgid="401033951074039302">"Urgência SOS, informações médicas, alertas"</string>
<string name="edge_to_edge_navigation_title" msgid="714427081306043819">"Navegação por gestos"</string>
<string name="edge_to_edge_navigation_summary" msgid="818109176611921504">"Para aceder à página inicial, deslize para cima a partir da parte inferior do ecrã. Para mudar de app, deslize para cima a partir da parte inferior do ecrã sem soltar e, em seguida, solte. Para retroceder, deslize a partir da extremidade esquerda ou direita do ecrã."</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Caixa"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Bateria"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Painel Definições"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Forçar modo de ambiente de trabalho"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Forçar modo de ambiente de trabalho experimental em ecrãs secundários"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Ativar janelas de forma livre"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Ative o suporte de janelas de forma livre."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Ativar janelas de forma livre no segundo ecrã"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Ative as janelas de forma livre apenas no ecrã secundário."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Ativar apps não redimensionáveis em multijanelas"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Permite que as apps não redimensionáveis estejam em multijanelas."</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Substituir forçar o modo escuro"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"A partição de dados deste dispositivo tem de ser convertida em ext4 antes de usar a opção de programador de 16 KB. A integridade do software não pode ser garantida neste modo e quaisquer dados armazenados no telemóvel enquanto o carregador de arranque estiver desbloqueado podem estar em risco. A ativação da opção de 16 KB exige reiniciar mais uma vez depois desta ação. Quando este modo estiver ativado, pode alternar entre os modos de 4 KB e 16 KB depois de reiniciar uma vez. Algumas funcionalidades são desativadas nestes modos, por isso, algumas apps podem não funcionar. Para voltar a definir o modo de produção no dispositivo, precisa de voltar a ativar o modo de 4 KB e, de seguida, bloquear o carregador de arranque, o que repõe as definições de fábrica do dispositivo. Depois de o dispositivo arrancar com êxito no Android, desative o desbloqueio pelo OEM nas Opções de programador. O dispositivo vai ser limpo e o sistema de ficheiros vai ser alterado para ext4 após a confirmação. Concluído este passo, ative novamente o modo de 16 KB."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Apagar todos os dados"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Falha ao reformatar e limpar a partição de dados para ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Desbloqueio do carregador de arranque necessário para o modo de 16 KB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Desbloqueio do carregador de arranque necessário"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Este dispositivo precisa de desbloquear o carregador de arranque antes de usar a opção de programador de 16 KB. A integridade do software não pode ser garantida neste modo e quaisquer dados armazenados no telemóvel enquanto o carregador de arranque estiver desbloqueado podem estar em risco. Todos os dados e definições do utilizador são limpos com a ativação do modo de 16 KB. Uma vez desbloqueado o carregador de arranque, a ativação da opção de 16 KB exige reiniciar duas vezes. Quando este modo estiver ativado, pode alternar entre os modos de 4 KB e 16 KB depois de reiniciar uma vez. Algumas funcionalidades são desativadas nestes modos, por isso, algumas apps podem não funcionar. Para voltar a definir o modo de produção no dispositivo, precisa de voltar a ativar o modo de 4 KB e, de seguida, bloquear o OEM/carregador de arranque (o que repõe as definições de fábrica do dispositivo). Desbloqueie o carregador de arranque e tente novamente. Pode ver instruções sobre como o fazer em <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"A usar o modo sem página de 4 KB"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Está no modo de 4 KB do modo sem página. A integridade do software não pode ser garantida neste modo e quaisquer dados armazenados no telemóvel enquanto o carregador de arranque estiver desbloqueado podem estar em risco. Algumas funcionalidades são desativadas nestes modos, por isso, algumas apps podem não funcionar. Para voltar a ativar o modo de produção, tem de bloquear o carregador de arranque do dispositivo. Toque para ler mais."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Está no modo de 4 KB do modo sem página. A integridade do software não pode ser garantida neste modo e quaisquer dados armazenados no telemóvel enquanto o carregador de arranque estiver desbloqueado podem estar em risco. Algumas funcionalidades são desativadas nestes modos, por isso, algumas apps podem não funcionar. Para voltar a ativar o modo de produção, tem de bloquear o carregador de arranque do dispositivo. Esta ação permite fazer uma reposição de fábrica do dispositivo e restaurá-lo para as definições de produção. Depois de o dispositivo arrancar com êxito no Android, desative o desbloqueio pelo OEM nas Opções de programador. Se o dispositivo não conseguir arrancar no Android ou estiver instável, volte a atualizar o dispositivo com as imagens de fábrica mais recentes de <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ou use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> e selecione \"Limpar dispositivo\", \"Bloquear carregador de arranque\" e \"Forçar a atualização de todas as partições\"."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"A usar o modo sem página de 16 KB"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Está ativado o modo de 16 KB do modo sem página. A integridade do software não pode ser garantida neste modo e quaisquer dados armazenados no telemóvel enquanto o carregador de arranque estiver desbloqueado podem estar em risco. Algumas funcionalidades são desativadas nestes modos, por isso, algumas apps podem não funcionar. Para voltar a ativar o modo de produção, tem de voltar ao modo de 4K e, de seguida, bloquear o carregador de arranque do dispositivo. Toque para ler mais."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Está ativado o modo de 16 KB do modo sem página. A integridade do software não pode ser garantida neste modo e quaisquer dados armazenados no telemóvel enquanto o carregador de arranque estiver desbloqueado podem estar em risco. Algumas funcionalidades são desativadas nestes modos, por isso, algumas apps podem não funcionar. Para voltar a ativar o modo de produção, tem de voltar ao modo de 4K e, de seguida, bloquear o carregador de arranque do dispositivo. Esta ação permite fazer uma reposição de fábrica do dispositivo e restaurá-lo para as definições de produção. Depois de o dispositivo arrancar com êxito no Android, desative o desbloqueio pelo OEM nas Opções de programador. Se o dispositivo não conseguir arrancar no Android ou estiver instável, volte a atualizar o dispositivo com as imagens de fábrica mais recentes de <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ou use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> e selecione \"Limpar dispositivo\", \"Bloquear carregador de arranque\" e \"Forçar a atualização de todas as partições\"."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Está ativado o modo de 16 KB do modo sem página. A integridade do software não pode ser garantida neste modo e quaisquer dados armazenados no telemóvel enquanto o carregador de arranque estiver desbloqueado podem estar em risco. Algumas funcionalidades são desativadas nestes modos, por isso, algumas apps podem não funcionar. Para voltar a ativar o modo de produção, tem de voltar ao modo de 4 KB e, de seguida, bloquear o carregador de arranque do dispositivo. Toque para ler mais."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Está ativado o modo de 16 KB do modo sem página. A integridade do software não pode ser garantida neste modo e quaisquer dados armazenados no telemóvel enquanto o carregador de arranque estiver desbloqueado podem estar em risco. Algumas funcionalidades são desativadas nestes modos, por isso, algumas apps podem não funcionar. Para voltar a ativar o modo de produção, tem de voltar ao modo de 4 KB e, de seguida, bloquear o carregador de arranque do dispositivo. Esta ação permite fazer uma reposição de fábrica do dispositivo e restaurá-lo para as definições de produção. Depois de o dispositivo arrancar com êxito no Android, desative o desbloqueio pelo OEM nas Opções de programador. Se o dispositivo não conseguir arrancar no Android ou estiver instável, volte a atualizar o dispositivo com as imagens de fábrica mais recentes de <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ou use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> e selecione \"Limpar dispositivo\", \"Bloquear carregador de arranque\" e \"Forçar a atualização de todas as partições\"."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Modo sem página de 16 KB"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Ler mais"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Controlador do relatório de erro"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Usar fixação de apps"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Usar opções de programador"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Usar serviço de impressão"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Permitir vários utilizadores"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"autorizar, vários, utilizador, permitir, muitos"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"vários, utilizadores, perfis, pessoas, contas, mudar, muitos"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Usar depuração sem fios"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Escolha o que é apresentado no ecrã quando o seu tablet está na estação de carregamento. O seu dispositivo pode consumir mais energia quando é usada uma proteção de ecrã."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Personalizar"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Personalizar <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"É necessário reiniciar para ativar o suporte de forma livre."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"É necessário reiniciar para forçar o modo de ambiente de trabalho em ecrãs secundários."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Para ativar o suporte das antigas janelas de forma livre, é necessário reiniciar."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Para alterar o suporte das janelas de forma livre, é necessário reiniciar."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Para forçar as janelas de forma livre em ecrãs secundários, é necessário reiniciar."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reiniciar agora"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reiniciar mais tarde"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Áudio espacial"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Ouvir stream"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Leia o código QR de uma stream de áudio para ouvir com <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Não é possível editar a palavra-passe durante a partilha. Para alterar a palavra-passe, primeiro, desative a partilha de áudio."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-pt/arrays.xml b/res/values-pt/arrays.xml
index d3b2406..06b6904 100644
--- a/res/values-pt/arrays.xml
+++ b/res/values-pt/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Hora de dormir"</item>
+ <item msgid="4152450357280759894">"Ao dirigir"</item>
+ <item msgid="7096549258219399423">"Imersivo"</item>
+ <item msgid="2760716776980432977">"Gerenciado"</item>
+ <item msgid="601734478369121764">"Marcar com estrela"</item>
+ <item msgid="6243809315432780521">"Agenda"</item>
+ <item msgid="4913577903148415331">"Horário"</item>
+ <item msgid="3653377604690057780">"Teatro"</item>
+ <item msgid="3843711267408385410">"Flor"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 82bab61..2aa3b2a 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Configurações do aparelho auditivo"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Atalho, compatibilidade com aparelhos auditivos"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Predefinição"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Não há predefinições programadas pelo seu audiologista"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Não foi possível atualizar a predefinição"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Saída de áudio"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Sobre a saída de áudio"</string>
@@ -137,7 +138,7 @@
<string name="stylus_device_details_title" msgid="7618295136015480864">"Stylus"</string>
<string name="stylus_default_notes_app" msgid="4165657465911764628">"Pressionar o botão da stylus"</string>
<string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (perfil de trabalho)"</string>
- <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Escreva nos campos de texto"</string>
+ <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Escrever nos campos de texto"</string>
<string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorar todos os pressionamentos de botão com a stylus"</string>
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
<string name="date_and_time" msgid="1788358029823431692">"Data e hora"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Rosto e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Rosto, impressão digital e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Rosto, impressões digitais e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Isso é necessário porque a verificação de identidade está ativada"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Desbloqueio do Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Relógio adicionado"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Configurar o relógio"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Saiba mais sobre o \"Desbloqueio do relógio\""</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Adicionar relógio"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Remover relógio"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Impressão digital e Desbloqueio facial"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Desbloqueio facial e por impressão digital"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Desbloqueio facial e por impressão digital para o trabalho"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Configuração necessária"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Rosto e impressões digitais adicionados"</string>
@@ -558,7 +560,7 @@
<string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Desbloqueio por impressão digital para o espaço privado"</string>
<string name="private_space_face_unlock_title" msgid="462248384776453613">"Desbloqueio facial para o espaço privado"</string>
<string name="private_space_biometric_unlock_title" msgid="1978145237698659673">"Desbloqueio facial e por digital para espaço privado"</string>
- <string name="private_space_fingerprint_enroll_introduction_title" msgid="5187730641333680942">"Configurar o Desbloqueio por impressão digital para o espaço privado"</string>
+ <string name="private_space_fingerprint_enroll_introduction_title" msgid="5187730641333680942">"Configurar Desbloqueio por digital para o espaço privado"</string>
<string name="private_space_fingerprint_enroll_introduction_message" msgid="9092068873421435300">"Use sua impressão digital para desbloquear seu espaço privado ou confirmar sua identidade e acessar apps ou aprovar uma compra"</string>
<string name="private_space_fingerprint_enroll_introduction_footer_message" msgid="7125255484447984854">"O espaço privado poderá ser desbloqueado mesmo se essa não for sua intenção. Por exemplo, se alguém colocar seu dedo no sensor."</string>
<string name="private_space_fingerprint_enroll_finish_message" msgid="4754797926493316965">"Use sua impressão digital para desbloquear o espaço privado ou aprovar compras"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Instale apps"</b>\n"Instale os apps que você quer guardar no seu espaço com privacidade"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Observação importante"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Os apps são interrompidos quando você bloqueia o espaço"</b>\n"Ao bloquear o espaço, os apps nele serão interrompidos e você não vai receber notificações deles"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Os espaços privados não são adequados para apps que precisam ser executados em segundo plano ou enviam notificações importantes, como os que lidam com informações médicas, porque notificações e atividades em segundo plano são interrompidas quando o espaço é bloqueado.\n\nEm um espaço bloqueado, os apps não aparecem na Gestão de permissões, no painel de privacidade e nem em outras configurações.\n\nNão é possível transferir seu espaço privado para outro dispositivo. Você precisará configurar um novo espaço privado se quiser usá-lo em outro dispositivo.\n\nCaso alguém conecte seu dispositivo a um computador ou instale apps nocivos nele, essa pessoa poderá ter acesso ao seu espaço privado."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Os espaços privados não são adequados para apps que precisam ser executados em segundo plano ou enviar notificações importantes, como apps médicos. Isso porque as notificações e atividades em segundo plano são interrompidas quando o espaço é bloqueado.\n\nOs apps no espaço privado não vão aparecer na Gestão de permissões, no painel de privacidade nem em outras configurações quando o espaço estiver bloqueado.\n\nNão é possível restaurar seu espaço privado em outro dispositivo. Você precisará configurar um novo espaço privado se quiser usá-lo em outro dispositivo.\n\nCaso alguém conecte seu dispositivo a um computador ou instale apps maliciosos nele, essa pessoa poderá ter acesso ao seu espaço privado."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Saiba mais sobre o espaço privado"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Isso vai levar alguns instantes"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Configurando o espaço privado…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Reiniciar o dispositivo?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"O registro detalhado de NFC é destinado apenas a fins de desenvolvimento. Dados NFC extras estão incluídos em relatórios de bugs, que podem conter informações particulares. Reinicie o dispositivo para mudar essa configuração."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Reiniciar"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Transmitir"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"espelho"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Ativar tela sem fio"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptáveis"</string>
<string name="brightness" msgid="6216871641021779698">"Nível de brilho"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Brilho adaptável"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Sobre o brilho adaptável"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"O brilho da tela será ajustado automaticamente ao seu ambiente e às suas atividades. Mova o controle deslizante para ajudar o brilho adaptável a memorizar suas preferências."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Ativado"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Desativado"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Opções"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Acessibilidade"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Teclado físico"</string>
- <string name="show_ime" msgid="4334255501724746849">"Usar teclado na tela"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Manter na tela enquanto o teclado físico estiver ativo"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Teclas de filtro"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"O teclado ignora pressionamentos rápidos e repetidos da mesma tecla dentro de <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Usuário selecionado: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Fala"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Velocidade do cursor"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Controlador de jogos"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Redirecionar vibração"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Enviar vibração para o controlador de jogo quando conectado"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continuar mesmo assim"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Cancelar"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Configurações de ampliação"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Movimento com um dedo"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Mova a lupa com 1 dedo"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Arraste um dedo para mover a tela."</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Mova a área de ampliação arrastando um dedo."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Mova a área de ampliação arrastando dois dedos."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Indisponível ao ampliar apenas parte da tela"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Toque em um botão para aplicar zoom"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Aplique zoom rapidamente na tela para ampliar o conteúdo"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Para aumentar o zoom, faça o seguinte:</b><br/> {0,number,integer}. Use o atalho para iniciar a ampliação.<br/> {1,number,integer}. Toque na tela.<br/> {2,number,integer}. Arraste dois dedos para navegar pela tela.<br/> {3,number,integer}. Faça um gesto de pinça com dois dedos para ajustar o zoom.<br/> {4,number,integer}. Use o atalho para interromper a ampliação.<br/><br/> <b>Se quiser aumentar o zoom temporariamente, faça o seguinte:</b><br/> {0,number,integer}. Confira se o tipo de ampliação está definido como tela cheia.<br/> {1,number,integer}. Use o atalho para iniciar a ampliação.<br/> {2,number,integer}. Toque em qualquer lugar da tela e a mantenha pressionada.<br/> {3,number,integer}. Arraste o dedo para navegar pela tela.<br/> {4,number,integer}. Solte para interromper a ampliação."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Para aumentar o zoom, faça o seguinte:</b><br/> {0,number,integer}. Use o atalho para iniciar a ampliação.<br/> {1,number,integer}. Toque na tela.<br/> {2,number,integer}. Arraste 2 dedos para navegar pela tela.<br/> {3,number,integer}. Faça um gesto de pinça com 2 dedos para ajustar o zoom.<br/> {4,number,integer}. Pare a ampliação usando um atalho<br/><br/> Você também pode aumentar o zoom temporariamente e fazer várias outras ações|."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Para aumentar o zoom, faça o seguinte:</b><br/> {0,number,integer}. Use o atalho para iniciar a ampliação.<br/> {1,number,integer}. Toque na tela.<br/> {2,number,integer}. Arraste 1 ou 2 dedos para navegar pela tela.<br/> {3,number,integer}. Faça um gesto de pinça com 2 dedos para ajustar o zoom.<br/> {4,number,integer}. Pare a ampliação usando um atalho<br/><br/> Você também pode aumentar o zoom temporariamente e fazer várias outras ações|."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Quando a ampliação está ativada, você pode aumentar o zoom na tela.\n\n"<b>"Para aplicar zoom"</b>", inicie a ampliação e toque em qualquer lugar da tela.\n"<ul><li>"Arraste dois dedos ou mais para rolar a tela."</li>\n<li>"Faça um gesto de pinça com dois ou mais dedos para ajustar o zoom."</li></ul>\n\n<b>"Para aplicar zoom temporariamente"</b>", inicie a ampliação e depois toque em qualquer ponto na tela e mantenha-o pressionado.\n"<ul><li>"Arraste para mover a tela."</li>\n<li>"Levante o dedo para diminuir o zoom."</li></ul>\n\n"Não é possível aumentar o zoom no teclado e na barra de navegação."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Página <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> de <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Atalho para o botão de acessibilidade"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Receber notificações apenas de pessoas e apps importantes"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Selecionar tipo de ativação"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Horário"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Exemplo: \"Das 9h30 às 17h\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Agenda"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Exemplo: \"Agenda pessoal\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Criar um modo"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Personalizado"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitar interrupções"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Ativar o Não perturbe"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarmes e sons de mídia podem interromper"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Programações"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Excluir programações"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Excluir"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Editar"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Programações"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Programação"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Adicione uma agenda"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Use sua agenda"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Programação"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Definir uma programação"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Programação"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g>h e <xliff:g id="MINUTES">%2$d</xliff:g>min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Ativar automaticamente"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Programação"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Silenciar smartphone em horários específicos"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Definir regras do modo \"Não perturbe\""</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Permitir interrupções que emitem sons"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Bloquear perturbações visuais"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Permitir sinais visuais"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Notificações que podem chegar até você"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Mantenha o foco"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Ações adicionais"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Configurações de tela"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Opções de exibição"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"ativar tema escuro"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Muda o SO e os apps para dar preferência a texto claro em um fundo escuro, o que pode facilitar a visualização e oferecer uma economia de bateria significativa em alguns dispositivos"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Nenhuma mudança na tela}=1{{effect_1}}=2{{effect_1} e {effect_2}}=3{{effect_1}, {effect_2} e {effect_3}}one{{effect_1}, {effect_2} e mais #}other{{effect_1}, {effect_2} e mais #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filtrar interrupções"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Nenhuma interrupção está sendo filtrada"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opções de exibição para notificações filtradas"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Quando o Não perturbe estiver ativado"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Desativar som de notificações"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"abrir notificação"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Permitir adiar notificações"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Ponto de notificação no ícone do app"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Pacotes de notificações"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Balões"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Balões"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Mostrar conversa em um balão"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Categorias"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Outros"</string>
<string name="no_channels" msgid="4716199078612071915">"Este app não postou nenhuma notificação"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Mostrar categorias não usadas"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Configurações avançadas no app"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Mostrar categorias não usadas"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Ocultar categorias não usadas"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Todos"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permitir que apps modifiquem o \"Não perturbe\""</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Apps que podem fazer interrupções"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Selecionar mais apps"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Mudar para somente alarmes por uma hora até {time}}one{Mudar para somente alarmes por # hora até {time}}other{Mudar para somente alarmes por # horas até {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Alterar para \"Somente alarmes\" até <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Alterar para \"Sempre interromper\""</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Renomear"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Mudar ícone"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Mudar ícone"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Alerta"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Fechar"</string>
<string name="device_feedback" msgid="5351614458411688608">"Enviar feedback sobre o dispositivo"</string>
@@ -4047,8 +4103,8 @@
<string name="keywords_vr_listener" msgid="902737490270081131">"rv realidade virtual ouvinte estéreo serviço de ajuda"</string>
<string name="overlay_settings" msgid="2030836934139139469">"Sobrepor a outros apps"</string>
<string name="filter_overlay_apps" msgid="2483998217116789206">"Apps com permissão"</string>
- <string name="app_permission_summary_allowed" msgid="1155115629167757278">"Permitidas"</string>
- <string name="app_permission_summary_not_allowed" msgid="2673793662439097900">"Não permitidas"</string>
+ <string name="app_permission_summary_allowed" msgid="1155115629167757278">"Permitidos(as)"</string>
+ <string name="app_permission_summary_not_allowed" msgid="2673793662439097900">"Não permitidos(as)"</string>
<string name="keywords_install_other_apps" msgid="563895867658775580">"instalar apps fontes desconhecidas"</string>
<string name="write_settings" msgid="6864794401614425894">"Mudar configurações do sistema"</string>
<string name="keywords_write_settings" msgid="6908708078855507813">"gravar modificar configurações de modificação"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Estojo"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Bateria"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Painel de configurações"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Forçar modo de área de trabalho"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Forçar o modo de área de trabalho experimental em telas secundárias"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Ativar janelas de forma livre"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Permitir compatibilidade com janelas de forma livre"</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Permitir janelamento de forma livre na segunda tela"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Permitir janelas de forma livre apenas na tela secundária."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Ativar recursos não redimensionáveis em várias janelas"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Permitir que apps não redimensionáveis sejam usados em várias janelas"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Manter o recurso Forçar modo escuro ativado"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"A partição de dados deste dispositivo precisa ser convertida em ext4 antes do uso da opção para desenvolvedores de 16 KB. A integridade do software não é garantida nesse modo, e todos os dados armazenados no smartphone enquanto o carregador de inicialização está desbloqueado podem ser expostos a riscos. A ativação da opção de 16 KB exigirá uma segunda reinicialização. Neste modo, você pode alternar entre os modos 4 KB e 16 KB com uma única reinicialização. Como alguns recursos serão desativados nesses modos, alguns aplicativos podem não funcionar. Para voltar o dispositivo ao modo de produção, será necessário voltar para o modo 4 KB e, depois, bloquear o carregador de inicialização, o que redefine o dispositivo para os padrões de fábrica. Depois que o dispositivo for inicializado corretamente no Android, desative o desbloqueio de OEM nas Opções do desenvolvedor. Todos os dados serão excluídos permanentemente do dispositivo, e o sistema de arquivos vai mudar para ext4 após a confirmação. Depois disso, reative o modo 16 KB."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Limpar todos os dados"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Falha ao apagar e reformatar a partição de dados para ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Desbloqueio do carregador de inicialização obrigatório para o modo 16 KB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"É necessário desbloquear o carregador de inicialização"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"O carregador de inicialização precisa ser desbloqueado neste dispositivo antes do uso da opção para desenvolvedores de 16 KB. A integridade do software não é garantida nesse modo, e todos os dados armazenados no smartphone enquanto o carregador de inicialização está desbloqueado podem ser expostos a riscos. Todos os dados do usuário e configurações serão apagados permanentemente durante a ativação do modo 16 KB. Após o desbloqueio do carregador de inicialização, a ativação da opção de 16 KB vai exigir duas reinicializações. Neste modo, você pode alternar entre os modos 4 KB e 16 KB com uma única reinicialização. Como alguns recursos serão desativados nesses modos, alguns aplicativos podem não funcionar. Para voltar o dispositivo ao modo de produção, será necessário voltar para o modo 4 KB e, depois, bloquear o carregador de inicialização/OEM, o que redefine o dispositivo para os padrões de fábrica. Desbloqueie o carregador de inicialização e tente de novo. Para conferir instruções de como fazer isso, acesse <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Uso do modo agnóstico de páginas de 4 KB"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Você está no modo agnóstico de páginas de 4 KB. A integridade do software não é garantida nesse modo, e todos os dados armazenados no smartphone enquanto o carregador de inicialização está desbloqueado podem ser expostos a riscos. Como alguns recursos serão desativados nesses modos, alguns aplicativos podem não funcionar. Para entrar de novo no modo de produção, desbloqueie o carregador de inicialização no dispositivo. Toque para ler mais."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Você está no modo agnóstico de páginas de 4 KB. A integridade do software não é garantida nesse modo, e todos os dados armazenados no smartphone enquanto o carregador de inicialização está desbloqueado podem ser expostos a riscos. Como alguns recursos serão desativados nesses modos, alguns aplicativos podem não funcionar. Para entrar de novo no modo de produção, desbloqueie o carregador de inicialização no dispositivo. Essa ação vai redefinir o dispositivo para os padrões de fábrica novamente. Depois que o dispositivo for inicializado corretamente no Android, desative o desbloqueio de OEM nas Opções do desenvolvedor. Se o dispositivo não for inicializado no Android ou estiver instável, atualize-o novamente com as imagens de fábrica mais recentes especificadas em <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ou use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> e selecione \"Excluir o dispositivo permanentemente\", \"Bloquear carregador de inicialização\" e \"Forçar a atualização de todas as partições\"."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Uso do modo agnóstico de páginas de 16 KB"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Você está no modo agnóstico de páginas de 16 KB. A integridade do software não é garantida nesse modo, e todos os dados armazenados no smartphone enquanto o carregador de inicialização está desbloqueado podem ser expostos a riscos. Como alguns recursos serão desativados nesses modos, alguns aplicativos podem não funcionar. Para entrar de novo no modo de produção, volte para o modo 4 KB e, em seguida, bloqueio o carregador de inicialização no dispositivo. Toque para ler mais."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Você está no modo agnóstico de páginas de 16 KB. A integridade do software não é garantida nesse modo, e todos os dados armazenados no smartphone enquanto o carregador de inicialização está desbloqueado podem ser expostos a riscos. Como alguns recursos serão desativados nesses modos, alguns aplicativos podem não funcionar. Para entrar de novo no modo de produção, volte para o modo 4 KB e, em seguida, bloqueio o carregador de inicialização no dispositivo. Essa ação vai redefinir o dispositivo para os padrões de fábrica novamente. Depois que o dispositivo for inicializado corretamente no Android, desative o desbloqueio de OEM nas Opções do desenvolvedor. Se o dispositivo não for inicializado no Android ou estiver instável, atualize-o novamente com as imagens de fábrica mais recentes especificadas em <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ou use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> e selecione \"Excluir o dispositivo permanentemente\", \"Bloquear carregador de inicialização\" e \"Forçar a atualização de todas as partições\"."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Você está no modo agnóstico de páginas de 16 KB. A integridade do software não é garantida nesse modo, e todos os dados armazenados no smartphone enquanto o carregador de inicialização está desbloqueado podem ser expostos a riscos. Como alguns recursos serão desativados nesses modos, alguns aplicativos podem não funcionar. Para entrar de novo no modo de produção, volte para o modo 4 KB e, em seguida, bloqueie o carregador de inicialização no dispositivo. Toque para ler mais."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Você está no modo agnóstico de páginas de 16 KB. A integridade do software não é garantida nesse modo, e todos os dados armazenados no smartphone enquanto o carregador de inicialização está desbloqueado podem ser expostos a riscos. Como alguns recursos serão desativados nesses modos, alguns aplicativos podem não funcionar. Para entrar de novo no modo de produção, volte para o modo 4 KB e, em seguida, bloqueie o carregador de inicialização no dispositivo. Essa ação vai fazer a redefinição de fábrica do dispositivo novamente. Depois que o dispositivo for inicializado corretamente no Android, desative o desbloqueio de OEM nas Opções do desenvolvedor. Se o dispositivo não for inicializado no Android ou estiver instável, atualize-o novamente com as imagens de fábrica mais recentes especificadas em <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ou use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> e selecione \"Excluir o dispositivo permanentemente\", \"Bloquear carregador de inicialização\" e \"Forçar a atualização de todas as partições\"."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Modo agnóstico de páginas de 16 KB"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Leia mais"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Gerenciador de relatórios de bugs"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Usar a Fixação de app"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Usar as opções do desenvolvedor"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Usar o serviço de impressão"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Permitir vários usuários"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"autorizar, vários, usuários, permitir, muitos"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"múltiplos, usuários, perfis, pessoas, contas, trocar, vários"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Usar a depuração por Wi-Fi"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Escolha o que ver na tela quando o tablet estiver na base. O dispositivo pode consumir mais energia quando o protetor de tela é usado."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Personalizar"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Personalizar <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"É necessário reiniciar o dispositivo para ativar o suporte ao formato livre."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"É necessário reiniciar o dispositivo para forçar o modo área de trabalho em telas secundárias."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Uma reinicialização é necessária para ativar a compatibilidade com o janelamento legado de forma livre."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Uma reinicialização é necessária para mudar a compatibilidade com janelamento de forma livre."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Uma reinicialização é necessária para forçar o janelamento de forma livre em telas secundárias."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reiniciar agora"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reiniciar mais tarde"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Áudio espacial"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Ouvir o stream"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Ler o QR code de um stream de áudio para ouvir com <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Não é possível editar a senha enquanto compartilha. Para mudar a senha, primeiro desligue o compartilhamento de áudio."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-ro/arrays.xml b/res/values-ro/arrays.xml
index 1ecad11..1c60dcb 100644
--- a/res/values-ro/arrays.xml
+++ b/res/values-ro/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Ora de culcare"</item>
+ <item msgid="4152450357280759894">"La volan"</item>
+ <item msgid="7096549258219399423">"Captivant"</item>
+ <item msgid="2760716776980432977">"Gestionat"</item>
+ <item msgid="601734478369121764">"Stea"</item>
+ <item msgid="6243809315432780521">"Calendar"</item>
+ <item msgid="4913577903148415331">"Ora"</item>
+ <item msgid="3653377604690057780">"Teatru"</item>
+ <item msgid="3843711267408385410">"Floare"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 1d9fe0e..497d2a6 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Setări pentru aparate auditive"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Comandă rapidă, compatibilitate cu aparatele auditive"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Presetare"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Audiologul nu a configurat presetări"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Nu s-a putut actualiza presetarea"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Ieșire audio"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Despre ieșirea audio"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Au fost adăugate fața și <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Au fost adăugate fața, amprenta și <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Au fost adăugate fața, amprentele și <xliff:g id="WATCH">%s</xliff:g>"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Acțiunea este necesară deoarece Verificarea identității este activată"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Deblocarea cu Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Ceasul a fost adăugat"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Configurează ceasul"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Află mai multe despre Deblocarea cu ceasul"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Adaugă un ceas"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Elimină ceasul"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Deblocare cu amprenta și Deblocare facială"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Deblocare facială și cu amprenta"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Deblocarea facială și cu amprenta pentru serviciu"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Este necesară configurarea"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Fața și amprentele au fost adăugate"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Instalează aplicații"</b>\n"Instalează aplicațiile pe care vrei să le păstrezi private în spațiul tău"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Reține"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Aplicațiile se opresc când îți blochezi spațiul"</b>\n"Când îți blochezi spațiul, aplicațiile din spațiul tău sunt oprite și nu vei mai primi notificări de la ele"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Spațiile private nu sunt potrivite pentru aplicațiile care trebuie să ruleze în fundal sau să trimită notificări critice, cum ar fi aplicațiile medicale. Motivul este că notificările și activitatea din fundal sunt oprite când spațiul este blocat.\n\nAplicațiile din spațiul privat nu vor apărea în Managerul de permisiuni, în tabloul de bord de confidențialitate și în alte setări atunci când spațiul privat este blocat.\n\nSpațiul privat nu poate fi mutat pe alt dispozitiv. Va trebui să configurezi alt spațiu privat dacă vrei să-l folosești pe alt dispozitiv.\n\nOricine îți conectează dispozitivul la un computer sau instalează aplicații dăunătoare pe dispozitiv poate să îți acceseze spațiul privat."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Spațiile private nu sunt potrivite pentru aplicațiile care trebuie să ruleze în fundal sau să trimită notificări critice, cum ar fi aplicațiile medicale. Motivul este că notificările și activitatea din fundal sunt oprite când spațiul este blocat.\n\nAplicațiile din spațiul privat nu vor apărea în Managerul de permisiuni, în tabloul de bord de confidențialitate și în alte setări atunci când spațiul privat este blocat.\n\nSpațiul privat nu poate fi restabilit pe alt dispozitiv. Va fi necesar să configurezi alt spațiu dacă vrei să îl folosești pe alt dispozitiv.\n\nOricine îți conectează dispozitivul la un computer sau instalează aplicații rău intenționate pe dispozitiv poate să îți acceseze spațiul privat."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Află mai multe despre spațiul privat"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Procesul va dura câteva momente"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Se configurează spațiul privat…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Repornești dispozitivul?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Înregistrarea NFC detaliată este menită exclusiv pentru dezvoltare Datele NFC suplimentare sunt incluse în rapoartele de eroare, care pot conține informații private. Repornește dispozitivul ca să schimbi setarea."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Repornește"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Proiectare"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"oglindă"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Activează ecranul wireless"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptive"</string>
<string name="brightness" msgid="6216871641021779698">"Nivel de luminozitate"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Luminozitate adaptivă"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Despre luminozitatea adaptivă"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Luminozitatea ecranului se va adapta automat la mediul și activitățile tale. Poți să muți manual glisorul pentru a ajuta luminozitatea adaptivă să îți învețe preferințele."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Activată"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Dezactivat"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Opțiuni"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Accesibilitate"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Tastatură fizică"</string>
- <string name="show_ime" msgid="4334255501724746849">"Folosește tastatura pe ecran"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Se păstrează pe ecran cât timp este activată tastatura fizică"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Taste nerepetate"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Tastatura ignoră apăsările repetate rapid ale aceleiași taste în <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Taste lente"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Utilizator selectat: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Voce"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Viteza indicatorului"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Controler de joc"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Redirecționează vibrațiile"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Trimite vibrații la controlerul de joc când este conectat"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Continuă oricum"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Anulează"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Setări pentru mărire"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Deplasare cu un deget"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Mută lupa cu un deget"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Trage cu degetul pentru a te deplasa pe ecran"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Mută zona de mărit trăgând cu un deget."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Mută zona de mărit trăgând cu două degete."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Opțiune indisponibilă dacă se mărește numai o parte a ecranului"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Atinge un buton pentru a micșora/mări"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Mărește rapid conținutul de pe ecran"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Pentru a mări:</b><br/> {0,number,integer}. folosește comanda rapidă ca să începi mărirea;<br/> {1,number,integer}. atinge ecranul;<br/> {2,number,integer}. glisează cu două degete ca să te deplasezi pe ecran;<br/> {3,number,integer}. ciupește cu două degete ca să ajustezi nivelul de zoom;<br/> {4,number,integer}. folosește comanda rapidă ca să oprești mărirea.<br/><br/> <b>Pentru a mări temporar:</b><br/> {0,number,integer}. asigură-te că tipul de mărire este setat la ecran complet;<br/> {1,number,integer}. folosește comanda rapidă ca să începi mărirea;<br/> {2,number,integer}. atinge lung oriunde pe ecran;<br/> {3,number,integer}. glisează cu degetul ca să te deplasezi pe ecran;<br/> {4,number,integer}. ridică degetul ca să oprești mărirea."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Pentru a mări:</b><br/> {0,number,integer}. folosește comanda rapidă ca să începi mărirea<br/> {1,number,integer}; atinge ecranul<br/> {2,number,integer}; glisează cu două degete ca să te deplasezi pe ecran<br/> {3,number,integer}; ciupește cu două degete ca să ajustezi nivelul de zoom<br/> {4,number,integer}. Folosește comanda rapidă ca să oprești mărirea.<br/><br/> Poți și să mărești temporar și multe altele."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Pentru a mări:</b><br/> {0,number,integer}. folosește comanda rapidă ca să începi mărirea<br/> {1,number,integer}; atinge ecranul<br/> {2,number,integer}; trage cu unul sau două degete ca să te deplasezi pe ecran<br/> {3,number,integer}; ciupește cu două degete ca să ajustezi nivelul de zoom<br/> {4,number,integer}. Folosește comanda rapidă ca să oprești mărirea.<br/><br/> Poți și să mărești temporar și multe altele."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Când mărirea este activată, poți mări ecranul curent.\n\n"<b>"Pentru a mări"</b>", începe mărirea, apoi atinge oriunde pe ecran.\n"<ul><li>"Trage cu două sau mai multe degete pentru a derula"</li>\n<li>"Ciupește cu două sau mai multe degete pentru a regla nivelul de zoom"</li></ul>\n\n<b>"Pentru a mări temporar"</b>", începe mărirea, apoi atinge lung oriunde pe ecran.\n"<ul><li>"Trage pentru a te mișca pe ecran"</li>\n<li>"Ridică degetul pentru a micșora"</li></ul>\n\n"Nu poți mări pe tastatură și pe bara de navigare."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Pagina <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> din <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Comandă rapidă pentru butonul de accesibilitate"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Primește notificări doar de la persoane și aplicații importante"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Selectează tipul de activare"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Ora"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"De exemplu, 9:30 – 17:00"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Calendar"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"De exemplu, Calendar personal"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Creează un mod"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Personalizat"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitează întreruperile"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activează Nu deranja"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarmele și sunetele media îl pot întrerupe"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Programe"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Șterge programele"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Ștergeți"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Editează"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Programe"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Program"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Adaugă un calendar"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Folosește-ți calendarul"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Program"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Setează un program"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Program"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min."</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Activează automat"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Program"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Dezactivează sunetul uneori"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Setează regulile pentru Nu deranja"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Permite întreruperile care emit sunete"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blochează întreruperile vizuale"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Permite semnale vizuale"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Notificări acceptate"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Concentrează-te"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Acțiuni suplimentare"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Setări de afișare"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Opțiuni de afișare"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"activează tema întunecată"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Modifică sistemul de operare și aplicațiile astfel încât să se afișeze text de culoare deschisă pe un fundal de culoare închisă, care este mai odihnitor pentru ochi și asigură economisirea considerabilă a bateriei în cazul unor dispozitive"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Nicio modificare a afișării}=1{{effect_1}}=2{{effect_1} și {effect_2}}=3{{effect_1}, {effect_2} și {effect_3}}few{{effect_1}, {effect_2} și încă #}other{{effect_1}, {effect_2} și încă #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filtrează întreruperile"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Nu sunt filtrate întreruperi"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opțiuni de afișare pentru notificările filtrate"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Când funcția „Nu deranja” este activată"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Fără sunet de la notificări"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"deschide notificarea"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Permite amânarea notificărilor"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Punct de notificare pe pictogramă"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Pachete de notificări"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Baloane"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Baloane"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Afișează conversația în balon"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Categorii"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Altele"</string>
<string name="no_channels" msgid="4716199078612071915">"Această aplicație nu a postat nicio notificare"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Afișează categoriile nefolosite"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Setări suplimentare în aplicație"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Afișează categoriile nefolosite"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Ascunde categoriile nefolosite"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Toate"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permite aplicațiilor să ignore"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplicații care pot întrerupe"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Selectează mai multe aplicații"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Schimbă la Numai alarme pentru o oră, până la {time}}few{Schimbă la Numai alarme pentru # ore, până la {time}}other{Schimbă la Numai alarme pentru # de ore, până la {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Schimbă la „Numai alarme” până la <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Schimbă la „Întrerupe întotdeauna”"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Redenumește"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Schimbă pictograma"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Schimbă pictograma"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Avertisment"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Închide"</string>
<string name="device_feedback" msgid="5351614458411688608">"Trimite feedback despre dispozitiv"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Carcasă"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Bateria"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Panou de setări"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Forțează modul desktop"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Forțează modul desktop experimental pe ecrane secundare"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Activează ferestrele cu formă liberă"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Activează compatibilitatea pentru ferestrele cu formă liberă."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Activează ferestrele cu formă liberă pe ecranul II"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Activează ferestrele cu formă liberă doar pe ecranul II."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Permite aplicații fără redimensionare în ferestre multiple"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Permite aplicațiile fără redimensionare în ferestre multiple"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Modifică funcția Force-Dark"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Partiția de date a acestui dispozitiv trebuie schimbată la ext4 înainte de a folosi opțiunea pentru dezvoltatori pe 16 KB. Integritatea software-ului nu poate fi garantată în acest mod și toate datele stocate pe telefon cât timp bootloaderul este deblocat pot fi în pericol. Activarea opțiunii pe 16 KB va necesita încă o repornire după această acțiune. Când te afli în acest mod, poți să comuți între modul de 4 KB și cel de 16 KB printr-o repornire. Unele funcții vor fi dezactivate în aceste moduri, prin urmare este posibil ca unele aplicații să nu funcționeze. Pentru a readuce dispozitivul în modul de producție, trebuie să revii la modul pe 4 KB, apoi să blochezi bootloaderul, acțiune care aduce dispozitivul la setările din fabrică. După ce dispozitivul pornește în sistemul Android, dezactivează deblocarea OEM în Opțiuni pentru dezvoltatori. Datele de pe dispozitiv vor fi șterse și sistemul de fișiere se va schimba în ext4 după confirmare. După finalizarea acțiunii, reactivează modul pe 16 KB."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Șterge toate datele"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Nu s-a putut reformata și golește partiția de date cu ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Este necesară deblocarea bootloaderului pentru modul pe 16 KB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Este necesară deblocarea bootloaderului"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Bootloaderul dispozitivului trebuie deblocat înainte de a folosi opțiunea pentru dezvoltatori pe 16 KB. Integritatea software-ului nu poate fi garantată în acest mod și toate datele stocate pe telefon cât timp bootloaderul este deblocat pot fi în pericol. Toate datele și setările utilizatorului vor fi șterse la activarea modului pe 16 KB. După deblocarea bootloaderului, activarea opțiunii pe 16 KB va necesita două reporniri. Când te afli în acest mod, poți să comuți între modul de 4 KB și cel de 16 KB printr-o repornire. Unele funcții vor fi dezactivate în aceste moduri, prin urmare este posibil ca unele aplicații să nu funcționeze. Pentru a readuce dispozitivul în modul de producție, trebuie să revii la modul pe 4 KB, apoi să blochezi OEM / bootloaderul dispozitivului (acțiune care aduce dispozitivul la setările din fabrică). Deblochează bootloaderul și încearcă din nou. Găsești instrucțiuni pentru acest proces la <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Se folosește modul pe 4 KB independent de dimensiunea paginii."</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Ești în modul pe 4 KB independent de dimensiunea paginii. Integritatea software-ului nu poate fi garantată în acest mod și toate datele stocate pe telefon cât timp bootloaderul este deblocat pot fi în pericol. Unele funcții vor fi dezactivate în aceste moduri, prin urmare este posibil ca unele aplicații să nu funcționeze. Pentru a intra din nou în modul de producție, trebuie să blochezi bootloaderul dispozitivului. Atinge pentru a citi mai multe."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Ești în modul pe 4 KB independent de dimensiunea paginii. Integritatea software-ului nu poate fi garantată în acest mod și toate datele stocate pe telefon cât timp bootloaderul este deblocat pot fi în pericol. Unele funcții vor fi dezactivate în aceste moduri, prin urmare este posibil ca unele aplicații să nu funcționeze. Pentru a intra din nou în modul de producție, trebuie să blochezi bootloaderul dispozitivului. Astfel, dispozitivul revine din nou la setările din fabrică și este restabilit la setările de producție. După ce dispozitivul pornește în sistemul Android, dezactivează deblocarea OEM în Opțiuni pentru dezvoltatori. Dacă dispozitivul nu pornește în sistemul Android sau este instabil, reinstalează cele mai recente configurații din fabrică pe dispozitiv de la <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> sau accesează <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> și selectează Wipe Device (Șterge datele de pe dispozitiv) > Lock Bootloader (Blochează bootloaderul) > Force Flash all partitions (Instalează forțat pe toate partițiile)."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Se folosește modul pe 16 KB independent de dimensiunea paginii."</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Ești în modul pe 16 KB independent de dimensiunea paginii. Integritatea software-ului nu poate fi garantată în acest mod și toate datele stocate pe telefon cât timp bootloaderul este deblocat pot fi în pericol. Unele funcții vor fi dezactivate în aceste moduri, prin urmare este posibil ca unele aplicații să nu funcționeze. Pentru a intra din nou în modul de producție, trebuie să revii la modul pe 4 KB, apoi să blochezi bootloaderul dispozitivului. Atinge pentru a citi mai multe."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Ești în modul pe 16 KB independent de dimensiunea paginii. Integritatea software-ului nu poate fi garantată în acest mod și toate datele stocate pe telefon cât timp bootloaderul este deblocat pot fi în pericol. Unele funcții vor fi dezactivate în aceste moduri, prin urmare este posibil ca unele aplicații să nu funcționeze. Pentru a intra din nou în modul de producție, trebuie să revii la modul pe 4 KB, apoi să blochezi bootloaderul dispozitivului. Astfel, dispozitivul revine din nou la setările din fabrică și este restabilit la setările de producție. După ce dispozitivul pornește în sistemul Android, dezactivează deblocarea OEM în Opțiuni pentru dezvoltatori. Dacă dispozitivul nu pornește în sistemul Android sau este instabil, reinstalează cele mai recente configurații din fabrică pe dispozitiv de la <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> sau accesează <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> și selectează Wipe Device (Șterge datele de pe dispozitiv) > Lock Bootloader (Blochează bootloaderul) > Force Flash all partitions (Instalează forțat pe toate partițiile)."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Ești în modul pe 16 KB independent de dimensiunea paginii. Integritatea software-ului nu poate fi garantată în acest mod și toate datele stocate pe telefon cât timp bootloaderul este deblocat pot fi în pericol. Unele funcții vor fi dezactivate în aceste moduri, prin urmare este posibil ca unele aplicații să nu funcționeze. Pentru a intra din nou în modul de producție, trebuie să revii la modul pe 4 KB, apoi să blochezi bootloaderul dispozitivului. Atinge pentru a citi mai multe."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Ești în modul pe 16 KB independent de dimensiunea paginii. Integritatea software-ului nu poate fi garantată în acest mod și toate datele stocate pe telefon cât timp bootloaderul este deblocat pot fi în pericol. Unele funcții vor fi dezactivate în aceste moduri, prin urmare este posibil ca unele aplicații să nu funcționeze. Pentru a intra din nou în modul de producție, trebuie să revii la modul pe 4 KB, apoi să blochezi bootloaderul dispozitivului. Astfel, dispozitivul revine din nou la setările din fabrică și este restabilit la setările de producție. După ce dispozitivul pornește în sistemul Android, dezactivează deblocarea OEM în Opțiuni pentru dezvoltatori. Dacă dispozitivul nu pornește în sistemul Android sau este instabil, reinstalează cele mai recente configurații din fabrică pe dispozitiv de la <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> sau accesează <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> și selectează Wipe Device (Șterge datele de pe dispozitiv) > Lock Bootloader (Blochează bootloaderul) > Force Flash all partitions (Instalează forțat pe toate partițiile)."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Modul pe 16 KB independent de dimensiunea paginii"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Citește mai multe"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Handler pentru rapoartele de eroare"</string>
@@ -5014,7 +5072,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Folosește fixarea aplicațiilor"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Folosește opțiuni pentru dezvoltatori"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Folosește serviciul de printare"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Permite utilizatori multipli"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"permite, mai mulți, utilizatori, acceptă, mulți"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"multipli, utilizatori, profiluri, persoane, conturi, schimbă, mulți"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Folosește remedierea erorilor wireless"</string>
@@ -5128,8 +5187,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Alege ce vei vedea pe ecran când tableta este andocată. Dispozitivul poate consuma mai multă energie când folosește un screensaver."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Personalizează"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Personalizează <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Este nevoie de o repornire pentru a activa asistența cu formă liberă."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Este nevoie de o repornire pentru a impune modul computer pe ecranele secundare."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Este necesară o repornire pentru a activa compatibilitatea pentru ferestrele vechi cu formă liberă."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Este necesară o repornire pentru a schimba compatibilitatea pentru ferestrele cu formă liberă."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Este necesară o repornire pentru a forța utilizarea ferestrelor cu formă liberă pe ecranele secundare."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Repornește acum"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Repornește mai târziu"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Audio spațial"</string>
@@ -5358,4 +5418,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Ascultă streamul"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Scanează un cod QR de stream audio pentru a-l asculta folosind <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Nu poți edita parola în timpul permiterii accesului. Pentru a schimba parola, mai întâi dezactivează permiterea accesului la audio."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-ru/arrays.xml b/res/values-ru/arrays.xml
index 14b0477..b90cc23 100644
--- a/res/values-ru/arrays.xml
+++ b/res/values-ru/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Сон"</item>
+ <item msgid="4152450357280759894">"Вождение"</item>
+ <item msgid="7096549258219399423">"Погружение"</item>
+ <item msgid="2760716776980432977">"Управление"</item>
+ <item msgid="601734478369121764">"Звезда"</item>
+ <item msgid="6243809315432780521">"Календарь"</item>
+ <item msgid="4913577903148415331">"Время"</item>
+ <item msgid="3653377604690057780">"Театр"</item>
+ <item msgid="3843711267408385410">"Цветок"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index d489e35..fc10c80 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Настройки слуховых аппаратов"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Быстрый запуск, совместимость со слуховыми аппаратами"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Набор настроек"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Нет наборов настроек от сурдолога"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Не удалось обновить набор настроек."</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Аудиовыход"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"О выводе звука"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Модель лица и часы \"<xliff:g id="WATCH">%s</xliff:g>\" добавлены"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Модель лица, отпечаток пальца и часы \"<xliff:g id="WATCH">%s</xliff:g>\" добавлены"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Модель лица, отпечатки пальцев и часы \"<xliff:g id="WATCH">%s</xliff:g>\" добавлены"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Это необходимо, так как включена проверка личности."</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Разблокировка по Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Часы добавлены"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Настройте часы"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Подробнее о разблокировке с помощью часов…"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Добавить часы"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Удалить часы"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Отпечаток пальца и фейсконтроль"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Фейсконтроль и отпечаток пальца"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Фейсконтроль и отпечаток пальца для работы"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Требуется настройка"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Добавлено лицо и отпечатки пальцев"</string>
@@ -610,15 +612,13 @@
<string name="private_space_hide_apps_summary" msgid="4418722947376042418">"Создайте пространство для личных приложений, которое можно скрыть или защитить с помощью блокировки. В целях безопасности используйте отдельный аккаунт Google."</string>
<string name="private_space_setup_sub_header" msgid="550476876393954356">"Как это работает"</string>
<string name="private_space_separate_account_text" msgid="790319706810190320"><b>"Создайте аккаунт Google для частного пространства"</b>\n"Так синхронизированные файлы, фотографии и электронные письма не будут видны вне частного пространства"</string>
- <string name="private_space_protected_lock_text" msgid="9123250938334372735"><b>"Блокировка"</b>\n"Заблокируйте частное пространство, чтобы другие пользователи не могли его открыть."</string>
+ <string name="private_space_protected_lock_text" msgid="9123250938334372735"><b>"Включите блокировку"</b>\n"Заблокируйте частное пространство, чтобы другие пользователи не могли его открыть"</string>
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Установите приложения"</b>\n"Доступ к ним будет только у вас"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Важно!"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Если заблокировать частное пространство, работа приложений в нем остановится"</b>\n"Также перестанут приходить уведомления от них"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
- <string name="private_space_learn_more_text" msgid="5314198983263277586">"Подробнее о личном пространстве"</string>
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Частное пространство не подходит для приложений, например медицинских, которым необходимо работать в фоновом режиме и отправлять важные уведомления. Это связано с тем, что когда оно заблокировано, фоновые процессы и отправка уведомлений в нем останавливаются.\n\nКогда частное пространство заблокировано, приложения из него не показываются в разделе \"Управление разрешениями\", на панели управления разрешениями и в других настройках.\n\nЧастное пространство нельзя перенести на другое устройство, но можно создать новое.\n\nДоступ к частному пространству может получить другой человек, если ему удастся установить на устройство вредоносные приложения или подключить его к компьютеру."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Частное пространство не подходит для приложений, например медицинских, которым необходимо работать в фоновом режиме и отправлять важные уведомления. Это связано с тем, что когда оно заблокировано, фоновые процессы и отправка уведомлений в нем останавливаются.\n\nКогда частное пространство заблокировано, приложения из него не показываются в разделе \"Управление разрешениями\", на панели управления разрешениями и в других настройках.\n\nЧастное пространство нельзя восстановить на другом устройстве, но можно создать новое.\n\nДоступ к частному пространству может получить другой человек, если ему удастся установить на устройство вредоносные приложения или подключить его к компьютеру."</string>
+ <string name="private_space_learn_more_text" msgid="5314198983263277586">"Подробнее о частном пространстве"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Это займет некоторое время."</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Создание личного пространства…"</string>
<string name="private_space_error_screen_title" msgid="739381738044418346">"Не удалось создать частное пространство"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Перезапустить устройство?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Подробный журнал NFC ведется только в целях разработки. Дополнительные данные NFC будут включены в отчеты об ошибках и могут содержать конфиденциальную информацию. Чтобы изменить этот параметр, перезапустите устройство."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Перезапустить"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Трансляция"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"дублирование"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Включить"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Адаптивная регулировка"</string>
<string name="brightness" msgid="6216871641021779698">"Яркость"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Адаптивная яркость"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Об адаптивной яркости"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Яркость экрана будет настраиваться автоматически в зависимости от окружающих условий и ваших действий. Дополнительно ее можно регулировать вручную, чтобы система учитывала ваши предпочтения."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Включено"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Отключено"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Параметры"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Специальные возможности"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Физическая клавиатура"</string>
- <string name="show_ime" msgid="4334255501724746849">"Использовать экранную клавиатуру"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Не скрывать экранную клавиатуру, когда включена физическая"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Контроль повторного нажатия"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Повторные нажатия одной клавиши в течение <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> мс игнорируются"</string>
<string name="slow_keys" msgid="2891452895499690837">"Медленные клавиши"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Выбрано пользователем: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Речь"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Скорость указателя"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Игровые контроллеры"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Перенаправление виброотклика"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Активировать виброотклик на подключенном игровом контроллере"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Продолжить"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Отмена"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Настройки увеличения"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Перемещение одним пальцем"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Проведите пальцем, чтобы переместить лупу"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Для перемещения по экрану проведите пальцем."</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Для перемещения зоны увеличения используется один палец"</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Для перемещения зоны увеличения используются два пальца"</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Недоступно при увеличении только части экрана"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Чтобы увеличить масштаб, нажмите кнопку"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Быстрое увеличение масштаба."</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Чтобы увеличить масштаб:</b><br/> {0,number,integer}. Выполните действие быстрого запуска для перехода в режим увеличения.<br/> {1,number,integer}. Коснитесь экрана.<br/> {2,number,integer}. Если нужно, перетащите область увеличения двумя пальцами.<br/> {3,number,integer}. Чтобы скорректировать масштаб, сведите или разведите два пальца.<br/> {4,number,integer}. Чтобы выйти из режима увеличения, выполните действие быстрого запуска.<br/><br/> <b>Чтобы временно увеличить масштаб:</b><br/> {0,number,integer}. Убедитесь, что выбран режим увеличения \"Весь экран\".<br/> {1,number,integer}. Выполните действие быстрого запуска для перехода в режим увеличения.<br/> {2,number,integer}. Коснитесь любой области экрана и удерживайте палец.<br/> {3,number,integer}. Если нужно, перетащите область увеличения.<br/> {4,number,integer}. Чтобы вернуть исходный масштаб, уберите палец с экрана."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Чтобы увеличить масштаб:</b><br/> {0,number,integer}. Выполните действие быстрого запуска для перехода в режим увеличения.<br/> {1,number,integer}. Коснитесь экрана.<br/> {2,number,integer}. Перетащите область увеличения двумя пальцами.<br/> {3,number,integer}. Чтобы скорректировать масштаб, сведите два пальца вместе.<br/> {4,number,integer}. Чтобы выйти из режима увеличения, выполните действие быстрого запуска.<br/><br/> Вы также можете временно увеличивать масштаб и выполнять другие команды."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Чтобы увеличить масштаб:</b><br/> {0,number,integer}. Выполните действие быстрого запуска для перехода в режим увеличения.<br/> {1,number,integer}. Коснитесь экрана.<br/> {2,number,integer}. Перетащите область увеличения одним или двумя пальцами.<br/> {3,number,integer}. Чтобы скорректировать масштаб, сведите два пальца вместе.<br/> {4,number,integer}. Чтобы выйти из режима увеличения, выполните действие быстрого запуска.<br/><br/> Вы также можете временно увеличивать масштаб и выполнять другие команды."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Благодаря функции увеличения вы сможете приближать изображение на экране.\n\n"<b>"Если вы хотите увеличить изображение"</b>", включите функцию и нажмите на экран в любом месте.\n"<ul><li>"Для прокрутки проведите двумя пальцами."</li>\n<li>"Чтобы изменить масштаб, сведите два пальца вместе или разведите их."</li></ul>\n\n<b>"Если нужно временно увеличить масштаб"</b>", включите функцию увеличения, коснитесь экрана и удерживайте.\n"<ul><li>"Для обзора проведите по экрану."</li>\n<li>"Чтобы уменьшить масштаб, отпустите палец."</li></ul>\n\n"Эти жесты не работают на клавиатуре и панели навигации."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Страница <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> из <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Кнопка быстрого доступа к специальным возможностям"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Получать уведомления только от важных людей и приложений."</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Выбрать тип активации"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Время"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Например, 9:30–17:00"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Календарь"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Например, \"Личный календарь\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Создайте режим"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Свой вариант"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Отключение уведомлений"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Включите режим \"Не беспокоить\""</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Режим \"Не беспокоить\" не действует для будильников и звука в медиафайлах"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Расписания"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Удалить расписания"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Удалить"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Изменить"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Расписания"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Расписание"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Добавить в календарь"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Использовать календарь"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Расписание"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Создайте расписание"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Расписание"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ч. <xliff:g id="MINUTES">%2$d</xliff:g> мин."</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Включать автоматически"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Расписание"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Отключать звук в заданное время"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Настройте правила режима \"Не беспокоить\"."</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Разрешить звуки"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Блокировка визуального оповещения"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Включить визуальное оповещение"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Разрешенные уведомления"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Фильтрация уведомлений"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Дополнительные действия"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Настройки экрана"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Параметры отображения"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"использовать темную тему"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Показывать светлый текст на темном фоне в ОС и приложениях. Такой режим значительно экономит заряд батареи на некоторых устройствах и может быть более комфортным для глаз."</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Нет изменений в настройках экрана}=1{{effect_1}}=2{{effect_1} и {effect_2}}=3{{effect_1}, {effect_2} и {effect_3}}one{{effect_1}, {effect_2} и ещё # изменение}few{{effect_1}, {effect_2} и ещё # изменения}many{{effect_1}, {effect_2} и ещё # изменений}other{{effect_1}, {effect_2} и ещё # изменения}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Фильтровать уведомления"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Уведомления не фильтруются"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Настройки показа фильтруемых уведомлений"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"В режиме \"Не беспокоить\""</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Отключить звук"</string>
@@ -3486,6 +3541,8 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"Открыть уведомление"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Разрешить откладывать уведомления"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Значок уведомления на значке приложения"</string>
+ <!-- no translation found for notification_bundles (3614044525822580826) -->
+ <skip />
<string name="notification_bubbles_title" msgid="5681506665322329301">"Всплывающие чаты"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Всплывающие чаты"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Всплывающий чат"</string>
@@ -3667,6 +3724,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Категории"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Другие"</string>
<string name="no_channels" msgid="4716199078612071915">"Это приложение не отправляло уведомлений."</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Показать неиспользуемые категории"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Доп. настройки в приложении"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Показать неиспользуемые категории"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Скрыть неиспользуемые категории"</string>
@@ -3778,6 +3836,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Все"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Разрешить приложениям переопределять \"Не беспокоить\""</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Приложения, для которых не действует режим \"Не беспокоить\""</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Другие приложения"</string>
@@ -3814,12 +3874,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Активировать режим \"Только будильник\" на один час до {time}}one{Активировать режим \"Только будильник\" на # час до {time}}few{Активировать режим \"Только будильник\" на # часа до {time}}many{Активировать режим \"Только будильник\" на # часов до {time}}other{Активировать режим \"Только будильник\" на # часа до {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Активировать режим \"Только будильник\" до <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Режим \"Не беспокоить\" отключен."</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Переименовать"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Изменить значок"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Изменение значка"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Уведомление"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Закрыть"</string>
<string name="device_feedback" msgid="5351614458411688608">"Отправить отзыв об устройстве"</string>
@@ -4805,8 +4862,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Зарядный чехол"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Батарея"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Панель настроек"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Принудительное включение режима рабочего стола"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Принудительное включение экспериментального режима рабочего стола на дополнительных экранах"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Разрешить окна произвольной формы"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Включить функцию для создания окон произвольной формы"</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Разрешить окна произвольной формы на втором экране"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Включить функцию для создания окон произвольной формы только на дополнительном экране"</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Включить неизменяемый масштаб в многооконном режиме"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Открывать приложения с неизменяемым масштабом в многооконном режиме"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Переопределение включения тёмной темы"</string>
@@ -4874,14 +4933,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Прежде чем использовать параметр для разработчиков и менять размер страницы памяти на 16 КБ, преобразуйте раздел данных на этом устройстве в файловую систему ext4. После этого гарантировать целостность программного обеспечения будет невозможно. Любые данные, сохраненные на телефоне, пока загрузчик операционной системы разблокирован, могут быть под угрозой. При выполнении процедуры устройство нужно будет перезагрузить ещё раз. В этом режиме для переключения между размерами страницы памяти (4 КБ и 16 КБ) требуется одна перезагрузка. Некоторые функции будут отключены, поэтому отдельные приложения могут не работать. Чтобы сбросить настройки и вернуть устройство в производственный режим, вновь уменьшите размер страницы памяти до 4 КБ и заблокируйте загрузчик операционной системы. После успешного запуска Android отключите разблокировку загрузчика в разделе \"Для разработчиков\". При подтверждении данные с вашего устройства будут удалены, а файловая система будет изменена на ext4. Затем снова увеличьте размер страницы памяти до 16 КБ."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Удалить все данные"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Не удалось отформатировать раздел данных и сменить файловую систему на ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Чтобы изменить размер страницы памяти на 16 кБ, разблокируйте загрузчик операционной системы"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Необходимо разблокировать загрузчик операционной системы"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Прежде чем использовать параметр для разработчиков и менять размер страницы памяти на 16 кБ, разблокируйте загрузчик операционной системы на этом устройстве. После этого гарантировать целостность программного обеспечения будет невозможно. Любые данные, сохраненные на телефоне, пока загрузчик операционной системы разблокирован, могут быть под угрозой. При повышении размера до 16 кБ все пользовательские данные и настройки будут удалены. После разблокировки загрузчика операционной системы потребуется перезагрузить устройство два раза. В этом режиме для переключения между размерами страницы памяти (4 кБ и 16 кБ) требуется одна перезагрузка. Некоторые функции будут отключены, поэтому отдельные приложения могут не работать. Чтобы сбросить настройки и вернуть устройство в производственный режим, вновь уменьшите размер до 4 кБ и заблокируйте загрузчик операционной системы. Разблокируйте загрузчик и повторите попытку. Сведения о том, как это сделать, опубликованы на странице <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>."</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Режим, который не зависит от страниц, с ядром 4 KБ"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Вы используете режим работы, который не зависит от страниц, с размером страницы 4 КБ. Гарантировать целостность программного обеспечения при этом невозможно. Любые данные, сохраненные на телефоне, пока загрузчик операционной системы разблокирован, могут быть под угрозой. Некоторые функции будут отключены, поэтому отдельные приложения могут не работать. Чтобы вернуться в производственный режим, заблокируйте загрузчик операционной системы. Нажмите, чтобы узнать подробности."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Вы используете режим работы, который не зависит от страниц, с размером страницы 4 КБ. Гарантировать целостность программного обеспечения при этом невозможно. Любые данные, сохраненные на телефоне, пока загрузчик операционной системы разблокирован, могут быть под угрозой. Некоторые функции будут отключены, поэтому отдельные приложения могут не работать. Чтобы вернуться в производственный режим, заблокируйте загрузчик операционной системы. Настройки устройства при этом сбросятся. После успешного запуска Android отключите разблокировку загрузчика в разделе \"Для разработчиков\". Перепрошейте устройство, если оно работает нестабильно или Android на нем не запускается. Для этого используйте последние заводские образы с сайта <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> или <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a&gt. Затем нажмите \"Удалить данные с устройства\", \"Заблокировать загрузчик операционной системы\" и \"Принудительно прошить все разделы\"."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Используется режим работы, который не зависит от страниц, с размером страницы 16 кБ."</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Вы используете режим работы, который не зависит от страниц памяти, с размером страницы 16 кБ. Гарантировать целостность программного обеспечения при этом невозможно. Любые данные, сохраненные на телефоне, пока загрузчик операционной системы разблокирован, могут быть под угрозой. Некоторые функции будут отключены, поэтому отдельные приложения могут не работать. Чтобы вернуться в производственный режим, вновь уменьшите размер страницы памяти до 4 кБ и заблокируйте загрузчик операционной системы. Нажмите, чтобы узнать подробности."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Вы используете режим работы, который не зависит от страниц памяти, с размером страницы 16 кБ. Гарантировать целостность программного обеспечения при этом невозможно. Любые данные, сохраненные на телефоне, пока загрузчик операционной системы разблокирован, могут быть под угрозой. Некоторые функции будут отключены, поэтому отдельные приложения могут не работать. Чтобы вернуться в производственный режим, вновь уменьшите размер страницы памяти до 4 кБ и заблокируйте загрузчик операционной системы. Настройки устройства при этом сбросятся. После успешного запуска Android отключите разблокировку загрузчика в разделе \"Для разработчиков\". Перепрошейте устройство, если оно работает нестабильно или Android на нем не запускается. Для этого используйте последние заводские образы с сайта <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> или <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a&gt. Затем нажмите \"Удалить данные с устройства\", \"Заблокировать загрузчик операционной системы\" и \"Принудительно прошить все разделы\"."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Вы используете режим, независимый от размера страницы, с размером страницы 16 кБ. Гарантировать целостность программного обеспечения при этом невозможно. Пока разблокирован загрузчик операционной системы, любые данные, хранящиеся на телефоне, подвергаются риску. Некоторые функции будут отключены, поэтому отдельные приложения могут не работать. Чтобы вернуться в производственный режим, уменьшите размер страницы памяти до 4 кБ и заблокируйте загрузчик операционной системы. Нажмите, чтобы узнать подробности."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Вы используете режим, независимый от размера страницы, с размером страницы 16 кБ. Гарантировать целостность программного обеспечения при этом невозможно. Пока разблокирован загрузчик операционной системы, любые данные, хранящиеся на телефоне, подвергаются риску. Некоторые функции будут отключены, поэтому отдельные приложения могут не работать. Чтобы вернуться в производственный режим, уменьшите размер страницы памяти до 4 кБ и заблокируйте загрузчик операционной системы. Настройки устройства при этом будут сброшены. После запуска Android отключите разблокировку загрузчика в разделе \"Для разработчиков\". Перепрошейте устройство, если оно работает нестабильно или Android на нем не запускается. Для этого используйте последние заводские образы с сайта <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> или <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a>. Затем нажмите \"Удалить данные с устройства\", \"Заблокировать загрузчик операционной системы\" и \"Принудительно прошить все разделы\"."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Режим работы, который не зависит от страниц, с размером страницы 16 кБ."</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Ещё"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Обработчик отчетов об ошибках"</string>
@@ -5015,7 +5074,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Закрепление приложений"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Режим разработчика"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Использовать службу печати"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Разрешить добавлять несколько пользователей"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"разрешить, несколько, пользователь, разрешение, много"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"несколько, пользователи, профили, люди, аккаунты, переключиться, много"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Использовать отладку по Wi-Fi"</string>
@@ -5129,8 +5189,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Выберите, что будет показано на экране, когда планшет подключен к док-станции. Устройство может потреблять больше энергии, если включена заставка."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Настроить"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Настроить заставку \"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>\""</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Чтобы включить поддержку создания окон произвольной формы, требуется перезагрузка."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Чтобы принудительно включить режим рабочего стола на дополнительных экранах, требуется перезагрузка."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Чтобы включить устаревшую функцию для создания окон произвольной формы, требуется перезагрузка."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Чтобы изменить настройки поддержки окон произвольной формы, требуется перезагрузка."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Чтобы принудительно включить функцию для создания окон произвольной формы на дополнительных экранах, требуется перезагрузка."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Перезагрузить сейчас"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Перезагрузить позже"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Пространственное звучание"</string>
@@ -5359,4 +5420,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Подключиться к потоку"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Отсканируйте QR-код аудиопотока для прослушивания на устройстве (<xliff:g id="DEVICE_NAME">%1$s</xliff:g>)"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Нельзя изменить пароль во время отправки аудио. Сначала отключите ее."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-si/arrays.xml b/res/values-si/arrays.xml
index 8c9e286..52e499a 100644
--- a/res/values-si/arrays.xml
+++ b/res/values-si/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"නින්දට යන වේලාව"</item>
+ <item msgid="4152450357280759894">"රිය ධාවනය"</item>
+ <item msgid="7096549258219399423">"ගිලෙන සුළු"</item>
+ <item msgid="2760716776980432977">"කළමනාකරණය කළ"</item>
+ <item msgid="601734478369121764">"තරුව"</item>
+ <item msgid="6243809315432780521">"දින දර්ශනය"</item>
+ <item msgid="4913577903148415331">"වේලාව"</item>
+ <item msgid="3653377604690057780">"රඟහල"</item>
+ <item msgid="3843711267408385410">"මල"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 8aabde8..a923fc4 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"ශ්රවණ උපකරණ සැකසීම්"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"කෙටිමඟ, ශ්රවණාධාරක අනුකූලත්වය"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"පෙරසැකසුම"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"ඔබේ ශ්රව්ය විද්යාඥයා විසින් වැඩසටහන්ගත කළ පෙර සැකසීම් නොමැත"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"පෙර සැකසීම යාවත්කාලීන කළ නොහැකි විය"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ශබ්ද ප්රතිදානය"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ශ්රව්ය ප්රතිදානය පිළිබඳව"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"මුහුණ සහ <xliff:g id="WATCH">%s</xliff:g> එක් කර ඇත"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"මුහුණ, ඇඟිලි සලකුණ, සහ <xliff:g id="WATCH">%s</xliff:g> එක් කර ඇත"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"මුහුණ, ඇඟිලි සලකුණු, සහ <xliff:g id="WATCH">%s</xliff:g> එක් කර ඇත"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"හැඳුනුම් පරීක්ෂාව ක්රියාත්මක බැවින් මෙය අවශ්ය වේ"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"දුරස්ථ සත්යාපක අගුලු හරින්න"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"ඔරලෝසුව එක් කර ඇත"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"ඔබේ ඔරලෝසුව පිහිටුවන්න"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"ඔරලෝසුව අගුලු හැරීම ගැන තව දැන ගන්න"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"ඔරලෝසුව එක් කරන්න"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"ඔරලෝසුව ඉවත් කරන්න"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ඇඟිලි සලකුණ සහ මුහුණෙන් අගුළු හැරීම"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"මුහුණ සහ ඇඟිලි සලකුණු අගුළු හැරීම"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"වැඩ සඳහා මුහුණු සහ ඇඟිලි සලකුණු අගුළු හැරීම"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"පිහිටුවීම අවශ්යයි"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"මුහුණ සහ ඇඟිලි සලකුණු එක් කරන ලදි"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"යෙදුම් ස්ථාපන කරන්න"</b>\n"ඔබ පුද්ගලිකව තබා ගැනීමට කැමති යෙදුම් ඔබේ අවකාශය තුළ ස්ථාපන කරන්න"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"මතක තබා ගන්න"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"ඔබ ඔබේ අවකාශයට අගුලු දමන විට යෙදුම් නවතියි"</b>\n"ඔබ ඔබේ අවකාශයට අගුලු දමන විට, ඔබේ අවකාශය තුළ ඇති යෙදුම් නවතින අතර ඔබට ඒවායෙන් දැනුම්දීම් නොලැබෙයි"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"පසුබිමේ ධාවනය කිරීමට හෝ වෛද්ය යෙදුම් වැනි තීරණාත්මක දැනුම්දීම් යැවීමට අවශ්ය යෙදුම් සඳහා රහසිගත අවකාශයන් සුදුසු නොවේ. මෙයට හේතුව ඔබේ අවකාශය අගුළු දමා ඇති විට දැනුම්දීම් සහ පසුබිම් ක්රියාකාරකම් නතර වීමයි.\n\nඔබේ රහසිගත අවකාශය අගුළු දමා ඇති විට ඔබේ රහසිගත අවකාශයේ යෙදුම් අවසර කළමනාකරු, පෞද්ගලිකත්ව උපකරණ පුවරුව, සහ වෙනත් සැකසීම්වල දිස් නොවනු ඇත.\n\nඔබේ රහසිගත අවකාශය නව උපාංගයකට ගෙන යා නොහැක. ඔබට එය වෙනත් උපාංගයක භාවිතා කිරීමට අවශ්ය නම් ඔබට වෙනත් පෞද්ගලික අවකාශයක් පිහිටුවීමට අවශ්ය වනු ඇත.\n\nඔබේ උපාංගය පරිගණකයකට සම්බන්ධ කරන හෝ ඔබේ උපාංගයෙහි හානිකර යෙදුම් ස්ථාපනය කරන ඕනෑම අයෙකුට ඔබේ රහසිගත අවකාශයට ප්රවේශ විය හැක."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"පසුබිමේ ධාවනය කිරීමට හෝ වෛද්ය යෙදුම් වැනි තීරණාත්මක දැනුම්දීම් යැවීමට අවශ්ය යෙදුම් සඳහා රහසිගත අවකාශයන් සුදුසු නොවේ. මෙයට හේතුව ඔබේ අවකාශය අගුළු දමා ඇති විට දැනුම්දීම් සහ පසුබිම් ක්රියාකාරකම් නතර වීමයි.\n\nඔබේ රහසිගත අවකාශය අගුළු දමා ඇති විට ඔබේ රහසිගත අවකාශයේ යෙදුම් අවසර කළමනාකරු, පෞද්ගලිකත්ව උපකරණ පුවරුව, සහ වෙනත් සැකසීම්වල දිස් නොවනු ඇත.\n\nඔබේ රහසිගත අවකාශය නව උපාංගයකට ප්රතිසාධනය කළ නොහැක. ඔබ එය වෙනත් උපාංගයක් මත භාවිත කිරීමට කැමති නම් ඔබට තව අවකාශයක් සැකසීමට අවශ්ය වෙයි.\n\nඔබේ උපාංගය පරිගණකයකට සම්බන්ධ කරන හෝ ඔබේ උපාංගය මත අනිෂ්ට යෙදුම් ස්ථාපන කරන කිසි කෙනෙකුට ඔබේ රහසිගත අවකාශයට ප්රවේශ විය හැකි වේවි."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"රහසිගත අවකාශය ගැන තව දැන ගන්න"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"මෙයට මොහොතක් ගත වෙයි"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"පෞද්ගලික අවකාශය පිහිටුවමින්…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"උපාංගය යළි අරඹන්න ද?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"විස්තර NFC ලොග් කිරීම සංවර්ධන අරමුණු සඳහා පමණක් අදහස් කරයි. පෞද්ගලික තොරතුරු අඩංගු විය හැකි, දෝෂ වාර්තාවල අතිරේක NFC දත්ත ඇතුළත් වේ. මෙම සැකසීම වෙනස් කිරීමට ඔබේ උපාංගය යළි අරඹන්න."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"යළි අරඹන්න"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Cast"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"දර්පණය"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"රැහැන් රහිත දර්ශනය සබල කරන්න"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"අනුවර්තී"</string>
<string name="brightness" msgid="6216871641021779698">"දීප්ති මට්ටම"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"අනුවර්තක දීප්තිය"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"අනුවර්තී දීප්තිය පිළිබඳව"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"ඔබේ තිරයේ දීප්තිය ස්වයංක්රියව ඔබගේ පරිසරයට සහ ක්රියාකාරකම්වලට ගළපනු ඇත. අනුවර්තන දීප්තියට ඔබේ මනාප දැන ගැනීමට උදවු වීමට ඔබට ස්ලයිඩරය හස්තීයව ගෙන යාමට හැකිය."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"ක්රියාත්මකයි"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"ක්රියාවිරහිතයි"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"විකල්ප"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"ප්රවේශ්යතාව"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"භෞතික යතුරු පුවරුව"</string>
- <string name="show_ime" msgid="4334255501724746849">"තිරය මත යතුරු පුවරුව භාවිත කරන්න"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"භෞතික යතුරු පුවරුව සක්රිය අතරතුර එය තිරය මත තබා ගන්න"</string>
<string name="bounce_keys" msgid="7419450970351743904">"පනින යතුරු"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"යතුරුපුවරුව <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms ඇතුළත එකම යතුර නැවත නැවතත් එබීම් නොසලකා හරියි"</string>
<string name="slow_keys" msgid="2891452895499690837">"මන්දගාමී යතුරු"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"පරිශීලක තෝරා ඇත: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"කථනය"</string>
<string name="pointer_speed" msgid="7398649279282675718">"දර්ශක වේගය"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"ක්රීඩා පාලකය"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"කම්පනය ප්රතියොමු කරන්න"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"ක්රීඩා පාලකයට සම්බන්ධ විට කම්පනය යවන්න."</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"කෙසේ වෙතත් ඉදිරියට යන්න"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"අවලංගු කරන්න"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"විශාලන සැකසීම්"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"එක ඇඟිල්ලකින් පෑන් කිරීම"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"1 ඇඟිල්ලකින් විශාලකය ගෙන යන්න"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"තිරය වටා ගමන් කිරීමට 1 ඇඟිල්ලක් අදින්න"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"එක ඇඟිල්ලක් ඇදීමෙන් විශාලන ප්රදේශය එහා මෙහා කරන්න."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"ඇඟිලි දෙකක් ඇදීමෙන් විශාලන ප්රදේශය එහා මෙහා කරන්න."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"තිරයේ කොටසක් පමණක් විශාලනය කරන අතරේ ලබා ගත නොහැක"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"විශාලනය කිරීමට බොත්තමක් තට්ටු කරන්න"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"අන්තර්ගතය වඩා විශාල කිරීමට තිරය මත ඉක්මනින් විශාලනය කරන්න"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>විශාලනය වැඩි කිරීමට:</b><br/> {0,number,integer}. විශාලනය කිරීම ආරම්භ කිරීමට කෙටිමග භාවිත කරන්න<br/> {1,number,integer}. තිරය තට්ටු කරන්න<br/> {2,number,integer}. තිරය වටා යාමට ඇඟිලි 2කින් අදින්න<br/> {3,number,integer}. විශාලනය සීරුමාරු කිරීමට ඇඟිලි 2කින් පින්ච් කරන්න<br/> {4,number,integer}. විශාලනය කිරීම නතර කිරීමට කෙටි මග භාවිත කරන්න<br/><br/> <b>තාවකාලිකව විශාලනය වැඩි කිරීමට:</b><br/> {0,number,integer}. ඔබගේ විශාලන වර්ගය පූර්ණ තිරයට සකසා ඇති බවට සහතික කර ගන්න<br/> {1,number,integer}. විශාලනය කිරීම ආරම්භ කිරීමට කෙටිමග භාවිත කරන්න<br/> {2,number,integer}. තිරයේ ඕනෑම තැනක ස්පර්ශ කර අල්ලා ගන්න<br/> {3,number,integer}. තිරය වටා යාමට ඇඟිල්ල අදින්න<br/> {4,number,integer}. විශාලනය කිරීම නතර කිරීමට ඇඟිල්ල ඔසවන්න"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>විශාලනය වැඩි කිරීමට:</b><br/> {0,number,integer}. විශාලනය කිරීම ආරම්භ කිරීමට කෙටිමග භාවිත කරන්න<br/> {1,number,integer}. තිරය තට්ටු කරන්න<br/> {2,number,integer}. තිරය වටා යාමට ඇඟිලි 2කින් අදින්න<br/> {3,number,integer}. විශාලනය සීරුමාරු කිරීමට ඇඟිලි 2කින් පින්ච් කරන්න<br/> {4,number,integer}. විශාලනය නැවැත්වීමට කෙටිමඟ භාවිතා කරන්න<br/><br/> ඔබට තාවකාලිකව සහ තවත් විශාලනය කිරීමට ද හැක."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>විශාලනය වැඩි කිරීමට:</b><br/> {0,number,integer}. විශාලනය කිරීම ආරම්භ කිරීමට කෙටිමග භාවිත කරන්න<br/> {1,number,integer}. තිරය තට්ටු කරන්න<br/> {2,number,integer}. තිරය වටා ගමන් කිරීමට ඇඟිලි 1ක් හෝ 2ක් අදින්න<br/> {3,number,integer}. විශාලනය සීරුමාරු කිරීමට ඇඟිලි 2කින් පින්ච් කරන්න<br/> {4,number,integer}. විශාලනය නැවැත්වීමට කෙටිමඟ භාවිතා කරන්න<br/><br/> ඔබට තාවකාලිකව සහ තවත් විශාලනය කිරීමට ද හැක."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"විශාලනය ක්රියාත්මක කර ඇති විට, ඔබට ඔබේ තිරයේ දී විශාලනය වැඩි කළ හැකිය.\n\n"<b>"විශාලනය කිරීමට"</b>", විශාලනය ආරම්භ කර, අනතුරුව තිරයේ ඕනෑම තැනක තට්ටු කරන්න.\n"<ul><li>"අනුචලනය කිරීමට ඇඟිලි 2ක් හෝ ඊට වැඩි ගණනක් අදින්න"</li>\n<li>"විශාලනය සීරුමාරු කිරීමට ඇඟිලි 2ක් හෝ ඊට වැඩි ගණනක් කොනහන්න"</li></ul>\n\n<b>"තාවකාලිකව විශාලනය කිරීමට"</b>", විශාලනය ආරම්භ කර, අනතුරුව තිරයේ ඕනෑම තැනක ස්පර්ශ කර & අල්ලාගෙන සිටින්න.\n"<ul><li>"තිරය වටා චලනය කිරීමට අදින්න"</li>\n<li>"විශාලනය අඩු කිරීමට ඇඟිල්ල ඔසවන්න"</li></ul>\n\n"ඔබට යතුරු පුවරුවේ හෝ සංචාලන තීරුවේ දී විශාලනය වැඩි කළ නොහැකිය."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g> න් <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> පිටුව"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"ප්රවේශ්යතා බොත්තම් කෙටිමඟ"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"වැදගත් පුද්ගලයන් සහ යෙදුම් විසින් පමණක් දැනුම් දෙනු ලැබේ"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"සක්රිය කිරීමේ වර්ගය තෝරන්න"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"වේලාව"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"උදා. \"9:30 – ප.ව. 5:00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"දින දර්ශනය"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"උදා. \"පුද්ගලික දින දර්ශනය\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"ප්රකාරයක් තනන්න"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"අභිරුචි"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"බාධා සීමා කරන්න"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"බාධා නොකරන්න ක්රියාත්මක කරන්න"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"එලාම සහ මාධ්ය හඬවල්වලට බාධා කළ හැකිය"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"කාල සටහන්"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"කාල සටහන් මකන්න"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"මකන්න"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"සංස්කරණය කරන්න"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"කාල සටහන්"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"කාල සටහන"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"දින දර්ශනයක් එක් කරන්න"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"ඔබේ දින දර්ශනය භාවිතා කරන්න"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"කාල සටහන"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"කාලසටහනක් සකසන්න"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"කාල සටහන"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"පැය <xliff:g id="HOURS">%1$d</xliff:g>යි, විනාඩි <xliff:g id="MINUTES">%2$d</xliff:g>ක්"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"ස්වයංක්රීයව ක්රියාත්මක කරන්න"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"කාල සටහන"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"නිශ්චිත වේලාවලදී දුරකථනය නිහඬ කරන්න"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"බාධා නොකරන්න රීති සැකසීම"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"ශබ්දය ඇති කරන බාධා කිරීම්වලට ඉඩ දෙන්න"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"දෘශ්ය බාධක අවහිර කරන්න"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"දෘශ්ය සංඥාවලට ඉඩ දෙන්න"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"ඔබට ළඟා විය හැකි දැනුම්දීම්"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"අවධානයෙන් සිටින්න"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"අමතර ක්රියා"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"සංදර්ශක සැකසීම්"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"සංදර්ශක විකල්ප"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"අඳුරු තේමාව සබල කරන්න"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"අඳුරු පසුබිමක ආලෝක පාඨයට කැමති වීමට OS සහ යෙදුම් මාරු කරන්න, එය ඇස්වලට ඉතා පහසු විය හැකි අතර සමහර උපාංග මත සැලකිය යුතු බැටරි සුරැකුම් ලබා දිය හැක"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{සංදර්ශක වෙනස්කම් කිසිවක් නැත}=1{{effect_1}}=2{{effect_1} සහ {effect_2}}=3{{effect_1}, {effect_2} සහ {effect_3}}one{{effect_1}, {effect_2}, සහ තව # ක්}other{{effect_1}, {effect_2}, සහ තව # ක්}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"පෙරහන් බාධා"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"බාධා කිරීම් පෙරහන් කරනු නොලැබේ"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"පෙරන ලද දැනුම්දීම් සඳහා විකල්ප සංදර්ශන කරන්න"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Do Not Disturb ක්රියාත්මක වන්නේ මොන වේලාවටද"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"දැනුම්දීම් වෙතින් හඬ නැත"</string>
@@ -3486,6 +3541,8 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"දැනුම් දීම විවෘත කරන්න"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"දැනුම්දීම කල් දැමීමට ඉඩ දෙන්න"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"යෙදුම් අයිකනයෙහි දැනුම් දීම් තිත"</string>
+ <!-- no translation found for notification_bundles (3614044525822580826) -->
+ <skip />
<string name="notification_bubbles_title" msgid="5681506665322329301">"බුබුළු"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"බුබුළු"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"මෙම සංවාදය බුබුලු දමන්න"</string>
@@ -3667,6 +3724,7 @@
<string name="notification_channels" msgid="1502969522886493799">"ප්රවර්ග"</string>
<string name="notification_channels_other" msgid="18159805343647908">"වෙනත්"</string>
<string name="no_channels" msgid="4716199078612071915">"මෙම යෙදුම දැනුම්දීම් කිසිවක් පළ කර නැත"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"භාවිතයට නොගත් ප්රවර්ග පෙන්වන්න"</string>
<string name="app_settings_link" msgid="6725453466705333311">"අමතර සැකසීම් යෙදුම තුළ ඇත"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"භාවිතයට නොගත් ප්රවර්ග පෙන්වන්න"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"භාවිතයට නොගත් ප්රවර්ග සඟවන්න"</string>
@@ -3778,6 +3836,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"සියලු"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ප්රතික්ෂේප කිරිමට යෙදුම්වලට ඉඩ දෙන්න"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"බාධා කළ හැකි යෙදුම්"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"තවත් යෙදුම් තෝරන්න"</string>
@@ -3814,12 +3874,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} දක්වා පැයක් සඳහා පමණක් එලාම වෙත වෙනස් කරන්න}one{{time} දක්වා පැය #ක් සඳහා පමණක් එලාම වෙත වෙනස් කරන්න}other{{time} දක්වා පැය #ක් සඳහා පමණක් එලාම වෙත වෙනස් කරන්න}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> පමණක් දක්වා ඇති සීනු වෙත මාරු වෙන්න"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"සෑම විටම බාධා කිරීම වෙත මාරු වෙන්න"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"නැවත නම් කරන්න"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"නිරූපකය වෙනස් කරන්න"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"නිරූපකය වෙනස් කරන්න"</string>
<string name="warning_button_text" msgid="1274234338874005639">"අවවාදයයි"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"වසන්න"</string>
<string name="device_feedback" msgid="5351614458411688608">"මෙම උපාංගය පිළිබඳ ප්රතිපෝෂණ යවන්න"</string>
@@ -4290,7 +4347,7 @@
<string name="system_navigation_title" msgid="4890381153527184636">"සංචාලනය ප්රකාරය"</string>
<string name="swipe_up_to_switch_apps_title" msgid="6677266952021118342">"2-බොත්තම් සංචලනය"</string>
<string name="swipe_up_to_switch_apps_summary" msgid="1415457307836359560">"යෙදුම් මාරු කිරීමට, මුල් පිටු බොත්තම මත ස්වයිප් කරන්න. යෙදුම් සියල්ල බැලීමට, නැවතත් ස්වයිප් කරන්න. ආපසු යාමට, ආපසු බොත්තමට තට්ටු කරන්න."</string>
- <string name="emergency_settings_preference_title" msgid="6183455153241187148">"සුරක්ෂිතතාව & හදිසි අවස්ථාව"</string>
+ <string name="emergency_settings_preference_title" msgid="6183455153241187148">"සුරක්ෂිතතාව සහ හදිසි අවස්ථාව"</string>
<string name="emergency_dashboard_summary" msgid="401033951074039302">"හදිසි අවස්ථා SOS, වෛද්යමය තතු, ඇඟවීම්"</string>
<string name="edge_to_edge_navigation_title" msgid="714427081306043819">"අභින සංචලනය"</string>
<string name="edge_to_edge_navigation_summary" msgid="818109176611921504">"නිවසට යාම සඳහා, තිරයෙහි පහළින් උඩට ස්වයිප් කරන්න. යෙදුම් මාරු කිරීම සඳහා, පහළින් උඩට ස්වයිප් කර, අල්ලා සිට, පසුව මුදා හරින්න. ආපසු යාම සඳහා, වම් හෝ දකුණු දාරයෙන් ස්වයිප් කරන්න."</string>
@@ -4805,8 +4862,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"කේස්"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"බැටරිය"</string>
<string name="settings_panel_title" msgid="346363079938069215">"සැකසීම් පුවරුව"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"වැඩතල ප්රකාරය බල කරන්න"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ද්විතීයික සංදර්ශන කෙරෙහි අත්හදා බැලීමේ වැඩතල ප්රකාරය බල කරන්න"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"අනියම් හැඩැති කවුළු සබල කරන්න"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"නිදහස් ආකෘති කවුළු සඳහා සහය සබල කරන්න."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"දෙවන සංදර්ශකය මත නිදහස් ආකෘති කවුළු සබල කරන්න"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"ද්විතියික සංදර්ශකය මත පමණක් නිදහස් ආකෘති කවුළු සබල කරන්න."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"බහු කවුළුව තුළ ප්රතිප්රමාණ කළ නොහැකි සබල කරන්න"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"බහු කවුළුව තුළ ප්රතිප්රමාණ කළ නොහැකි යෙදුම් තිබීමට ඉඩ දෙයි"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"force-dark ප්රතික්ෂේප කරන්න"</string>
@@ -4874,14 +4933,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"16KB සංවර්ධක විකල්පය භාවිත කිරීමට පෙර මෙම උපාංගයේ දත්ත කොටස ext4 වෙත පරිවර්තනය කළ යුතු ය. මෙම ප්රකාරයේ දී මෘදුකාංග අඛණ්ඩතාව සහතික කළ නොහැකි අතර, ආරම්භකය අගුළු හැර ඇති විට දුරකථනයේ ගබඩා කර ඇති ඕනෑම දත්තයක් අවදානමට ලක් විය හැක. 16KB විකල්පය සක්රිය කිරීමට මෙයින් පසු තවත් එක් නැවත පණගැන්වීමක් අවශ්ය වේ. ඔබ මෙම ප්රකාරයට පැමිණි පසු, ඔබට තනි නැවත පණ ගැන්වීමකින් 4KB සහ 16KB ප්රකාරය අතර මාරු විය හැක. මෙම ප්රකාර තුළ සමහර විශේෂාංග ක්රියාවිරහිත වනු ඇත, එබැවින් සමහර යෙදුම් ක්රියා නොකරනු ඇත. උපාංගය නිෂ්පාදන ප්රකාරයට ආපසු යාමට, ඔබට නැවත 4KB ප්රකාරයට මාරු වීමට අවශ්ය වන අතර පසුව උපාංගය කර්මාන්තශාලා යළි සකසන ආරම්භකය අගුළු දැමිය යුතු ය. උපාංගය සාර්ථකව Android සමග ආරම්භ වූ පසු, සංවර්ධක විකල්ප තුළ OEM අගුළු හැරීම ක්රියාවිරහිත කරන්න. උපාංගය මකා දමන අතර තහවුරු කිරීමෙන් පසු ගොනු පද්ධතිය ext4 වෙත වෙනස් කරනු ඇත. මෙය සම්පූර්ණ වූ පසු, කරුණාකර නැවත 16KB සබල කිරීමට ආපසු එන්න."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"සියලු දත්ත මකන්න"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"ext4 වෙත දත්ත කොටස් යළි ෆෝමැට් කිරීම සහ පිස දැමීම අසමත් විය."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16KB ප්රකාරය සඳහා ආරම්භක අගුළු හැරීම අවශ්ය වේ"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"ආරම්භකය අගුළු ඇරීම අවශ්යයි"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"මෙම උපාංගයට 16KB සංවර්ධක විකල්පය භාවිත කිරීමට පෙර ආරම්භකය අගුළු හැර තිබිය යුතු ය. මෙම ප්රකාරයේ දී මෘදුකාංග අඛණ්ඩතාව සහතික කළ නොහැකි අතර, ආරම්භකය අගුළු හැර ඇති විට දුරකථනයේ ගබඩා කර ඇති ඕනෑම දත්තයක් අවදානමට ලක් විය හැක. 16KB ප්රකාරය සක්රිය කරන විට සියලුම පරිශීලක දත්ත සහ සැකසුම් මකා දමනු ලැබේ. ආරම්භකය අගුළු හැරීමෙන් පසු, 16KB විකල්පය සක්රිය කිරීමට නැවත පණ ගැන්වීම් දෙකක් අවශ්ය වේ. ඔබ මෙම ප්රකාරයට පැමිණි පසු, ඔබට තනි නැවත පණ ගැන්වීමකින් 4KB සහ 16KB ප්රකාරය අතර මාරු විය හැක. මෙම ප්රකාර තුළ සමහර විශේෂාංග ක්රියාවිරහිත වනු ඇත, එබැවින් සමහර යෙදුම් ක්රියා නොකරනු ඇත. උපාංගය නිෂ්පාදන ප්රකාරයට ආපසු යාමට, ඔබට නැවත 4KB ප්රකාරයට මාරු කිරීමට අවශ්ය වන අතර පසුව OEM/අගුළු ආරම්භකය (මෙම කර්මාන්තශාලාව යළි සකසන) අගුළු දැමීම අවශ්ය වේ. කරුණාකර ආරම්භකය අගුළු ඇර නැවත උත්සාහ කරන්න. <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a> හි දී ඔබට මෙය කරන ආකාරය ගැන උපදෙස් බැලිය හැක"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"4KB පිටු-දෘෂ්ටික ප්රකාරය භාවිත කරමින්"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"ඔබ සිටින්නේ පිටු-දෘෂ්ටික ප්රකාරයේ 4KB ප්රකාරයේ ය. මෙම ප්රකාරයේ දී මෘදුකාංග අඛණ්ඩතාව සහතික කළ නොහැකි අතර, ආරම්භකය අගුළු හැර ඇති විට දුරකථනයේ ගබඩා කර ඇති ඕනෑම දත්තයක් අවදානමට ලක් විය හැක. මෙම ප්රකාර තුළ සමහර විශේෂාංග ක්රියාවිරහිත වනු ඇත, එබැවින් සමහර යෙදුම් ක්රියා නොකරනු ඇත. නිෂ්පාදන ප්රකාරය නැවත ඇතුල් කිරීම සඳහා, ඔබ උපාංගයේ ආරම්භකය අගුළු දැමිය යුතු ය. වැඩිදුර කියවීමට තට්ටු කරන්න."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"ඔබ සිටින්නේ පිටු-දෘෂ්ටික ප්රකාරයේ 4KB ප්රකාරයේ ය. මෙම ප්රකාරයේ දී මෘදුකාංග අඛණ්ඩතාව සහතික කළ නොහැකි අතර, ආරම්භකය අගුළු හැර ඇති විට දුරකථනයේ ගබඩා කර ඇති ඕනෑම දත්තයක් අවදානමට ලක් විය හැක. මෙම ප්රකාර තුළ සමහර විශේෂාංග ක්රියාවිරහිත වනු ඇත, එබැවින් සමහර යෙදුම් ක්රියා නොකරනු ඇත. නිෂ්පාදන ප්රකාරය නැවත ඇතුල් කිරීම සඳහා, ඔබ උපාංගයේ ආරම්භකය අගුළු දැමිය යුතු ය. මෙමඟින් උපාංගයට නැවත කර්මාන්තශාලා යළි සැකසීම සිදු කරන අතර එය නිෂ්පාදන සැකසුම් වෙත ප්රතිසාධනය කරයි. උපාංගය සාර්ථකව Android සමග ආරම්භ වූ පසු, සංවර්ධක විකල්ප තුළ OEM අගුළු හැරීම ක්රියාවිරහිත කරන්න. උපාංගය Android වෙත පණ ගැන්වීමට අපොහොසත් වුවහොත් හෝ අස්ථායී නම්, <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> වෙතින් නවතම කර්මාන්තශාලා පින්තූර සමග උපාංගය නැවත ෆ්ලෑෂ් කර; \'උපාංගය පිස දමන්න\', \'අගුළු ආරම්භකය\' සහ \'සියලුම කොටස් ෆ්ලෑෂ් කිරීමට බල කරන්න\' තෝරන්න."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"16KB පිටු-දෘෂ්ටික ප්රකාරය භාවිත කරමින්"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"ඔබ සිටින්නේ පිටු-දෘෂ්ටික ප්රකාරයේ 16KB ප්රකාරයේ ය. මෙම ප්රකාරයේ දී මෘදුකාංග අඛණ්ඩතාව සහතික කළ නොහැකි අතර, ආරම්භකය අගුළු හැර ඇති විට දුරකථනයේ ගබඩා කර ඇති ඕනෑම දත්තයක් අවදානමට ලක් විය හැක. මෙම ප්රකාර තුළ සමහර විශේෂාංග ක්රියාවිරහිත වනු ඇත, එබැවින් සමහර යෙදුම් ක්රියා නොකරනු ඇත. නිෂ්පාදන ප්රකාරයට නැවත ඇතුළු වීමට, ඔබ 4K ප්රකාරයට ආපසු මාරු කර උපාංගයේ ආරම්භකය අගුළු දැමිය යුතු ය. වැඩිදුර කියවීමට තට්ටු කරන්න."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"ඔබ සිටින්නේ පිටු-දෘෂ්ටික ප්රකාරයේ 16KB ප්රකාරයේ ය. මෙම ප්රකාරයේ දී මෘදුකාංග අඛණ්ඩතාව සහතික කළ නොහැකි අතර, ආරම්භකය අගුළු හැර ඇති විට දුරකථනයේ ගබඩා කර ඇති ඕනෑම දත්තයක් අවදානමට ලක් විය හැක. මෙම ප්රකාර තුළ සමහර විශේෂාංග ක්රියාවිරහිත වනු ඇත, එබැවින් සමහර යෙදුම් ක්රියා නොකරනු ඇත. නිෂ්පාදන ප්රකාරයට නැවත ඇතුළු වීමට, ඔබ 4K ප්රකාරයට ආපසු මාරු කර උපාංගයේ ආරම්භකය අගුළු දැමිය යුතු ය. මෙමඟින් උපාංගයට නැවත කර්මාන්තශාලා යළි සැකසීම සිදු කරන අතර එය නිෂ්පාදන සැකසුම් වෙත ප්රතිසාධනය කරයි. උපාංගය සාර්ථකව Android සමග ආරම්භ වූ පසු, සංවර්ධක විකල්ප තුළ OEM අගුළු හැරීම ක්රියාවිරහිත කරන්න. උපාංගය Android වෙත පණ ගැන්වීමට අපොහොසත් වුවහොත් හෝ අස්ථායී නම්, <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> වෙතින් නවතම කර්මාන්තශාලා පින්තූර සමග උපාංගය නැවත ෆ්ලෑෂ් කර; \'උපාංගය පිස දමන්න\', \'අගුළු ආරම්භකය\' සහ \'සියලුම කොටස් ෆ්ලෑෂ් කිරීමට බල කරන්න\' තෝරන්න."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"ඔබ සිටින්නේ පිටු-දෘෂ්ටික ප්රකාරයේ 16KB ප්රකාරයේ ය. මෙම ප්රකාරයේ මෘදුකාංග අඛණ්ඩතාව සහතික කළ නොහැකි අතර, ආරම්භකය අගුලු හැර ඇති විට දුරකථනයේ ගබඩා කර ඇති ඕනෑම දත්තක් අවදානමට ලක් වේවි. මෙම ප්රකාර තුළ සමහර විශේෂාංග අබල වෙයි, එබැවින් සමහර යෙදුම් ක්රියා නොකරයි. නිෂ්පාදන ප්රකාරයට නැවත ඇතුළු වීමට, ඔබ 4KB ප්රකාරයට ආපසු මාරු කර උපාංගයේ ආරම්භකය අගුළු දැමිය යුතු ය. වැඩිදුර කියවීමට තට්ටු කරන්න."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"ඔබ සිටින්නේ පිටු-දෘෂ්ටික ප්රකාරයේ 16KB ප්රකාරයේ ය. මෙම ප්රකාරයේ මෘදුකාංග අඛණ්ඩතාව සහතික කළ නොහැකි අතර, ආරම්භකය අගුලු හැර ඇති විට දුරකථනයේ ගබඩා කර ඇති ඕනෑම දත්තක් අවදානමට ලක් වේවි. මෙම ප්රකාර තුළ සමහර විශේෂාංග අබල වෙයි, එබැවින් සමහර යෙදුම් ක්රියා නොකරයි. නිෂ්පාදන ප්රකාරයට නැවත ඇතුළු වීමට, ඔබ 4KB ප්රකාරයට ආපසු මාරු කර උපාංගයේ ආරම්භකය අගුළු දැමිය යුතු ය. මෙමඟින් උපාංගයට නැවත කර්මාන්තශාලා යළි සැකසීම සිදු කරන අතර එය නිෂ්පාදන සැකසුම් වෙත ප්රතිසාධනය කරයි. උපාංගය සාර්ථකව Android සමග ආරම්භ වූ පසු, සංවර්ධක විකල්ප තුළ OEM අගුලු හැරීම අබල කරන්න. උපාංගය Android වෙත පණ ගැන්වීමට අපොහොසත් වුවහොත් හෝ අස්ථායී නම්, <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> වෙතින් නවතම කර්මාන්තශාලා පින්තූර සමග උපාංගය නැවත ෆ්ලෑෂ් කර; \'උපාංගය පිස දමන්න\', \'අගුළු ආරම්භකය\' සහ \'සියලුම කොටස් ෆ්ලෑෂ් කිරීමට බල කරන්න\' තෝරන්න."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16KB පිටු-දෘෂ්ටික ප්රකාරය"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"තව කියවන්න"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"දෝෂ වාර්තා හසුරුවනය"</string>
@@ -5013,7 +5072,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"යෙදුම ඇමිණීම භාවිත කරන්න"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"සංවර්ධක විකල්ප භාවිත කරන්න"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"මුද්රණ සේවාව භාවිත කරන්න"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"බහු පරිශීලකයින්ට ඉඩ දෙන්න"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"ඉඩ දෙන්න, බහුවිධ, පරිශීලක, අවසර, බොහෝ"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"බහු, පරිශීලකයෝ, පැතිකඩ, පුද්ගලයෝ, ගිණුම්, මාරු කිඍිම, බොහෝ"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"රැහැන් රහිත නිදොස්කරණය භාවිත කරන්න"</string>
@@ -5127,8 +5187,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"ඔබගේ ටැබ්ලටය ඈඳා ඇති විට ඔබ ඔබගේ තිරය මත දකිනු ඇති දේ තෝරන්න. තිර සුරැකුමක් භාවිත කරන විට ඔබගේ උපාංගය ශක්තිය වැඩියෙන් භාවිත කළ හැකිය."</string>
<string name="customize_button_title" msgid="1110284655990203359">"අභිරුචිකරණය කරන්න"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> අභිරුචිකරණය කරන්න"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"නිදහස් ආකෘති සහාය සබල කිරීමට නැවත පණ ගැන්වීමක් අවශ්ය වේ."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"ද්විතීයික සංදර්ශකවල ඩෙස්ක්ටොප් ප්රකාරය බල කිරීමට නැවත පණ ගැන්වීමක් අවශ්ය වේ."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"ලෙගසි නිදහස් ආකෘති කවුළු සහාය සබල කිරීමට නැවත පණ ගැන්වීමක් අවශ්ය වේ."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"නිදහස් ආකෘති කවුළු සහාය වෙනස් කිරීමට නැවත පණ ගැන්වීමක් අවශ්ය වේ."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"ද්විතියික සංදර්ශක මත නිදහස් ආකෘති කවුළුව බල කිරීමට නැවත පණගැන්වීමක් අවශ්ය වේ."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"දැන් නැවත පණ ගන්වන්න"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"පසුව නැවත පණ ගන්වන්න"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"අවකාශීය ශ්රව්ය"</string>
@@ -5357,4 +5418,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ප්රවාහයට සවන් දෙන්න"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> සමග සවන් දීමට ශ්රව්ය ප්රවාහ QR කේතයක් ස්කෑන් කරන්න"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"බෙදා ගන්නා අතරේ මුරපදය සංස්කරණය කළ නොහැක. මුරපදය වෙනස් කිරීමට, පළමුව ශ්රව්ය බෙදා ගැනීම ක්රියාවිරහිත කරන්න."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-sk/arrays.xml b/res/values-sk/arrays.xml
index 1683b37..a908bbe 100644
--- a/res/values-sk/arrays.xml
+++ b/res/values-sk/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Večierka"</item>
+ <item msgid="4152450357280759894">"Intenzívne"</item>
+ <item msgid="7096549258219399423">"Pútavé"</item>
+ <item msgid="2760716776980432977">"Spravované"</item>
+ <item msgid="601734478369121764">"Hviezda"</item>
+ <item msgid="6243809315432780521">"Kalendár"</item>
+ <item msgid="4913577903148415331">"Čas"</item>
+ <item msgid="3653377604690057780">"Kino"</item>
+ <item msgid="3843711267408385410">"Kvet"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index aad6e64..79ee2df 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Nastavenia načúvacieho zariadenia"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Skratka, kompatibilita s načúvadlami"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Predvoľba"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Váš audiológ nenaprogramoval žiadne predvoľby"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Predvoľbu sa nepodarilo aktualizovať"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Zvukový výstup"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Zvukový výstup"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Tvár a hodinky <xliff:g id="WATCH">%s</xliff:g> boli pridané"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Tvár, odtlačok prsta a hodinky <xliff:g id="WATCH">%s</xliff:g> boli pridané"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Tvár, odtlačky prstov a hodinky <xliff:g id="WATCH">%s</xliff:g> boli pridané"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Je to potrebné, pretože je zapnutá kontrola totožnosti"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Odomknutie Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Hodinky boli pridané"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Nastavte si hodinky"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Ďalšie informácie o odomknutí hodinkami"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Pridať hodinky"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Odstrániť hodinky"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Odomknutie odtlačkom prsta a tvárou"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Odomknutie tvárou a odtlačkom prsta"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Odomknutie tvárou a odtlačkom prsta pre prácu"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Vyžaduje sa nastavenie"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Bola pridaná tvár a odtlačky prsta"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Inštalácia aplikácií"</b>\n"Nainštalujte si aplikácie, ktoré chcete vo svojom priestore ponechať súkromné"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Na čo treba pamätať"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Keď uzamknete svoj priestor, aplikácie sa zastavia"</b>\n"Keď uzamknete svoj priestor, aplikácie v ňom sa zastavia a nebudete z nich dostávať upozornenia"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Súkromné priestory nie sú vhodné pre aplikácie, ktoré majú byť spustené na pozadí alebo odosielajú závažné upozornenia. Týka sa to napríklad zdravotníckych aplikácií. Je to tak preto, lebo upozornenia a aktivita na pozadí sa po uzamknutí priestoru zastavia.\n\nKeď je súkromný priestor uzamknutý, aplikácie v ňom sa nezobrazujú v správe povolení, na paneli ochrany súkromia ani v iných nastaveniach.\n\nSúkromný priestor sa nedá preniesť do nového zariadenia. Ak ho chcete používať v inom zariadení, musíte si založiť ďalší.\n\nK vášmu súkromnému priestoru môže získať prístup ktokoľvek, kto pripojí vaše zariadenie k počítaču alebo v ňom nainštaluje škodlivé aplikácie."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Súkromné priestory nie sú vhodné pre aplikácie, ktoré majú byť spustené na pozadí alebo odosielajú závažné upozornenia. Týka sa to napríklad zdravotníckych aplikácií. Je to tak preto, lebo upozornenia a aktivita na pozadí sa po uzamknutí priestoru zastavia.\n\nKeď je súkromný priestor uzamknutý, aplikácie v ňom sa nezobrazujú v správe povolení, na paneli ochrany súkromia ani v iných nastaveniach.\n\nSúkromný priestor sa nedá obnoviť v novom zariadení. Ak ho chcete používať v inom zariadení, musíte si založiť ďalší.\n\nK vášmu súkromnému priestoru môže získať prístup ktokoľvek, kto pripojí vaše zariadenie k počítaču alebo v ňom nainštaluje škodlivé aplikácie."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Ďalšie informácie o súkromnom priestore"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Bude to chvíľu trvať"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Nastavuje sa súkromný priestor…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Chcete zariadenie reštartovať?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Podrobné zaznamenávanie údajov NFC je určené iba na účely vývoja. Ďalšie údaje NFC sú zahrnuté v hláseniach chýb, ktoré môžu obsahovať súkromné informácie. Ak chcete toto nastavenie zmeniť, reštartujte zariadenie."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Reštartovať"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Prenos"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"zrkadlenie"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Povoliť bezdrôtové zobrazenie"</string>
@@ -860,7 +890,7 @@
<string name="wifi_display_status_in_use" msgid="5904009697167947449">"Používa sa"</string>
<string name="wifi_display_status_not_available" msgid="8463750208946968594">"Nie je k dispozícii"</string>
<string name="wifi_display_options_title" msgid="7584326966240865043">"Možnosti bezdrôtového zobrazenia"</string>
- <string name="wifi_display_options_forget" msgid="3140558691112356024">"Odstrániť"</string>
+ <string name="wifi_display_options_forget" msgid="3140558691112356024">"Zabudnúť"</string>
<string name="wifi_display_options_done" msgid="7608851767701954020">"Hotovo"</string>
<string name="wifi_display_options_name" msgid="8181334945680312228">"Názov"</string>
<string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
@@ -1034,7 +1064,7 @@
<string name="wifi_connecting" msgid="7450277833386859724">"Pripája sa…"</string>
<string name="wifi_failed_connect_message" msgid="8538000546604347894">"Nepodarilo sa pripojiť k sieti"</string>
<string name="wifi_not_in_range_message" msgid="3885327464037574739">"Sieť nie je v dosahu"</string>
- <string name="wifi_forget" msgid="3485573280364015620">"Odstrániť"</string>
+ <string name="wifi_forget" msgid="3485573280364015620">"Zabudnúť"</string>
<string name="wifi_modify" msgid="5127926476383659412">"Upraviť"</string>
<string name="wifi_save" msgid="2312643132472226807">"Uložiť"</string>
<string name="wifi_failed_save_message" msgid="1830279872341387120">"Nepodarilo sa uložiť sieť"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptívne"</string>
<string name="brightness" msgid="6216871641021779698">"Úroveň jasu"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Adaptácia jasu"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Informácie o adaptácii jasu"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Jas obrazovky sa automaticky prispôsobí prostrediu a aktivitám. Ručným posúvaním posúvača učíte adaptáciu jasu svoje preferované nastavenia."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Zapnuté"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Vypnuté"</string>
@@ -1383,7 +1414,7 @@
<string name="storage_menu_format_public" msgid="5567214442727034630">"Naformátovať ako prenosné"</string>
<string name="storage_menu_format_option" msgid="4886059624052908432">"Formátovať"</string>
<string name="storage_menu_migrate" msgid="2196088149560070193">"Migrovať dáta"</string>
- <string name="storage_menu_forget" msgid="5154017890033638936">"Odstrániť záznam"</string>
+ <string name="storage_menu_forget" msgid="5154017890033638936">"Zabudnúť"</string>
<string name="storage_menu_set_up" msgid="4401074025612064744">"Nastaviť"</string>
<string name="storage_menu_free" msgid="616100170298501673">"Uvoľniť miesto"</string>
<string name="storage_menu_manage" msgid="7465522758801346408">"Spravovať úložisko"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Možnosti"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Dostupnosť"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Fyzická klávesnica"</string>
- <string name="show_ime" msgid="4334255501724746849">"Používať klávesnicu na obrazovke"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Ponechať na obrazovke, keď je aktívna fyzická klávesnica"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Klávesy jedného stlačenia"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Klávesnica ignoruje rýchle opakované stlačenia rovnakého klávesa rýchlosťou do <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Pomalé klávesy"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Vybrané používateľom: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Reč"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Rýchlosť kurzora"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Herné ovládače"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Presmerovať vibrácie"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Posielať vibrácie do herného ovládača, keď je pripojený"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Aj tak pokračovať"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Zrušiť"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Nastavenia priblíženia"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Presunutie jedným prstom"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Lupu presúvajte jedným prstom"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Po obrazovke sa pohybujte presúvaním jedného prsta"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Jedným prstom presuňte oblasť zväčšenia."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Dvoma prstami presuňte oblasť zväčšenia."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Nie je k dispozícii iba pri zväčšovaní časti obrazovky"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Na priblíženie klepnite na tlačidlo"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Obrazovku si môžete rýchlo priblížiť, aby bol obsah väčší"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Priblíženie:</b><br/> {0,number,integer}. Skratkou spustite zväčšenie.<br/> {1,number,integer}. Klepnite na obrazovku.<br/> {2,number,integer}. Pohybujte sa po obrazovke presúvaním dvoch prstov.<br/> {3,number,integer}. Priblíženie upravte stiahnutím či roztiahnutím dvoch prstov.<br/> {4,number,integer}. Zväčšenie ukončíte skratkou.<br/><br/> <b>Dočasné priblíženie:</b><br/> {0,number,integer}. Skontrolujte, či je typ zväčšenia nastavený na celú obrazovku.<br/> {1,number,integer}. Skratkou spustite zväčšenie.<br/> {2,number,integer}. Pridržte ľubovoľné miesto na obrazovke.<br/> {3,number,integer}. Pohybujte sa po obrazovke presúvaním prsta.<br/> {4,number,integer}. Zväčšenie ukončíte zdvihnutím prsta."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Ak chcete priblížiť:</b><br/> {0,number,integer}. Skratkou spustite zväčšenie.<br/> {1,number,integer}. Klepnite na obrazovku.<br/> {2,number,integer}. Posúvajte sa po obrazovke presúvaním dvoch prstov.<br/> {3,number,integer}. Priblíženie upravte stiahnutím či roztiahnutím dvoch prstov.<br/> {4,number,integer}. Zväčšenie zastavíte pomocou skratky.<br/><br/> Okrem toho môžete krátkodobo priblížiť a vykonávať ďalšie akcie."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Ak chcete priblížiť:</b><br/> {0,number,integer}. Skratkou spustite zväčšenie.<br/> {1,number,integer}. Klepnite na obrazovku.<br/> {2,number,integer}. Posúvajte sa po obrazovke presúvaním jedného alebo dvoch prstov.<br/> {3,number,integer}. Priblíženie upravte stiahnutím či roztiahnutím dvoch prstov.<br/> {4,number,integer}. Zväčšenie zastavíte pomocou skratky.<br/><br/> Okrem toho môžete krátkodobo priblížiť a vykonávať ďalšie akcie."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Keď je priblíženie zapnuté, môžete si zväčšiť obsah obrazovky.\n\n"<b>"Urobíte to tak"</b>", že spustíte priblíženie a klepnete kamkoľvek na obrazovku.\n"<ul><li>"Zobrazenie posuniete presunutím dvoch alebo viacerých prstov."</li>\n<li>"Priblíženie upravíte stiahnutím dvoch alebo viacerých prstov."</li></ul>\n\n<b>"Ak chcete obsah priblížiť krátkodobo"</b>", spustite priblíženie a pridržte ľubovoľné miesto na obrazovke.\n"<ul><li>"Po obrazovke prechádzate presunutím."</li>\n<li>"Oddialite zdvihnutím prsta."</li></ul>\n\n"Nemôžete priblížiť klávesnicu ani navigačný panel."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>. stránka z <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Skratka tlačidla dostupnosti"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Prijímajte upozornenia iba od dôležitých ľudí a z dôležitých aplikácií"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Vybrať typ aktivácie"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Čas"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Napr. „9:30 – 17:00“."</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Kalendár"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Napr. „Osobný kalendár“."</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Vytvorte režim"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Vlastné"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Obmedzenie vyrušení"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Zapnite režim bez vyrušení"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Budíky a zvuky médií môžu vyrušiť"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Plány"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Odstrániť plány"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Odstrániť"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Upraviť"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Plány"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Plán"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Nastavte si plán"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Naplánovať"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Zapínať automaticky"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Plán"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Stlmiť telefón v určitý čas"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Nastavenie pravidiel režimu bez vyrušení"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Povolenie zvukových vyrušení"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokovať vizuálne vyrušenia"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Povoliť vizuálne signály"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Upozornenia, ku ktorým máte prístup"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Nerozptyľujte sa"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Ďalšie akcie"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Nastavenia obrazovky"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Možnosti zobrazenia"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"zapnutie tmavého motívu"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Prepnite operačný systém a aplikácie na preferovaný svetlý text na tmavom pozadí, čo môže byť menej namáhavé pre oči a významne prispeje k úspore batérie v niektorých zariadeniach"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Žiadne zmeny obrazovky}=1{{effect_1}}=2{{effect_1} a {effect_2}}=3{{effect_1}, {effect_2} a {effect_3}}few{{effect_1}, {effect_2} a # ďalšie}many{{effect_1}, {effect_2}, and # more}other{{effect_1}, {effect_2} a # ďalších}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filtrovanie vyrušení"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Nefiltrujú sa žiadne vyrušenia"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Možnosti obrazovky na filtrovanie upozornení"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Keď je zapnutý režim bez vyrušení"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Upozornenia bez zvuku"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"otvoriť upozornenie"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Povoliť stlmenie upozornení"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Bodka upozornení na ikone aplikácie"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Balíky upozornení"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Bubliny"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubliny"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Zobrazovať túto konverzáciu v bubline"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Kategórie"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Iné"</string>
<string name="no_channels" msgid="4716199078612071915">"Táto aplikácia ešte neposlala žiadne upozornenia"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Zobrazenie nepoužívaných kategórií"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Ďalšie nastavenia v aplikácii"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Zobraziť nepoužívané kategórie"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Skryť nepoužívané kategórie"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Všetky"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Povoľte aplikáciám prekonávať nastavenia"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikácie, ktoré môžu vyrušiť"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Vyberte ďalšie aplikácie"</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Puzdro"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batéria"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Panel s nastaveniami"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Vynútiť režim pracovnej plochy"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Vynútiť experimentálny režim pracovnej plochy na sekundárnych obrazovkách"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Povolenie meniteľných okien"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Povoľte podporu pre meniteľné okná."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Povoliť meniteľné okná na druhej obrazovke"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Povoľte meniteľné okná iba na sekundárnej obrazovke."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Povoliť v režime viac. okien aplik. bez možn. zmeny veľkosti"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Povoliť v režime viacerých okien aplikácie bez možnosti zmeny veľkosti"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Presadiť tmavý režim"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Dátový oddiel tohto zariadenia je potrebné pred použitím možnosti 16 kB pre vývojárov konvertovať na ext4. V tomto režime nie je možné zaručiť integritu softvéru a všetky dáta uložené v telefóne môžu byť počas odomknutia zavádzacieho programu systému ohrozené. Aktivácia možnosti 16 kB si potom vyžiada ešte jedno reštartovanie. Keď budete v tomto režime, môžete prepínať medzi režimom 4 kB a 16 kB jedným reštartovaním. Niektoré funkcie budú v týchto režimoch vypnuté, takže niektoré aplikácie nemusia fungovať. Ak chcete zariadenie vrátiť do ostrého režimu, musíte prepnúť späť na režim 4 kB a potom uzamknúť zavádzací program systému, čím sa v zariadení obnovia výrobné nastavenia. Po úspešnom zapnutí Androidu v zariadení vypnite odomknutie OEM v sekcii Pre vývojárov. Zariadenie sa trvalo vymaže a systém súborov sa po potvrdení zmení na ext4. Po dokončení tohto kroku sa vráťte a znova zapnite režim 16 kB."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Vymazať všetky údaje"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Nepodarilo sa zmeniť formát ani trvale vymazať oddiel dát na ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Režim 16 kB vyžaduje odomknutie zavádzacieho programu systému"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Vyžaduje sa odomknutie zavádzacieho programu systému"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Toto zariadenie musí mať pred použitím možnosti pre vývojárov 16 kB odomknutý zavádzací program systému. V tomto režime nie je možné zaručiť integritu softvéru a všetky dáta uložené v telefóne môžu byť počas odomknutia zavádzacieho programu systému ohrozené. Pri aktivácii režimu 16 kB sa vymažú všetky dáta a nastavenia používateľa. Po odomknutí zavádzacieho programu systému si aktivácia možnosti 16 kB vyžiada dve reštartovania. Keď budete v tomto režime, môžete prepínať medzi režimom 4 kB a 16 kB jedným reštartovaním. Niektoré funkcie budú v týchto režimoch vypnuté, takže niektoré aplikácie nemusia fungovať. Ak chcete zariadenie vrátiť do ostrého režimu, musíte prepnúť späť na režim 4 kB a potom uzamknúť OEM alebo zavádzací program systému, čím sa v zariadení obnovia výrobné nastavenia. Odomknite zavádzací program systému a skúste to znova. Postup, ako to vykonať, nájdete na <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Používa sa režim 4 kB, ktorý nezohľadňuje stránkovanie"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Ste v režime 4 kB, ktorý nezohľadňuje stránkovanie. V tomto režime nie je možné zaručiť integritu softvéru a všetky dáta uložené v telefóne môžu byť počas odomknutia zavádzacieho programu systému ohrozené. Niektoré funkcie budú v týchto režimoch vypnuté, takže niektoré aplikácie nemusia fungovať. Ak chcete znova vstúpiť do ostrého režimu, musíte uzamknúť zavádzací program systému zariadenia. Klepnutím zobrazíte ďalšie informácie."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Ste v režime 4 kB, ktorý nezohľadňuje stránkovanie. V tomto režime nie je možné zaručiť integritu softvéru a všetky dáta uložené v telefóne môžu byť počas odomknutia zavádzacieho programu systému ohrozené. Niektoré funkcie budú v týchto režimoch vypnuté, takže niektoré aplikácie nemusia fungovať. Ak chcete znova vstúpiť do ostrého režimu, musíte uzamknúť zavádzací program systému zariadenia. Tým sa v zariadení znova obnovia výrobné nastavenia na nastavenia ostrého režimu. Po úspešnom zapnutí zariadenia do Androidu vypnite odomknutie OEM v sekcii Pre vývojárov. Ak sa zariadeniu nepodarí spustiť Android alebo bude nestabilné, znova nainštalujte najnovšie výrobné obrazy systému z webu <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> alebo prejdite na <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> a vyberte Wipe Device (Trvale vymazať zariadenie), Lock Bootloader (Uzamknúť zavádzací program systému) a Force Flash all partitions (Vynútiť inštaláciu obrazu systému vo všetkých oddieloch)."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Používa sa režim 16 kB, ktorý nezohľadňuje stránkovanie"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Ste v režime 16 kB, ktorý nezohľadňuje stránkovanie. V tomto režime nie je možné zaručiť integritu softvéru a všetky dáta uložené v telefóne môžu byť počas odomknutia zavádzacieho programu systému ohrozené. Niektoré funkcie budú v týchto režimoch vypnuté, takže niektoré aplikácie nemusia fungovať. Ak chcete znova vstúpiť do ostrého režimu, musíte prepnúť späť do režimu 4 kB a potom uzamknúť zavádzací program systému zariadenia. Klepnutím zobrazíte ďalšie informácie."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Ste v režime 16 kB, ktorý nezohľadňuje stránkovanie. V tomto režime nie je možné zaručiť integritu softvéru a všetky dáta uložené v telefóne môžu byť počas odomknutia zavádzacieho programu systému ohrozené. Niektoré funkcie budú v týchto režimoch vypnuté, takže niektoré aplikácie nemusia fungovať. Ak chcete znova vstúpiť do ostrého režimu, musíte prepnúť späť do režimu 4 kB a potom uzamknúť zavádzací program systému zariadenia. Tým sa v zariadení znova obnovia výrobné nastavenia na nastavenia ostrého režimu. Po úspešnom zapnutí zariadenia do Androidu vypnite odomknutie OEM v sekcii Pre vývojárov. Ak sa zariadeniu nepodarí spustiť Android alebo bude nestabilné, znova nainštalujte najnovšie výrobné obrazy systému z webu <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> alebo prejdite na <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> a vyberte Wipe Device (Trvale vymazať zariadenie), Lock Bootloader (Uzamknúť zavádzací program systému) a Force Flash all partitions (Vynútiť inštaláciu obrazu systému vo všetkých oddieloch)."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Ste v režime 16 kB, ktorý nezohľadňuje stránkovanie. V tomto režime nie je možné zaručiť integritu softvéru a všetky dáta uložené v telefóne môžu byť počas odomknutia zavádzacieho programu systému ohrozené. Niektoré funkcie budú v týchto režimoch vypnuté, takže určité aplikácie nemusia fungovať. Ak chcete znova prejsť do ostrého režimu, musíte prepnúť späť do režimu 4 kB a potom uzamknúť zavádzací program systému zariadenia. Klepnutím zobrazíte ďalšie informácie."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Ste v režime 16 kB, ktorý nezohľadňuje stránkovanie. V tomto režime nie je možné zaručiť integritu softvéru a všetky dáta uložené v telefóne môžu byť počas odomknutia zavádzacieho programu systému ohrozené. Niektoré funkcie budú v týchto režimoch vypnuté, takže určité aplikácie nemusia fungovať. Ak chcete znova prejsť do ostrého režimu, musíte prepnúť späť do režimu 4 kB a potom uzamknúť zavádzací program systému zariadenia. Tým sa v zariadení znova obnovia výrobné nastavenia na nastavenia ostrého režimu. Po úspešnom zapnutí zariadenia do Androidu vypnite odomknutie OEM v sekcii Pre vývojárov. Ak sa zariadeniu nepodarí spustiť Android alebo bude nestabilné, znova nainštalujte najnovšie výrobné obrazy systému z webu <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> alebo prejdite na <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> a vyberte Vymazať zariadenie, Uzamknúť zavádzací program systému a Vynútiť inštaláciu obrazu systému vo všetkých oddieloch."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Režim 16 kB nezohľadňujúci stránkovanie"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Ďalšie informácie"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Obsluha hlásení chýb"</string>
@@ -5009,7 +5073,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Používať pripnutie aplikácie"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Používať nastavenia pre vývojárov"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Používať tlačovú službu"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Povoliť viacero používateľov"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"povoliť, viacero, používateľ, povolenie, veľa"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"viacerí, používatelia, profily, ľudia, účty, prepnúť, mnoho"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Používať bezdrôtové ladenie"</string>
@@ -5123,8 +5188,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Vyberte, čo sa bude zobrazovať na vašej obrazovke po vložení tabletu do doku. Zariadenie môže pri používaní šetriča obrazovky spotrebúvať viac energie."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Prispôsobiť"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Prispôsobiť <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Zapnutie podpory funkcie Freeform vyžaduje reštartovanie."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Vynútenie režimu pracovnej plochy na sekundárnych obrazovkách vyžaduje reštartovanie."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Povolenie podpory starých meniteľných okien vyžaduje reštart."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Zmena podpory meniteľných okien vyžaduje reštart."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Vynútenie meniteľných okien na sekundárnych obrazovkách vyžaduje reštart."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Reštartovať"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reštartovať neskôr"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Priestorový zvuk"</string>
@@ -5137,7 +5203,7 @@
<string name="bluetooth_details_audio_device_type_unknown" msgid="5299284975435974206">"Nenastavené"</string>
<string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Reproduktor"</string>
<string name="bluetooth_details_audio_device_type_headphones" msgid="7644588291215033798">"Slúchadlá"</string>
- <string name="bluetooth_details_audio_device_type_hearing_aid" msgid="6311786545025321187">"Načúvacie zariadenie"</string>
+ <string name="bluetooth_details_audio_device_type_hearing_aid" msgid="6311786545025321187">"Načúvadlo"</string>
<string name="bluetooth_details_audio_device_type_carkit" msgid="1866236563013629394">"Auto"</string>
<string name="bluetooth_details_audio_device_type_other" msgid="7019481234617207563">"Iné"</string>
<string name="ingress_rate_limit_title" msgid="2106694002836274350">"Limit rýchlosti sťahovania v sieti"</string>
@@ -5353,4 +5419,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Počúvať stream"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Naskenujte QR kód zvukového streamu a počúvajte pomocou zariadenia <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Heslo sa nedá upraviť počas zdieľania. Ak ho chcete zmeniť, najprv vypnite zdieľanie zvuku."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-sl/arrays.xml b/res/values-sl/arrays.xml
index 905e2ae..bd9926a 100644
--- a/res/values-sl/arrays.xml
+++ b/res/values-sl/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Čas za spanje"</item>
+ <item msgid="4152450357280759894">"Vožnja"</item>
+ <item msgid="7096549258219399423">"Poglobljeno"</item>
+ <item msgid="2760716776980432977">"Upravljano"</item>
+ <item msgid="601734478369121764">"Zvezda"</item>
+ <item msgid="6243809315432780521">"Koledar"</item>
+ <item msgid="4913577903148415331">"Čas"</item>
+ <item msgid="3653377604690057780">"Gledališče"</item>
+ <item msgid="3843711267408385410">"Roža"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index fccd144d..e0fcf4b 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Nastavitve slušnega aparata"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Bližnjica, združljivost s slušnimi aparati"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Prednastavljeno"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Avdiolog ni programiral nobenih prednastavljenih vrednosti"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Prednastavljenih vrednosti ni bilo mogoče posodobiti"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Zvočni izhod"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"O zvočnem izhodu"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Obraz in <xliff:g id="WATCH">%s</xliff:g> sta dodana"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Obraz, prstni odtis in <xliff:g id="WATCH">%s</xliff:g> so dodani"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Obraz, prstni odtisi in <xliff:g id="WATCH">%s</xliff:g> so dodani"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"To je potrebno, ker je preverjanje identitete vklopljeno"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Odklepanje storitve Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Ura je dodana"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Nastavitev ure"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Preberite več o odklepanju z uro."</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Dodaj uro"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Odstranitev ure"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Odklepanje s prstnim odtisom in obrazom"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Odklepanje z obrazom in prstnim odtisom"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Odklepanje z obrazom in prstnim odtisom za delo"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Potrebna je nastavitev"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Obraz in prstni odtisi so dodani."</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Namestite aplikacije"</b>\n"V zasebnem prostoru namestite aplikacije, za katere želite, da ostanejo zasebne"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Upoštevajte"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Aplikacije so ustavljene, ko zaklenete zasebni prostor"</b>\n"Ko zaklenete zasebni prostor, so aplikacije v njem ustavljene in s tem tudi prejemanje njihovih obvestil"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Zasebni prostori niso primerni za aplikacije, ki se morajo izvajati v ozadju ali pošiljajo nujna obvestila. Mednje sodijo na primer zdravstvene aplikacije. To je zato, ker so obvestila in dejavnost v ozadju ustavljeni, kadar je prostor zaklenjen.\n\nAplikacije v zasebnem prostoru ne bodo prikazane v upravitelju dovoljenj, na nadzorni plošči za zasebnost in v drugih nastavitvah, kadar je zasebni prostor zaklenjen.\n\nZasebnega prostora ni mogoče premakniti v novo napravo. Če želite zasebni prostor uporabljati v drugi napravi, morate nastaviti novega.\n\nVsakdo, ki vašo napravo poveže z računalnikom ali v napravo namesti škodljive aplikacije, bo morda lahko dostopal do vašega zasebnega prostora."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Zasebni prostori niso primerni za aplikacije, ki se morajo izvajati v ozadju ali pošiljajo nujna obvestila. Mednje sodijo na primer zdravstvene aplikacije. To je zato, ker so obvestila in dejavnost v ozadju ustavljeni, kadar je prostor zaklenjen.\n\nAplikacije v zasebnem prostoru ne bodo prikazane v upravitelju dovoljenj, na nadzorni plošči za zasebnost in v drugih nastavitvah, kadar je zasebni prostor zaklenjen.\n\nZasebnega prostora ni mogoče obnoviti v novo napravo. Če želite zasebni prostor uporabljati v drugi napravi, morate nastaviti novega.\n\nVsakdo, ki vašo napravo poveže z računalnikom ali v napravo namesti zlonamerne aplikacije, bo morda lahko dostopal do vašega zasebnega prostora."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Preberite več o zasebnem prostoru"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"To bo trajalo nekaj trenutkov"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Nastavljanje zasebnega prostora …"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Vnovični zagon?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Podrobno zapisovanje dnevnika za NFC je namenjeno samo za razvoj. Dodatni podatki NFC so vključeni v poročilih o napakah, ki morda vsebujejo zasebne podatke. Če želite spremeniti to nastavitev, znova zaženite napravo."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Zaženi znova"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Predvajanje"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"zrcaljenje"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Omogočanje brezžičnega zaslona"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Prilagodljive"</string>
<string name="brightness" msgid="6216871641021779698">"Raven svetlosti"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Prilagodljiva svetlost"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"O prilagodljivi svetlosti"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Svetlost zaslona se bo samodejno prilagajala glede na okolje in dejavnosti. Če želite, da funkcija za prilagodljivo svetlost hitreje spozna vaše želje, lahko ročno premaknete drsnik."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Vklopljeno"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Izklopljeno"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Možnosti"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Dostopnost"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Fizična tipkovnica"</string>
- <string name="show_ime" msgid="4334255501724746849">"Uporabi zaslonsko tipkovnico"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Obdrži na zaslonu, tudi ko je fizična tipkovnica aktivna."</string>
<string name="bounce_keys" msgid="7419450970351743904">"Zaznava večkratnih pritiskov tipk"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Tipkovnica prezre hitro ponovljene pritiske iste tipke v <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Daljši pritisk tipk"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Uporabniško izbrano: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Govor"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Hitrost kazalca"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Krmilnik za igre"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Preusmeritev vibriranja"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Pošiljanje vibriranja v krmilnik za igre, ko je povezan"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Vseeno nadaljuj"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Prekliči"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Nastavitve povečave"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Pomikanje z enim prstom"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Premikanje lupe z enim prstom"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Po zaslonu se pomikate z vlečenjem prsta."</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Območje povečave premikajte z vlečenjem enega prsta."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Območje povečave premikajte z vlečenjem dveh prstov."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Ni na voljo pri povečavi samo dela zaslona"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Če želite povečati, se dotaknite gumba"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Hitro povečajte zaslon za povečavo vsebine."</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Če želite povečati:</b><br/> {0,number,integer}. Z bližnjico vklopite povečavo.<br/> {1,number,integer}. Dotaknite se zaslona.<br/> {2,number,integer}. Po zaslonu se pomikajte z vlečenjem dveh prstov.<br/> {3,number,integer}. Stopnjo povečave prilagodite tako, da prsta razmaknete ali primaknete.<br/> {4,number,integer}. Z bližnjico izklopite povečavo.<br/><br/> <b>Povečavo začasno vklopite tako:</b><br/> {0,number,integer}. Prepričajte se, da je vrsta povečave nastavljena na celozaslonski način.<br/> {1,number,integer}. Z bližnjico vklopite povečavo.<br/> {2,number,integer}. Dotaknite se poljubne točke na zaslonu in jo pridržite.<br/> {3,number,integer}. Po zaslonu se pomikajte z vlečenjem prsta.<br/> {4,number,integer}. Dvignite prst, da izklopite povečavo."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Če želite povečati:</b><br/> {0,number,integer}. Z bližnjico vklopite povečavo.<br/> {1,number,integer}. Dotaknite se zaslona.<br/> {2,number,integer}. Po zaslonu se pomikajte z vlečenjem dveh prstov.<br/> {3,number,integer}. Stopnjo povečave prilagodite tako, da prsta razmaknete ali primaknete.<br/> {4,number,integer}. Z bližnjico izklopite povečavo.<br/><br/> Povečavo lahko tudi začasno povečate in drugo."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Če želite povečati:</b><br/> {0,number,integer}. Z bližnjico vklopite povečavo.<br/> {1,number,integer}. Dotaknite se zaslona.<br/> {2,number,integer}. Po zaslonu se pomikajte z vlečenjem enega ali dveh prstov.<br/> {3,number,integer}. Stopnjo povečave prilagodite tako, da prsta razmaknete ali primaknete.<br/> {4,number,integer}. Z bližnjico izklopite povečavo.<br/><br/> Povečavo lahko tudi začasno povečate in drugo."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Ko je povečava vklopljena, lahko povečate prikaz na zaslonu.\n\n"<b>"Če želite povečati prikaz"</b>", zaženite povečavo, nato pa se dotaknite poljubnega mesta na zaslonu.\n"<ul><li>"Povlecite z dvema ali več prsti po zaslonu, če se želite pomikati."</li>\n<li>"Primaknite ali razmaknite dva ali več prstov, če želite prilagoditi povečavo."</li></ul>\n\n<b>"Če želite začasno povečati prikaz"</b>", zaženite povečavo ter se dotaknite poljubnega mesta na zaslonu in ga pridržite.\n"<ul><li>"Povlecite, če se želite premikati po zaslonu."</li>\n<li>"Dvignite prst, če želite zmanjšati povečavo."</li></ul>\n\n"Povečava ni mogoča na tipkovnici ali v vrstici za krmarjenje."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>. stran od <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Bližnjica gumba za dostopnost"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Prejemajte samo obvestila pomembnih oseb in aplikacij."</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Izbira vrste aktiviranja"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Čas"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Primer: »9.30–17.00«"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Koledar"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Primer: »Osebni koledar«"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Ustvarjanje načina"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Po meri"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Omejitev prekinitev"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Vklop načina »Ne moti«"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarmi in zvoki predstavnosti lahko preglasijo"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Časovni razporedi"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Izbriši razporede"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Izbriši"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Uredi"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Razporedi"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Razpored"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Dodajte koledar"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Uporabite koledar"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Razpored"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Nastavitev razporeda"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Razpored"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Samodejni vklop"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Časovni razpored"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Utišanje telefona ob določenih urah"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Nastavitev pravil za način »Ne moti«"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Dovoljene zvočne motnje"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokiranje vizualnih motenj"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Dovoli vizualne znake"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Obvestila, za katera ste dosegljivi"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Ostanite zbrani"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Dodatna dejanja"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Nastavitve zaslona"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Možnosti prikaza"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"omogoči temno temo"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Preklopite nastavitev operacijskega sistema in aplikacij na svetlo besedilo na temnem ozadju, saj je to manj naporno za oči in v nekaterih napravah bistveno prispeva k varčevanju z energijo baterije"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Brez sprememb prikaza}=1{{effect_1}}=2{{effect_1} in {effect_2}}=3{{effect_1}, {effect_2} in {effect_3}}one{{effect_1}, {effect_2} in še #}two{{effect_1}, {effect_2} in še #}few{{effect_1}, {effect_2} in še #}other{{effect_1}, {effect_2} in še #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filtriraj prekinitve"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Nobene prekinitve niso filtrirane"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Možnosti prikaza za filtrirana obvestila"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Ko je vklopljen način »Ne moti«"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Brez zvočnega opozarjanja na obvestila"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"odpiranje obvestila"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Omogoči prelaganje obvestil"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Obvestilna pika na ikoni aplikacije"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Svežnji obvestil"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Oblački"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Oblački"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Prikaži ta pogovor v oblačku"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Kategorije"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Drugo"</string>
<string name="no_channels" msgid="4716199078612071915">"Ta aplikacija ni objavila nobenih obvestil."</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Pokaži neuporabljene kategorije"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Dodatne nastavitve v aplikaciji"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Pokaži neuporabljene kategorije"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Skrij neuporabljene kategorije"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Vse"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Aplikacijam dovoli preglasitev"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikacije, ki lahko preglasijo"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Izberite več aplikacij"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Sprememba na samo alarme za eno uro do {time}}one{Sprememba na samo alarme za # uro do {time}}two{Sprememba na samo alarme za # uri do {time}}few{Sprememba na samo alarme za # ure do {time}}other{Sprememba na samo alarme za # ur do {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Sprememba na samo alarme do <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Sprememba na vedno prekini"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Preimenuj"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Spremeni ikono"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Spremeni ikono"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Opozorilo"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Zapri"</string>
<string name="device_feedback" msgid="5351614458411688608">"Povratne informacije o tej napravi"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Ovitek"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Baterija"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Podokno nastavitev"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Vsili namizni način"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Vsili poskusni namizni način na sekundarnih zaslonih."</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Omogoči okna svobodne oblike"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Omogoči podporo za okna svobodne oblike."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Omogoči okna svobodne oblike na drugem zaslonu"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Omogoči okna svobodne oblike samo na sekundarnem zaslonu."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Omogoči okna nespremenljive velikosti v načinu z več okni"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Omogoča uporabo aplikacij brez možnosti spreminjanja velikosti v načinu z več okni."</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Preglasi vsiljenje temnega načina"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Preden začnete uporabljati 16-kilobajtno možnost za razvijalce, je treba podatkovno particijo te naprave pretvoriti v sistem ext4. Celovitosti programske opreme v tem načinu ni mogoče zajamčiti in vsi podatki, shranjeni v telefonu, medtem ko je zagonski nalagalnik odklenjen, so morda ogroženi. Aktiviranje 16-kilobajtne možnosti bo po tem vnovičnem zagonu terjalo še enega. Ko ste v tem načinu, lahko preklapljate med 4-kilobajtnim in 16-kilobajtnim načinom z enim vnovičnim zagonom. V teh načinih bodo nekatere funkcije onemogočene, zato nekatere aplikacije morda ne bodo delovale. Če želite napravo povrniti v način za splošno razpoložljivost, morate preklopiti nazaj na 4-kilobajtni način in zakleniti zagonski nalagalnik, s čimer ponastavite napravo na tovarniške nastavitve. Ko se naprava uspešno zažene v sistemu Android, v možnostih za razvijalce onemogočite odklepanje OEM. Podatki v napravi bodo izbrisani in podatkovni sistem bo po potrditvi spremenjen v sistem ext4. Ko se to dokonča, se vrnite in znova omogočite 16-kilobajtni način."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Izbriši vse podatke"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Formatiranje v sistem ext4 in brisanje particije s podatki ni uspelo."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Za 16-kilobajtni način je obvezno odklepanje zagonskega nalagalnika"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Potrebno je odklepanje zagonskega nalagalnika"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Preden začnete uporabljati 16-kilobajtno možnost za razvijalce, morate v tej napravi odkleniti zagonski nalagalnik. Celovitosti programske opreme v tem načinu ni mogoče zajamčiti in vsi podatki, shranjeni v telefonu, medtem ko je zagonski zaganjalnik odklenjen, so morda ogroženi. Vsi podatki uporabnika in nastavitve bodo pri aktiviranju 16-kilobajtnega načina izbrisani. Ko je zagonski nalagalnik odklenjen, aktiviranje 16-kilobajtne možnosti terja dva vnovična zagona. Ko ste v tem načinu, lahko preklapljate med 4-kilobajtnim in 16-kilobajtnim načinom z enim vnovičnim zagonom. V teh načinih bodo nekatere funkcije onemogočene, zato nekatere aplikacije morda ne bodo delovale. Če želite napravo povrniti v način za splošno razpoložljivost, morate preklopiti nazaj na 4-kilobajtni način in nato napravo zakleniti z zaklepanjem OEM oziroma v napravi zakleniti zagonski nalagalnik (s čimer se sproži ponastavitev na tovarniške nastavitve). Odklenite zagonski nalagalnik in poskusite znova. Navodila za ta postopek so na voljo na <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Uporaba 4-kilobajtnega načina, neodvisnega od velikosti strani"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Ste v 4-kilobajtnem načinu, neodvisnem od velikosti strani. Celovitosti programske opreme v tem načinu ni mogoče zajamčiti in vsi podatki, shranjeni v telefonu, medtem ko je zagonski nalagalnik odklenjen, so morda ogroženi. V teh načinih bodo nekatere funkcije onemogočene, zato nekatere aplikacije morda ne bodo delovale. Če želite znova v način za splošno razpoložljivost, morate zakleniti zagonski nalagalnik naprave. Dotaknite se, če želite prebrati več."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Ste v 4-kilobajtnem načinu, neodvisnem od velikosti strani. Celovitosti programske opreme v tem načinu ni mogoče zajamčiti in vsi podatki, shranjeni v telefonu, medtem ko je zagonski nalagalnik odklenjen, so morda ogroženi. V teh načinih bodo nekatere funkcije onemogočene, zato nekatere aplikacije morda ne bodo delovale. Če želite znova v način za splošno razpoložljivost, morate zakleniti zagonski nalagalnik naprave. S tem znova ponastavite napravo na tovarniške nastavitve in jo povrnete na nastavitve za splošno razpoložljivost. Ko se naprava uspešno zažene v sistemu Android, v možnostih za razvijalce onemogočite odklepanje OEM. Če se napravi ne uspe zagnati v sistemu Android ali ni stabilna, jo znova posodobite z najnovejšimi tovarniškimi slikami z naslova <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ali uporabite <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> in izberite možnosti »Wipe Device«, »Lock Bootloader« in »Force Flash all partitions.«"</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Uporaba 16-kilobajtnega načina, neodvisnega od velikosti strani"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Ste v 16-kilobajtnem načinu, neodvisnem od velikosti strani. Celovitosti programske opreme v tem načinu ni mogoče zajamčiti in vsi podatki, shranjeni v telefonu, medtem ko je zagonski nalagalnik odklenjen, so morda ogroženi. V teh načinih bodo nekatere funkcije onemogočene, zato nekatere aplikacije morda ne bodo delovale. Če želite znova v način za splošno razpoložljivost, morate preklopiti nazaj na 4-kilobajtni način, nato pa morate zakleniti zagonski nalagalnik naprave. Dotaknite se, če želite prebrati več."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Ste v 16-kilobajtnem načinu, neodvisnem od velikosti strani. Celovitosti programske opreme v tem načinu ni mogoče zajamčiti in vsi podatki, shranjeni v telefonu, medtem ko je zagonski zaganjalnik odklenjen, so morda ogroženi. V teh načinih bodo nekatere funkcije onemogočene, zato nekatere aplikacije morda ne bodo delovale. Če želite znova v tovarniški način, morate preklopiti nazaj na 4-kilobajtni način, nato pa morate zakleniti zagonski nalagalnik naprave. S tem znova ponastavite napravo na tovarniške nastavitve. Ko se naprava uspešno zažene v sistemu Android, v možnostih za razvijalce onemogočite odklepanje OEM. Če se napravi ne uspe zagnati v sistemu Android ali ni stabilna, jo znova posodobite z najnovejšimi tovarniškimi slikami z naslova <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ali uporabite <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> in izberite možnosti »Wipe Device«, »Lock Bootloader« in »Force Flash all partitions.«"</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Ste v 16-kilobajtnem načinu načina, neodvisnega od velikosti strani. Celovitosti programske opreme v tem načinu ni mogoče zajamčiti in vsi podatki, shranjeni v telefonu, medtem ko je zagonski nalagalnik odklenjen, so morda ogroženi. V teh načinih bodo nekatere funkcije onemogočene, zato nekatere aplikacije morda ne bodo delovale. Če se želite vrniti v način za splošno razpoložljivost, morate preklopiti nazaj na 4-kilobajtni način, nato pa morate zakleniti zagonski nalagalnik naprave. Dotaknite se, če želite prebrati več."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Ste v 16-kilobajtnem načinu načina, neodvisnega od velikosti strani. Celovitosti programske opreme v tem načinu ni mogoče zajamčiti in vsi podatki, shranjeni v telefonu, medtem ko je zagonski nalagalnik odklenjen, so morda ogroženi. V teh načinih bodo nekatere funkcije onemogočene, zato nekatere aplikacije morda ne bodo delovale. Če se želite vrniti v način za splošno razpoložljivost, morate preklopiti nazaj na 4-kilobajtni način, nato pa morate zakleniti zagonski nalagalnik naprave. S tem napravo znova ponastavite na tovarniške nastavitve in jo povrnete na nastavitve za splošno razpoložljivost. Ko se naprava uspešno zažene v sistemu Android, v možnostih za razvijalce onemogočite odklepanje OEM. Če se napravi ne uspe zagnati v sistemu Android ali ni stabilna, jo znova posodobite z najnovejšimi tovarniškimi slikami z naslova <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ali uporabite <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> in izberite možnosti »Wipe Device« (Izbriši podatke v napravi), »Lock Bootloader« (Zakleni zagonski nalagalnik) in »Force Flash all partitions« (Vsili posodobitev vseh particij)."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16-kilobajtni način za neodvisno velikost strani"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Več o tem"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Rutina za obravnavo poročila o napakah"</string>
@@ -5015,7 +5073,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Uporabi pripenjanje aplikacije"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Uporabi možnosti za razvijalce"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Uporabi storitev tiskanja"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Dovoli več uporabnikov"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"dovoli, več, uporabnik, dovoljenje"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"več, uporabniki, profili, osebe, računi, preklopi, veliko"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Uporabi brezžično odpravljanje napak"</string>
@@ -5129,8 +5188,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Izberite, kaj bo prikazano na zaslonu, ko je tablični računalnik priklopljen na nosilec. Naprava bo med uporabo ohranjevalnika zaslona morda porabljala več energije."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Prilagodi"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Prilagajanje ohranjevalnika zaslona <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Če želite omogočiti podporo za svobodno obliko, morate znova zagnati napravo."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Če želite vsiliti namizni način na sekundarnih zaslonih, morate znova zagnati napravo."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Če želite omogočiti podporo za okna svobodne oblike starejše različice, morate znova zagnati napravo."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Če želite spremeniti podporo za okna svobodne oblike, morate znova zagnati napravo."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Če želite vsiliti okna svobodne oblike na sekundarnih zaslonih, morate znova zagnati napravo."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Znova zaženi"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Znova zaženi pozneje"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Prostorski zvok"</string>
@@ -5359,4 +5419,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Poslušaj pretočno predvajanje"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Optično preberite kodo QR pretočnega predvajanja zvoka, če želite poslušati z napravo <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Gesla ni mogoče urejati med deljenjem. Če želite spremeniti geslo, najprej izklopite deljenje zvoka."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-sq/arrays.xml b/res/values-sq/arrays.xml
index b1eb632..e034cc0 100644
--- a/res/values-sq/arrays.xml
+++ b/res/values-sq/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Orari i gjumit"</item>
+ <item msgid="4152450357280759894">"Udhëtim me makinë"</item>
+ <item msgid="7096549258219399423">"Përfshirës"</item>
+ <item msgid="2760716776980432977">"I menaxhuar"</item>
+ <item msgid="601734478369121764">"Yll"</item>
+ <item msgid="6243809315432780521">"Kalendari"</item>
+ <item msgid="4913577903148415331">"Koha"</item>
+ <item msgid="3653377604690057780">"Teatri"</item>
+ <item msgid="3843711267408385410">"Lule"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index df5543f..07cd2ea 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Cilësimet e pajisjes ndihmëse për dëgjimin"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Shkurtore, përputhshmëria me aparatet e dëgjimit"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Paravendosja"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Nuk ka paravendosje të programuara nga audiologu yt"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Paravendosja nuk mund të përditësohej"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Dalja e audios"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Rreth daljes së audios"</string>
@@ -383,7 +384,7 @@
<string name="security_settings_fingerprint_v2_enroll_introduction_footer_title_2" msgid="2580899232734177771">"Si funksionon"</string>
<string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_2" msgid="5909924864816776516">"\"Shkyçja me gjurmën e gishtit\" krijon një model unik të gjurmës sate të gishtit për të verifikuar që je ti. Për ta krijuar këtë model të gjurmës së gishtit gjatë konfigurimit, duhet t\'i regjistrosh nga pozicione të ndryshme imazhet e gjurmës sate të gishtit."</string>
<string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_2" msgid="3493356605815124807">"\"Shkyçja me gjurmën e gishtit\" krijon një model unik të gjurmës së gishtit të fëmijës tënd për të verifikuar që është ai. Për ta krijuar këtë model të gjurmës së gishtit gjatë konfigurimit, ajo duhet t\'i regjistrojë nga pozicione të ndryshme imazhet e gjurmës sate të gishtit."</string>
- <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_6" msgid="5314031490467481499">"Për rezultate më të mira, përdor një mbrojtës ekrani që është i certifikuar si i \"Prodhuar për Google\". Me mbrojtës të tjerë ekrani, gjurma jote e gishtit mund të mos funksionojë."</string>
+ <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_6" msgid="5314031490467481499">"Për rezultatet më të mira, përdor një mbrojtës ekrani që është i certifikuar me \"Prodhuar për Google\". Me mbrojtës të tjerë ekrani, gjurma jote e gishtit mund të mos funksionojë."</string>
<string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Për rezultate më të mira, përdor një mbrojtës ekrani që është i certifikuar nga \"Prodhuar për Google\". Me mbrojtës të tjerë ekrani, gjurma e gishtit e fëmijës tënd mund të mos funksionojë."</string>
<string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
<string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Shkyçja me orë"</string>
@@ -410,6 +411,8 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Fytyra dhe <xliff:g id="WATCH">%s</xliff:g> u shtuan"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Fytyra, gjurma e gishtit dhe <xliff:g id="WATCH">%s</xliff:g> u shtuan"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Fytyra, gjurmët e gishtave dhe <xliff:g id="WATCH">%s</xliff:g> u shtuan"</string>
+ <!-- no translation found for mandatory_biometrics_prompt_description (5461737411954922392) -->
+ <skip />
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Shkyçja me vërtetuesin në distancë"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Ora u shtua"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Konfiguro orën tënde"</string>
@@ -437,7 +440,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Mëso më shumë rreth \"Shkyçjes me orë\""</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Shto orën"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Hiq orën"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Shkyçja me gjurmë gishti dhe me fytyrë"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Shkyçja me fytyrë dhe me gjurmën e gishtit"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Shkyçja me fytyrë dhe gjurmë gishti për profilin e punës"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Nevojitet konfigurimi"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Fytyra dhe gjurmët e gishtave u shtuan"</string>
@@ -614,10 +617,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Instalo aplikacionet"</b>\n"Instalo aplikacionet që dëshiron t\'i mbash private në hapësirën tënde"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Ki parasysh"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Aplikacionet ndalojnë kur ti e kyç hapësirën"</b>\n"Kur e kyç hapësirën, aplikacionet në hapësirën tënde ndalojnë dhe nuk do të marrësh njoftime nga ato"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Hapësirat private nuk janë të përshtatshme për aplikacionet që ekzekutohen në sfond ose që dërgojnë njoftime kritike, si p.sh. për aplikacionet mjekësore. Kjo ndodh sepse njoftimet dhe aktiviteti në sfond ndalojnë kur hapësira jote kyçet.\n\nAplikacionet në hapësirën tënde private nuk do të shfaqen te menaxheri i lejeve, paneli i privatësisë dhe cilësime të tjera kur hapësira jote private kyçet.\n\nHapësira jote private nuk mund të zhvendoset në një pajisje të re. Do të duhet të konfigurosh një hapësirë tjetër private nëse dëshiron ta përdorësh atë në një pajisje tjetër.\n\nÇdo person që e lidh pajisjen tënde me një kompjuter ose instalon aplikacione të dëmshme në pajisjen tënde mund të jetë në gjendje që të qaset në hapësirën tënde private."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Hapësirat private nuk janë të përshtatshme për aplikacionet që ekzekutohen në sfond ose që dërgojnë njoftime kritike, si p.sh. për aplikacionet mjekësore. Kjo ndodh sepse njoftimet dhe aktiviteti në sfond ndalojnë kur hapësira jote kyçet.\n\nAplikacionet në hapësirën tënde private nuk do të shfaqen te menaxheri i lejeve, paneli i privatësisë dhe cilësime të tjera kur hapësira private kyçet.\n\nHapësira jote private nuk mund të restaurohet në një pajisje të re. Do të duhet të konfigurosh një hapësirë tjetër nëse dëshiron ta përdorësh atë në një pajisje tjetër.\n\nÇdo person që e lidh pajisjen tënde me një kompjuter ose instalon aplikacione keqdashëse në pajisjen tënde mund të jetë në gjendje që të qaset në hapësirën tënde private."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Mëso më shumë rreth hapësirës private"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Kjo do të zgjasë disa minuta"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Hapësira private po konfigurohet…"</string>
@@ -851,6 +852,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Të riniset pajisja?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Regjistrimi i detajuar i lidhjes NFC është i planifikuar vetëm për qëllime zhvillimi. Të dhënat shtesë të lidhjes NFC përfshihen në raportet e defekteve në kod, të cilat mund të përmbajnë informacione private. Rinise pajisjen tënde për ta ndryshuar këtë cilësim."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Rinis"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Transmetimi"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"pasqyro"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Aktivizo ekranin wireless"</string>
@@ -1192,6 +1223,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Me përshtatje"</string>
<string name="brightness" msgid="6216871641021779698">"Niveli i ndriçimit"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Ndriçimi me përshtatje"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Rreth ndriçimit me përshtatje"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Ndriçimi i ekranit tënd do t\'i përshtatet automatikisht mjedisit dhe aktiviteteve të tua. Mund ta lëvizësh rrëshqitësin manualisht për të ndihmuar ndriçimin me përshtatje që të mësojë preferencat e tua."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Aktiv"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Joaktiv"</string>
@@ -1897,8 +1929,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Opsionet"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Qasshmëria"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Tastiera fizike"</string>
- <string name="show_ime" msgid="4334255501724746849">"Përdor tastierën në ekran"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Mbaje në ekran ndërsa tastiera fizike është aktive"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Tastet e kërcimit"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Tastiera i shpërfill shtypjet e shpejta të përsëritura të të njëjtit tast brenda <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Tastet e ngadalta"</string>
@@ -1972,6 +2002,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Zgjedhur nga përdoruesi: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Ligjërimi"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Shpejtësia e treguesit"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Kontrolluesi i lojës"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Ridrejto dridhjen"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Dërgoji dridhjet te kontrolluesi i lojës kur të lidhet"</string>
@@ -2094,7 +2130,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Vazhdo gjithsesi"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Anulo"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Cilësimet e zmadhimit"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Zgjerimi me një gisht"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Zhvendos zmadhuesin me 1 gisht"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Zvarrit 1 gisht për të lëvizur nëpër ekran"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Zhvendos zonë e zmadhimit duke zvarritur një gisht."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Zhvendos zonën e zmadhimit duke zvarritur dy gishta."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Nuk ofrohet kur zmadhohet vetëm një pjesë e ekranit"</string>
@@ -2118,6 +2155,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Trokit te një buton për të zmadhuar"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Zmadho me shpejtësi në ekran për ta bërë përmbajtjen më të madhe"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Për të zmadhuar:</b><br/> {0,number,integer}. Përdor shkurtoren për të filluar zmadhimin<br/> {1,number,integer}. Trokit në ekran<br/> {2,number,integer}. Zvarrit 2 gishta për të lëvizur nëpër ekran<br/> {3,number,integer}. Bashko 2 gishta për të rregulluar zmadhimin<br/> {4,number,integer}. Përdor shkurtoren për të ndaluar zmadhimin<br/><br/><b>Për ta zmadhuar përkohësisht:</b><br/> {0,number,integer}. Sigurohu që lloji i zmadhimit të jetë caktuar në ekran të plotë<br/> {1,number,integer}. Përdor shkurtoren për të filluar zmadhimin<br/> {2,number,integer}. Prek dhe mbaj shtypur diku në ekran<br/> {3,number,integer}. Zvarrit gishtin për të lëvizur nëpër ekran<br/> {4,number,integer}. Ngrije gishtin për të ndaluar zmadhimin"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Për të zmadhuar:</b><br/> {0,number,integer}. Përdor shkurtoren për të filluar zmadhimin<br/> {1,number,integer}. Trokit në ekran<br/> {2,number,integer}. Zvarrit 2 gishta për të lëvizur nëpër ekran<br/> {3,number,integer}. Bashko 2 gishta për të rregulluar zmadhimin<br/> {4,number,integer}. Përdor shkurtoren për të ndaluar zmadhimin<br/><br/> Mund ta zmadhosh gjithashtu përkohësisht dhe më shumë."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Për të zmadhuar:</b><br/> {0,number,integer}. Përdor shkurtoren për të filluar zmadhimin<br/> {1,number,integer}. Trokit në ekran<br/> {2,number,integer}. Zvarrit 1 ose 2 gishta për të lëvizur nëpër ekran<br/> {3,number,integer}. Bashko 2 gishta për të rregulluar zmadhimin<br/> {4,number,integer}. Përdor shkurtoren për të ndaluar zmadhimin<br/><br/> Mund ta zmadhosh gjithashtu përkohësisht dhe më shumë."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Kur aktivizohet zmadhimi, mund të zmadhosh mbi ekranin tënd.\n\n"<b>"Për të zmadhuar"</b>", nis zmadhimin, më pas trokit diku në ekran.\n"<ul><li>"Zvarrit 2 ose më shumë gishta për të lëvizur"</li>\n<li>"Afro 2 ose më shumë gishta për të rregulluar zmadhimin"</li></ul>\n\n<b>"Për të zmadhuar përkohësisht"</b>", nis zmadhimin dhe më pas prek dhe mbaj të shtypur diku në ekran.\n"<ul><li>"Zvarrit për të lëvizur nëpër ekran"</li>\n<li>"Ngri gishtin për të zvogëluar"</li></ul>\n\n"Nuk mund të zmadhosh te tastiera ose shiriti i navigimit."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Faqja <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> nga <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Shkurtorja e butonit të qasshmërisë"</string>
@@ -3326,12 +3365,31 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Merr njoftime vetëm nga aplikacionet dhe personat e rëndësishëm"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Zgjidh llojin e aktivizimit"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Ora"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Për shembull, \"9:30 - 17:00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Kalendari"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Për shembull, \"Kalendari personal\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <!-- no translation found for zen_mode_new_title (4934720193004330740) -->
+ <skip />
+ <!-- no translation found for zen_mode_new_option_custom (1060993879440003341) -->
+ <skip />
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Kufizo ndërprerjet"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Aktivizo \"Mos shqetëso\""</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarmet dhe tingujt e medias mund ta ndërpresin"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Oraret"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Fshi oraret"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Fshi"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Redakto"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Oraret"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Orari"</string>
@@ -3342,6 +3400,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Cakto një orar"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Orari"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> orë e <xliff:g id="MINUTES">%2$d</xliff:g> min."</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Aktivizo automatikisht"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Orari"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Vendose telefonin në heshtje në kohë të caktuara"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Cakto rregullat për \"Mos shqetëso\""</string>
@@ -3351,7 +3410,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Lejo ndërprerjet që lëshojnë tinguj"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blloko shqetësimet vizuale"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Lejo sinjalet vizuale"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Njoftimet që mund të marrësh"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Ruaj përqendrimin"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Veprime të tjera"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Cilësimet e ekranit"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Opsionet e paraqitjes"</string>
@@ -3368,6 +3427,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"aktivizo temën e errët"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Bëj që sistemi operativ dhe aplikacionet të preferojnë tekstin e ndriçuar mbi sfond të errët, gjë që mund të jetë më e lehtë për sytë dhe të mundësojë një kursim të konsiderueshëm të baterisë në disa pajisje"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Asnjë ndryshim i paraqitjes}=1{{effect_1}}=2{{effect_1} dhe {effect_2}}=3{{effect_1}, {effect_2} dhe {effect_3}}other{{effect_1}, {effect_2} dhe # të tjera}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filtro ndërprerjet"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Nuk filtrohet asnjë ndërprerje"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Opsionet e paraqitjes për njoftimet e filtruara"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Kur modaliteti \"Mos shqetëso\" është aktiv"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Asnjë tingull nga njoftimet"</string>
@@ -3483,6 +3544,8 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"hap njoftimin"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Lejo shtyrjen e njoftimeve"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Pika e njoftimit në ikonën e aplikacionit"</string>
+ <!-- no translation found for notification_bundles (3614044525822580826) -->
+ <skip />
<string name="notification_bubbles_title" msgid="5681506665322329301">"Flluskat"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Flluskat"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Vendos bisedën në flluskë"</string>
@@ -3664,6 +3727,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Kategoritë"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Të tjera"</string>
<string name="no_channels" msgid="4716199078612071915">"Ky aplikacion nuk ka postuar asnjë njoftim"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Shfaq kategoritë e papërdorura"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Cilësime shtesë në aplikacion"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Shfaq kategoritë e papërdorura"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Fshih kategoritë e papërdorura"</string>
@@ -3775,6 +3839,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Të gjitha"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Lejo aplikacionet ta anulojnë"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Aplikacionet që mund ta ndërpresin"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Zgjidh më shumë aplikacione"</string>
@@ -4799,8 +4865,14 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Kasa"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Bateria"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Paneli i \"Cilësimeve\""</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Detyro \"modalitetin e desktopit\""</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Detyro \"modalitetin e desktopit\" eksperimental në ekrane dytësore"</string>
+ <!-- no translation found for enable_desktop_mode (5644818402534562302) -->
+ <skip />
+ <!-- no translation found for enable_desktop_mode_summary (7606643229185242771) -->
+ <skip />
+ <!-- no translation found for force_desktop_mode (8292039809783522466) -->
+ <skip />
+ <!-- no translation found for force_desktop_mode_summary (6534513232678335875) -->
+ <skip />
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Aktivizo aplikacionet me madhësi jo të ndryshueshme në modalitetin me shumë dritare"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Lejon që aplikacionet me madhësi jo të ndryshueshme të shfaqen në modalitetin me shumë dritare"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Anulo detyrimin e errësimit"</string>
@@ -4868,14 +4940,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Ndarja e të dhënave të kësaj pajisjeje duhet të konvertohet në ext4 para se të përdoret opsioni i zhvilluesit 16 KB. Integriteti i softuerit nuk mund të garantohet në këtë modalitet dhe mund të rrezikohet çdo e dhënë e ruajtur në telefon kur ngarkuesi i fillimit është i shkyçur. Aktivizimi i opsioni 16 KB do të kërkojë një rinisje tjetër pas kësaj. Pasi të jesh në këtë modalitet, mund t\'i ndërrosh modalitetet 4 KB dhe 16 KB me vetëm një rinisje. Disa veçori do të çaktivizohen në këto modalitete, kështu që disa aplikacione mund të mos funksionojnë. Për ta kthyer pajisjen në modalitetin e prodhimit, do të duhet që të kthehesh përsëri në modalitetin 4 KB dhe të kyçësh më pas ngarkuesin e fillimit, i cili e rivendos pajisjen në gjendje fabrike. Pasi pajisja të niset me sukses në Android, çaktivizo shkyçjen e OEM-së tek \"Opsionet e zhvilluesit\". Pajisja do të pastrohet dhe sistemi i skedarëve do të ndryshohet në ext4 pas konfirmimit. Pasi të përfundojë kjo, kthehu për të aktivizuar përsëri 16 KB."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Spastro të gjitha të dhënat"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Riformatimi dhe pastrimi i ndarjes së të dhënave në ext4 dështoi."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Shkyçja e ngarkuesit të fillimit kërkohet për modalitetin 16 KB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Kërkohet shkyçja e ngarkuesit të fillimit"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Kjo pajisje duhet ta ketë të shkyçur ngarkuesin e fillimit para se të përdoret opsioni i zhvilluesit 16 KB. Integriteti i softuerit nuk mund të garantohet në këtë modalitet dhe mund të rrezikohet çdo e dhënë e ruajtur në telefon kur ngarkuesi i fillimit është i shkyçur. Të gjitha të dhënat dhe cilësimet e përdoruesit do të pastrohen kur të aktivizohet modaliteti 16 KB. Kur të shkyçet ngarkuesi i fillimit, aktivizimi i opsionit 16 KB do të kërkojë dy rinisje. Pasi të jesh në këtë modalitet, mund t\'i ndërrosh modalitetet 4 KB dhe 16 KB me vetëm një rinisje. Disa veçori do të çaktivizohen në këto modalitete, kështu që disa aplikacione mund të mos funksionojnë. Për ta kthyer pajisjen në modalitetin e prodhimit, do të duhet që të kthehesh përsëri në modalitetin 4 KB dhe më pas të kyçësh OEM-në/ngarkuesin e fillimit (që e rivendos pajisjen në gjendje fabrike). Shkyçe ngarkuesin e fillimit dhe provo përsëri. Mund t\'i shikosh udhëzimet se si ta bësh këtë në <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Po përdor modalitetin 4 KB të pavarësisë nga madhësia e faqes"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Je në modalitetin 4 KB të modalitetit të pavarësisë nga madhësia e faqes. Integriteti i softuerit nuk mund të garantohet në këtë modalitet dhe mund të rrezikohet çdo e dhënë e ruajtur në telefon kur ngarkuesi i fillimit është i shkyçur. Disa veçori do të çaktivizohen në këto modalitete, kështu që disa aplikacione mund të mos funksionojnë. Për të hyrë përsëri në modalitetin e prodhimit, duhet të kyçësh ngarkuesin e fillimit të pajisjes. Trokit për të lexuar më shumë."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Je në modalitetin 4 KB të modalitetit të pavarësisë nga madhësia e faqes. Integriteti i softuerit nuk mund të garantohet në këtë modalitet dhe mund të rrezikohet çdo e dhënë e ruajtur në telefon kur ngarkuesi i fillimit është i shkyçur. Disa veçori do të çaktivizohen në këto modalitete, kështu që disa aplikacione mund të mos funksionojnë. Për të hyrë përsëri në modalitetin e prodhimit, duhet të kyçësh ngarkuesin e fillimit të pajisjes. Ky veprim do ta rivendosë pajisjen në gjendje fabrike dhe do ta restaurojë te cilësimet e prodhimit. Pasi pajisja të niset me sukses në Android, çaktivizo shkyçjen e OEM-së tek \"Opsionet e zhvilluesit\". Nëse pajisja nuk arrin të niset në Android ose është e paqëndrueshme, riinstalo në pajisje imazhet më të fundit të fabrikës nga <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ose përdor <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> dhe zgjidh \"Pastro pajisjen\", \"Kyç ngarkuesin e fillimit\" dhe \"Riinstalo me forcë të gjitha ndarjet\"."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Po përdor modalitetin 16 KB të pavarësisë nga madhësia e faqes"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Je në modalitetin 16 KB të modalitetit të pavarësisë nga madhësia e faqes. Integriteti i softuerit nuk mund të garantohet në këtë modalitet dhe mund të rrezikohet çdo e dhënë e ruajtur në telefon kur ngarkuesi i fillimit është i shkyçur. Disa veçori do të çaktivizohen në këto modalitete, kështu që disa aplikacione mund të mos funksionojnë. Për të hyrë përsëri në modalitetin e prodhimit, duhet të kthehesh përsëri në modalitetin 4 KB dhe më pas të kyçësh ngarkuesin e fillimit të pajisjes. Trokit për të lexuar më shumë."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Je në modalitetin 16 KB të modalitetit të pavarësisë nga madhësia e faqes. Integriteti i softuerit nuk mund të garantohet në këtë modalitet dhe mund të rrezikohet çdo e dhënë e ruajtur në telefon kur ngarkuesi i fillimit është i shkyçur. Disa veçori do të çaktivizohen në këto modalitete, kështu që disa aplikacione mund të mos funksionojnë. Për të hyrë përsëri në modalitetin e prodhimit, duhet të kthehesh përsëri në modalitetin 4 KB dhe më pas të kyçësh ngarkuesin e fillimit të pajisjes. Ky veprim do ta rivendosë pajisjen në gjendje fabrike dhe do ta restaurojë te cilësimet e prodhimit. Pasi pajisja të niset me sukses në Android, çaktivizo shkyçjen e OEM-së tek \"Opsionet e zhvilluesit\". Nëse pajisja nuk arrin të niset në Android ose është e paqëndrueshme, riinstalo në pajisje imazhet më të fundit të fabrikës nga <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ose përdor <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> dhe zgjidh \"Pastro pajisjen\", \"Kyç ngarkuesin e fillimit\" dhe \"Riinstalo me forcë të gjitha ndarjet\"."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Je në modalitetin 16 KB të modalitetit të pavarësisë nga madhësia e faqes. Integriteti i softuerit nuk mund të garantohet në këtë modalitet dhe mund të rrezikohet çdo e dhënë e ruajtur në telefon kur ngarkuesi i fillimit është i shkyçur. Disa veçori do të çaktivizohen në këto modalitete, kështu që disa aplikacione mund të mos funksionojnë. Për të hyrë përsëri në modalitetin e prodhimit, duhet të kthehesh përsëri në modalitetin 4 KB dhe më pas të kyçësh ngarkuesin e fillimit të pajisjes. Trokit për të lexuar më shumë."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Je në modalitetin 16 KB të modalitetit të pavarësisë nga madhësia e faqes. Integriteti i softuerit nuk mund të garantohet në këtë modalitet dhe mund të rrezikohet çdo e dhënë e ruajtur në telefon kur ngarkuesi i fillimit është i shkyçur. Disa veçori do të çaktivizohen në këto modalitete, kështu që disa aplikacione mund të mos funksionojnë. Për të hyrë përsëri në modalitetin e prodhimit, duhet të kthehesh përsëri në modalitetin 4 KB dhe më pas të kyçësh ngarkuesin e fillimit të pajisjes. Ky veprim do ta rivendosë pajisjen në gjendje fabrike dhe do ta restaurojë te cilësimet e prodhimit. Pasi pajisja të niset me sukses në Android, çaktivizo shkyçjen e OEM-së tek \"Opsionet e zhvilluesit\". Nëse pajisja nuk arrin të niset në Android ose është e paqëndrueshme, riinstalo në pajisje imazhet më të fundit të fabrikës nga <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> ose përdor <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> dhe zgjidh \"Pastro pajisjen\", \"Kyç ngarkuesin e fillimit\" dhe \"Riinstalo me forcë të gjitha ndarjet\"."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Modaliteti 16 KB i pavarësisë nga madhësia e faqes"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Lexo më shumë"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Administruesi i raportit të defekteve në kod"</string>
@@ -5007,7 +5079,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Përdor gozhdimin e aplikacionit"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Përdor opsionet e zhvilluesit"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Përdor shërbimin e printimit"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Lejo disa përdorues"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"lejo, disa, përdorues, leje, shumë"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"disa, përdorues, profile, persona, llogari, shumë"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Përdor korrigjimin përmes Wi-Fi"</string>
@@ -5121,8 +5194,12 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Zgjidh se çfarë do të shohësh në ekranin tënd kur tableti të jetë lidhur me stacionin. Pajisja jote mund të përdorë më shumë energji kur përdoret një mbrojtës ekrani."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Personalizo"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Të personalizosh <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Kërkohet të rindizet për të aktivizuar mbështetjen në formë të lirë."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Kërkohet të rindizet për të detyruar modalitetin e desktopit në ekranet dytësore."</string>
+ <!-- no translation found for reboot_dialog_enable_freeform_support (5526979569538289810) -->
+ <skip />
+ <!-- no translation found for reboot_dialog_override_desktop_mode (1557714416232280288) -->
+ <skip />
+ <!-- no translation found for reboot_dialog_force_desktop_mode (3647484086248450029) -->
+ <skip />
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Rindize tani"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Rindize më vonë"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Audio hapësinore"</string>
@@ -5351,4 +5428,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Dëgjo transmetimin"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Skano një kod QR të transmetimit audio për të dëgjuar me <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Fjalëkalimi nuk mund të modifikohet gjatë ndarjes. Për të ndryshuar fjalëkalimin, në fillim çaktivizo ndarjen e audios."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-sr/arrays.xml b/res/values-sr/arrays.xml
index 3b5400e..c85ed85 100644
--- a/res/values-sr/arrays.xml
+++ b/res/values-sr/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Време за спавање"</item>
+ <item msgid="4152450357280759894">"Вожња"</item>
+ <item msgid="7096549258219399423">"Имерзивно"</item>
+ <item msgid="2760716776980432977">"Управљано"</item>
+ <item msgid="601734478369121764">"Звезда"</item>
+ <item msgid="6243809315432780521">"Календар"</item>
+ <item msgid="4913577903148415331">"Време"</item>
+ <item msgid="3653377604690057780">"Позориште"</item>
+ <item msgid="3843711267408385410">"Цвет"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 0f15aa8..dd03127 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Подешавања слушног апарата"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Пречица, компатибилност са слушним апаратима"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Задата подешавања"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Не постоје задата подешавања која је програмирао аудиолог"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Ажурирање задатих подешавања није успело"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Аудио излаз"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"О аудио излазу"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Додати су лице и <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Додати су лице, отисак прста и <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Додати су лице, отисци прстију и <xliff:g id="WATCH">%s</xliff:g>"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"То је потребно јер је укључена провера идентитета"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Откључавање уз Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Сат је додат"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Подесите сат"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Сазнајте више о откључавању сата"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Додај сат"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Уклони сат"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Отисак прста и откључавање лицем"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Откључавање лицем и отиском прста"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Откључавање лицем и отиском прста за посао"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Треба да подесите"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Лице и отисци прста су додати"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Инсталирајте апликације"</b>\n"Апликације за које желите да буду приватне инсталирајте у простору"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Имајте на уму"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Апликације се заустављају када закључате простор"</b>\n"Када закључате простор, апликације у њему се заустављају и не шаљу вам обавештења"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Приватни простори нису погодни за апликације које треба да раде у позадини или шаљу важна обавештења, попут медицинских апликација. Разлог је то што се обавештења и активности у позадини заустављају када је простор закључан.\n\nАпликације у приватном простору се неће приказивати у менаџеру дозвола, на контролној табли за приватност ни у другим подешавањима када је приватан простор закључан.\n\nПриватан простор не можете да преместите на нови уређај. Морате да подесите други приватан простор ако желите да га користите на другом уређају.\n\nСвако ко ваш уређај повеже са рачунаром или на њега инсталира штетне апликације, моћи ће да приступи вашем приватном простору."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Приватни простори нису погодни за апликације које треба да раде у позадини или шаљу важна обавештења, попут медицинских апликација. Разлог је то што се обавештења и активности у позадини заустављају када је простор закључан.\n\nАпликације у приватном простору се неће приказивати у менаџеру дозвола, на контролној табли за приватност ни у другим подешавањима када је приватан простор закључан.\n\nПриватан простор не можете да вратите на нови уређај. Морате да подесите други простор ако желите да га користите на другом уређају.\n\nСвако ко ваш уређај повеже са рачунаром или на њега инсталира злонамерне апликације, моћи ће да приступи вашем приватном простору."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Сазнајте више о приватном простору"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Потрајаће неколико тренутака"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Подешава се приватни простор…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Желите да рестартујете уређај?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"NFC евидентирање детаља је намењено само у сврхе програмирања. Додатни NFC подаци уврштени су у извештаје о грешкама, који могу да садрже приватне податке. Рестартујте уређај да бисте променили ово подешавање."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Рестартуј"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Пребацивање"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"пресликати"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Омогући бежични приказ"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Прилагодљиво"</string>
<string name="brightness" msgid="6216871641021779698">"Ниво осветљености"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Прилагодљива осветљеност"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"О приладољивој осветљености"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Осветљеност екрана ће се аутоматски прилагођавати окружењу и активностима. Можете ручно да померате клизач да би прилагодљиво подешавање осветљености научило шта вам одговара."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Укључено"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Искључено"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Опције"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Приступачност"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Физичка тастатура"</string>
- <string name="show_ime" msgid="4334255501724746849">"Користи тастатуру на екрану"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Задржава се на екрану док је физичка тастатура активна"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Дужи одзив тастера"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Тастатура занемарује брзе притиске истог тастера који се понављају у року од <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Спори тастери"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Изабрао је корисник: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Говор"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Брзина показивача"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Контролер за игре"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Преусмери вибрацију"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Преусмери вибрацију на контролер за игре када је повезан"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Ипак настави"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Откажи"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Подешавања увећања"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Померање једним прстом"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Померите лупу 1 прстом"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Превлачите 1 прст за кретање по екрану"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Померајте област за увећање превлачењем једног прста."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Померајте област за увећање превлачењем два прста."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Није доступно када се увећава само део екрана"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Додирните дугме да бисте зумирали"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Брзо увећајте екран да би садржај био већи"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Да бисте увећали:</b><br/> {0,number,integer}. Користите пречицу да бисте покренули увећање<br/> {1,number,integer}. Додирните екран<br/> {2,number,integer}. Превлачите помоћу 2 прста да бисте се кретали по екрану<br/> {3,number,integer}. Скупите 2 прста да бисте прилагодили зумирање<br/> {4,number,integer}. Користите пречицу да бисте зауставили увећање<br/><br/> <b>Да бисте привремено увећали:</b><br/> {0,number,integer}. Уверите се да је тип увећања подешен на цео екран<br/> {1,number,integer}. Користите пречицу да бисте покренули увећање<br/> {2,number,integer}. Додирните и задржите било који део екрана<br/> {3,number,integer}. Превлачите прст да бисте се кретали по екрану<br/> {4,number,integer}. Подигните прст да бисте зауставили увећање"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Да бисте увећали:</b><br/> {0,number,integer}. Користите пречицу да бисте покренули увећање<br/> {1,number,integer}. Додирните екран<br/> {2,number,integer}. Превлачите помоћу 2 прста да бисте се кретали по екрану<br/> {3,number,integer}. Скупите 2 прста да бисте прилагодили зумирање<br/> {4,number,integer}. Користите пречицу да бисте зауставили увећање<br/><br/> Можете привремено да зумирате и друго."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Да бисте увећали:</b><br/> {0,number,integer}. Користите пречицу да бисте покренули увећање<br/> {1,number,integer}. Додирните екран<br/> {2,number,integer}. Превлачите 1 или 2 прста да бисте се кретали по екрану <br/> {3,number,integer}. Скупите 2 прста да бисте прилагодили зумирање<br/> {4,number,integer}. Користите пречицу да бисте зауставили увећање<br/><br/> Можете привремено да зумирате и друго."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Када је увећање укључено, можете да увећате екран.\n\n"<b>"Да бисте зумирали"</b>", покрените увећање, па додирните било који део екрана.\n"<ul><li>"Превлачите помоћу 2 или више прстију да бисте померали приказ"</li>\n<li>"Скупите 2 или више прстију да бисте прилагодили зумирање"</li></ul>\n\n<b>"За привремено зумирање"</b>" покрените увећање, па додирните и задржите било који део екрана.\n"<ul><li>"Превлачите да бисте се кретали по екрану"</li>\n<li>"Подигните прст да бисте умањили приказ"</li></ul>\n\n"Не можете да увећавате тастатуру или траку за навигацију."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g>. страница од <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Пречица за дугме Приступачност"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Добијајте обавештења само од важних особа и апликација"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Изаберите тип активирања"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Време"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"На пример „9:30–17:00“"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Календар"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"На пример „Лични календар“"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Направите режим"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Прилагођено"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ограничите прекиде"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Укључите режим Не узнемиравај"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Звукови аларма и медија могу да прекину"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Распореди"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Избриши распореде"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Избриши"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Измени"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Распореди"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Распоред"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Подесите распоред"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Распоред"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> с, <xliff:g id="MINUTES">%2$d</xliff:g> мин"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Аутоматски укључи"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Распоред"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Утишајте телефон у одређено време"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Подесите правила за режим „Не узнемиравај“"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Омогућите прекиде који производе звук"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Блокирај визуелна ометања"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Дозволи визуелне сигнале"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Обавештења која дозвољавате"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Будите присутни"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Додатне радње"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Подешавања приказа"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Опције приказа"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"омогући тамну тему"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Пребаците ОС и апликације на светао текст на тамној позадини. То може да буде лакше за очи и доводи до знатне уштеде батерије на неким уређајима"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Нема промена екрана}=1{{effect_1}}=2{{effect_1} и {effect_2}}=3{{effect_1}, {effect_2} и {effect_3}}one{{effect_1}, {effect_2} и још #}few{{effect_1}, {effect_2} и још #}other{{effect_1}, {effect_2} и још #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Филтрирај прекиде"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Ниједан прекид се не филтрира"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Опције приказа за филтрирана обавештења"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Када је укључен режим Не узнемиравај"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Без звучног сигнала за обавештења"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"отварање обавештења"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Омогући одлагање обавештења"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Тачка за обавештења на икони апликације"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Скупови обавештења"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Облачићи"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Облачићи"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Прикажи ову конверзацију у облачићу"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Категорије"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Другo"</string>
<string name="no_channels" msgid="4716199078612071915">"Ова апликација није поставила ниједно обавештење"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Прикажи некоришћене категорије"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Додатна подешавања у апликацији"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Прикажи некоришћене категорије"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Сакриј некоришћене категорије"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Све"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Дозволи да апликације занемарују"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Апликације које могу да прекидају"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Изаберите још апликација"</string>
@@ -4284,7 +4346,7 @@
<string name="system_navigation_title" msgid="4890381153527184636">"Режим навигације"</string>
<string name="swipe_up_to_switch_apps_title" msgid="6677266952021118342">"Навигација помоћу 2 дугмета"</string>
<string name="swipe_up_to_switch_apps_summary" msgid="1415457307836359560">"Да бисте прешли са једне апликације на другу, превуците нагоре на дугмету Почетак. Да бисте видели све апликације, поново превуците нагоре. Да бисте се вратили, додирните дугме Назад."</string>
- <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Безбедност и хитни случајеви"</string>
+ <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Лична безбедност и хитни случајеви"</string>
<string name="emergency_dashboard_summary" msgid="401033951074039302">"Хитна помоћ, медицинске информације, обавештења"</string>
<string name="edge_to_edge_navigation_title" msgid="714427081306043819">"Навигација помоћу покрета"</string>
<string name="edge_to_edge_navigation_summary" msgid="818109176611921504">"Да бисте отишли на почетни екран, превуците нагоре од дна екрана. Да бисте прешли са једне апликације на другу, превуците нагоре од дна екрана, задржите, па пустите. Да бисте се вратили назад, превуците од леве или десне ивице."</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Футрола"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Батерија"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Табла са подешавањима"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Наметни режим рачунара"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Намеће експериментални режим рачунара на секундарним екранима"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Омогући прозоре произвољног формата"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Омогућава подршку за прозоре произвољног формата."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Омогући прозоре произвољног формата на 2. екрану"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Омогућава прозоре произвољног формата само на секундарном екрану."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Омогући апликације непромењиве величине у више прозора"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Омогућава да апликације непромењиве величине буду у више прозора"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Замени функцију наметања тамне теме"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Да би овај уређај могао да користи опцију за програмера од 16 kB, његова партиција података треба да се конвертује у ext4. У овом режиму не може да се гарантује интегритет софтвера, па подаци који сe чувају на телефону док је покретачки програм откључан могу да буду угрожени. Активирање опције од 16 kB захтева још једно рестартовање. Када будете у овом режиму, моћи ћете да прелазите са режима од 4 kB на режим од 16 kB и обратно уз једно рестартовање. Неке функције су онемогућене у овим режимима, што значи да неке апликације можда неће радити. Да бисте уређај вратили на производни режим, треба да га вратите на режим од 4 kB и закључате покретачки програм, чиме ће се уређај ресетовати на фабричка подешавања. Када се на уређају укључи Android, онемогућите OEM откључавање у Опцијама за програмера. Уређај ће после потврде бити обрисан, а систем фајлова промењен на ext4. Када се то заврши, вратите се овде да бисте поново омогућили режим од 16 kB."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Обриши све податке"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Реформатирање и брисање партиције података на ext4 није успело."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Треба да откључате покретачки програм да бисте користили 16 KB режим"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Треба да откључате покретачки програм"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Да би овај уређај могао да користи опцију за програмера од 16 kB, на њему треба да буде откључан покретачки програм. У овом режиму не може да се гарантује интегритет софтвера, па могу бити угрожени подаци који сe чувају на телефону док је покретачки програм откључан. Када се активира режим од 16 kB, сви подаци и подешавања корисника ће бити избрисани. Када се покретачки програм откључа, активирање опције од 16 kB захтева два рестартовања. Када будете у овом режиму, моћи ћете да прелазите са режима од 4 kB на режим од 16 kB и обратно уз једно рестартовање. Неке функције су онемогућене у овим режимима, што значи да неке апликације можда неће радити. Да бисте уређај вратили на производни режим, треба да га вратите на режим од 4 kB и закључате OEM или покретачки програм на уређају (што ће га ресетовати на фабричка подешавања). Откључајте покретачки програм и пробајте поново. Упутства како то да урадите потражите на <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Користите режим од 4 kB независан од величине странице"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Користите режим од 4 kB у оквиру режима независног од величине странице. У овом режиму не може да се гарантује интегритет софтвера, па подаци који сe чувају на телефону док је покретачки програм откључан могу да буду угрожени. Неке функције су онемогућене у овим режимима, што значи да неке апликације можда неће радити. Да бисте уређај поново вратили у производни режим, морате да закључате покретачки програм уређаја. Додирните да бисте прочитали више."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Користите режим од 4 kB у оквиру режима независног од величине странице. У овом режиму не може да се гарантује интегритет софтвера, па могу бити угрожени подаци који сe чувају на телефону док је покретачки програм откључан. Неке функције су онемогућене у овим режимима, што значи да неке апликације можда неће радити. Да бисте уређај поново вратили у производни режим, морате да закључате покретачки програм уређаја. То ће поново ресетовати уређај на фабричка подешавања и вратити га на производна подешавања. Када се на уређају укључи Android, онемогућите OEM откључавање у Опцијама за програмера. Ако је уређај нестабилан или се на њему не укључи Android, поново га флешујте користећи најновије слике са фабричким подешавањима са <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>. Можете и да користите <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> и изаберете Обриши уређај, Закључај покретачки програм и Принудно флешуј све партиције."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Користите режим од 16 kB независан од величине странице"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Користите режим од 16 kB у оквиру режима независног од величине странице. У овом режиму не може да се гарантује интегритет софтвера, па подаци који сe чувају на телефону док је покретачки програм откључан могу да буду угрожени. Неке функције су онемогућене у овим режимима, што значи да неке апликације можда неће радити. Да бисте уређај поново вратили у производни режим, морате да га вратите на режим од 4 kB и закључате покретачки програм уређаја. Додирните да бисте прочитали више."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Користите режим од 16 kB у оквиру режима независног од величине странице. У овом режиму не може да се гарантује интегритет софтвера, па подаци који сe чувају на телефону док је покретачки програм откључан могу да буду угрожени. Неке функције су онемогућене у овим режимима, што значи да неке апликације можда неће радити. Да бисте уређај поново вратили у производни режим, морате да га вратите на режим од 4 kB и закључате покретачки програм уређаја. То ће поново ресетовати уређај на фабричка подешавања и вратити га на производна подешавања. Када се на уређају укључи Android, онемогућите OEM откључавање у Опцијама за програмера. Ако је уређај нестабилан или се на њему не укључи Android, поново га флешујте користећи најновије слике са фабричким подешавањима са <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>. Можете и да користите <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> и изаберете Обриши уређај, Закључај покретачки програм и Принудно флешуј све партиције."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Користите режим од 16 KB у оквиру режима независног од величине странице. У овом режиму не може да се гарантује интегритет софтвера, па могу бити угрожени подаци који сe чувају на телефону док је покретачки програм откључан. Неке функције су онемогућене у овим режимима, што значи да неке апликације можда неће радити. Да бисте уређај поново вратили у производни режим, морате да га вратите на режим од 4 KB и закључате покретачки програм уређаја. Додирните да бисте прочитали више."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Користите режим од 16 KB у оквиру режима независног од величине странице. У овом режиму не може да се гарантује интегритет софтвера, па могу бити угрожени подаци који сe чувају на телефону док је покретачки програм откључан. Неке функције су онемогућене у овим режимима, што значи да неке апликације можда неће радити. Да бисте уређај поново вратили у производни режим, морате да га вратите на режим од 4 KB и закључате покретачки програм уређаја. То ће поново ресетовати уређај на фабричка подешавања и вратити га на производна подешавања. Када се на уређају укључи Android, онемогућите OEM откључавање у Опцијама за програмера. Ако је уређај нестабилан или се на њему не укључи Android, поново га флешујте користећи најновије слике са фабричким подешавањима са <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>. Можете и да користите <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> и изаберете Обриши уређај, Закључај покретачки програм и Принудно флешуј све партиције."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Режим од 16 kB независан од величине странице"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Прочитајте више"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Обрађивач извештаја о грешци"</string>
@@ -5008,7 +5072,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Користи качење апликација"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Користи опције за програмере"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Користи услугу штампања"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Дозволи више корисника"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"омогућити, више, корисник, дозволити, много"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"више, корисници, профили, људи, налози, промена, велики број"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Користи бежично отклањање грешака"</string>
@@ -5122,8 +5187,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Изаберите шта ћете видети на екрану када је таблет на базној станици. Уређај може да троши више енергије када се користи чувар екрана."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Прилагоди"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Прилагодите <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Морате да рестартујете да бисте омогућили подршку за слободан облик."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Морате да рестартујете да бисте принудно омогућили режим за рачунаре на секундарним екранима."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Морате да рестартујете да бисте омогућили подршку за застареле прозоре произвољног формата."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Морате да рестартујете да бисте променили подршку за прозоре произвољног формата."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Морате да рестартујете да бисте принудно омогућили прозоре произвољног формата на секундарном екрану."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Рестартуј"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Рестартуј касније"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Просторни звук"</string>
@@ -5352,4 +5418,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Слушајте стрим"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Скенирајте QR кôд аудио стрима да бисте слушали помоћу: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Лозинка не може да се мења током дељења. Да бисте променили лозинку, прво искључите дељење звука."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-sv/arrays.xml b/res/values-sv/arrays.xml
index fcb9b8c..8a6fb94 100644
--- a/res/values-sv/arrays.xml
+++ b/res/values-sv/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Läggdags"</item>
+ <item msgid="4152450357280759894">"Körläge"</item>
+ <item msgid="7096549258219399423">"Uppslukande"</item>
+ <item msgid="2760716776980432977">"Hanterade"</item>
+ <item msgid="601734478369121764">"Stjärna"</item>
+ <item msgid="6243809315432780521">"Kalender"</item>
+ <item msgid="4913577903148415331">"Tid"</item>
+ <item msgid="3653377604690057780">"Teater"</item>
+ <item msgid="3843711267408385410">"Blomma"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index e1186f7..89fca7b 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Inställningar för hörapparat"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Genväg, kompatibilitet med hörapparat"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Förinställning"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Inga förinställningar har gjorts av din audionom"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Det gick inte att uppdatera förinställningen"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Ljudutgång"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Om ljudutgång"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Ansikte och <xliff:g id="WATCH">%s</xliff:g> har lagts till"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Ansikte, fingeravtryck och <xliff:g id="WATCH">%s</xliff:g> har lagts till"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Ansikte, fingeravtryck och <xliff:g id="WATCH">%s</xliff:g> har lagts till"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Detta behövs eftersom identitetskontroll är på"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Upplåsning med fjärrverifierare"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Klockan har lagts till"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Konfigurera klockan"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Läs mer om upplåsning med klockan"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Lägg till klocka"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Ta bort klockan"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Fingeravtryck och ansiktslås"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Ansikts- och fingeravtryckslås"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ansikts- och fingeravtryckslås för jobbprofilen"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Konfigurering krävs"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Ansikte och fingeravtryck har lagts till"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Installera appar"</b>\n"Installera appar som du vill hålla privata i området"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Viktigt att tänka på"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Appar stoppas när du låser ditt privata område"</b>\n"När du låser ditt privata område stoppas apparna i området och du får inga aviseringar från dem"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Privata områden lämpar sig inte för appar som måste köras i bakgrunden eller skicka viktig information, till exempel medicinska appar. Detta beror på att aviseringar och aktivitet i bakgrunden stoppas när du låser området.\n\nAppar som finns i ditt privata område visas inte i behörighetshanteraren, på integritetsöversikten eller i andra inställningar när området är låst.\n\nDet går inte att flytta ditt privata område till en ny enhet. Du måste ställa in ett nytt privat område om du vill använda det på en annan enhet.\n\nAlla som ansluter din enhet till en dator eller installerar skadliga appar på enheten kanske kan få åtkomst till ditt privata område."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Privata områden lämpar sig inte för appar som måste köras i bakgrunden eller skicka viktig information, till exempel medicinska appar. Detta beror på att aviseringar och aktivitet i bakgrunden stoppas när du låser området.\n\nAppar som finns i ditt privata område visas inte i behörighetshanteraren, på integritetsöversikten eller i andra inställningar när området är låst.\n\nDet går inte att återställa ditt privata område på en ny enhet. Du måste ställa in ett nytt område om du vill använda det på en annan enhet.\n\nOm någon ansluter din enhet till en dator eller installerar skadliga appar på enheten kan det hända att hen får åtkomst till ditt privata område."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Läs mer om privat område"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Detta tar en stund"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Ställer in privat område …"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Vill du starta om enheten?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Detaljerad NFC-loggning är endast avsedd för utvecklingssyfte. Ytterligare NFC-data ingår i felrapporterna, vilka kan innehålla privata uppgifter. Starta om enheten för att ändra den här inställningen."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Starta om"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Casta"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"spegling"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Aktivera wifi-skärmdelning"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Anpassade"</string>
<string name="brightness" msgid="6216871641021779698">"Ljusstyrka"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Anpassad ljusstyrka"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Om anpassad ljusstyrka"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Skärmens ljusstyrka justeras automatiskt efter miljö och aktivitet. Du kan träna Anpassad ljusstyrka med dina egna inställningar genom att flytta reglaget manuellt."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"På"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Av"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Alternativ"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Tillgänglighet"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Fysiskt tangentbord"</string>
- <string name="show_ime" msgid="4334255501724746849">"Använd skärmtangentbord"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Ha kvar det på skärmen när det fysiska tangentbordet används"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Studsande tangenter"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Tangentbordet ignorerar snabbt upprepade tryck på samma tangent inom <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Långsamma tangenter"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Användaren valde <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Tal"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Markörens hastighet"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Spelkontroller"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Omdirigera vibration"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Styr vibrationer till spelkontrollen när en sådan är ansluten"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Fortsätt ändå"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Avbryt"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Inställningar för förstoring"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Panorering med ett finger"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Flytta förstoringsglaset med ett finger"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Navigera på skärmen: dra med ett finger."</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Flytta förstoringsområdet genom att dra med ett finger."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Flytta förstoringsområdet genom att dra med två fingrar."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Inte tillgänglig när bara förstoringsdelen av skärmen visas"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tryck på en knapp för att zooma"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Zooma in snabbt så att innehåll på skärmen förstoras"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Så här zoomar du in:</b><br/> {0,number,integer}. Starta förstoring med genvägen<br/> {1,number,integer}. Tryck på skärmen<br/> {2,number,integer}. Navigera på skärmen genom att dra med två fingrar<br/> {3,number,integer}. Nyp med två fingrar för att justera zoomnivån<br/> {4,number,integer}. Stoppa förstoringen med genvägen<br/><br/> <b>Så här zoomar du in tillfälligt:</b><br/> {0,number,integer}. Kontrollera att förstoringstyp är inställd som helskärm<br/> {1,number,integer}. Starta förstoring med genvägen<br/> {2,number,integer}. Tryck länge var som helst på skärmen<br/> {3,number,integer}. Navigera på skärmen genom att dra med fingret<br/> {4,number,integer}. Stoppa förstoringen genom att lyfta fingret"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Så här zoomar du in:</b><br/> {0,number,integer}. Starta förstoring med kortkommando<br/> {1,number,integer}. Tryck på skärmen<br/> {2,number,integer}. Navigera på skärmen genom att dra med två fingrar<br/> {3,number,integer}. Nyp med två fingrar för att justera zoomnivån<br/> {4,number,integer}. Stoppa förstoring med kortkommando<br/><br/> Du kan även zooma in tillfälligt med mera."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Så här zoomar du in:</b><br/> {0,number,integer}. Starta förstoring med kortkommando<br/> {1,number,integer}. Tryck på skärmen<br/> {2,number,integer}. Navigera på skärmen genom att dra med ett finger eller två fingrar<br/> {3,number,integer}. Nyp med två fingrar för att justera zoomnivån<br/> {4,number,integer}. Stoppa förstoring med kortkommando<br/><br/> Du kan även zooma in tillfälligt med mera."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"När förstoring har aktiverats kan du zooma in på skärmen.\n\n"<b>"Om du vill zooma"</b>" aktiverar du förstoring och trycker var som helst på skärmen.\n"<ul><li>"Scrolla genom att dra med minst två fingrar."</li>\n<li>"Justera zoomen genom att nypa med minst två fingrar."</li></ul>\n\n<b>"Om du vill zooma tillfälligt"</b>" aktiverar du förstoring och trycker länge var som helst på skärmen.\n"<ul><li>"Flytta runt på skärmen genom att dra."</li>\n<li>"Zooma ut genom att lyfta fingret."</li></ul>\n\n"Det går inte att zooma in på tangentbordet eller navigeringsfältet."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Sida <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> av <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Kortkommando med tillgänglighetsknappen"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Få bara aviseringar från viktiga personer och appar"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Välj aktiveringstyp"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Tid"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Exempel: 9.30–17.00"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Kalender"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Exempel: Personlig kalender"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Skapa ett läge"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Anpassa"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Begränsa antalet avbrott"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Aktivera Stör ej."</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarm och medieljud får avbryta"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Scheman"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Radera scheman"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Radera"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Redigera"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Scheman"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Schema"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Lägg till en kalender"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Använd kalendern"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Schemalägg"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Ställ in ett schema"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Schemalägg"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> h, <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Aktivera automatiskt"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Schemalägg"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Stäng av mobilljud vid vissa tider"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Ange regler för Stör ej"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Tillåt avbrott med ljud"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blockera synliga störningar"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Tillåt synliga signaler"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Aviseringar som kan nå dig"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Håll ett öga på omgivningen"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Fler åtgärder"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Visningsinställningar"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Skärmalternativ"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"aktivera mörkt tema"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Ändra så att operativsystemet och apparna föredrar ljus text på en mörk bakgrund, vilket kan vara snällare för ögonen och gör så att batteriet sparas på vissa enheter."</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Inga skärmändringar}=1{{effect_1}}=2{{effect_1} och {effect_2}}=3{{effect_1}, {effect_2} och {effect_3}}other{{effect_1}, {effect_2} och # till}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Filtrera avbrott"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Inga avbrott filtreras"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Skärmalternativ för filtrerade aviseringar"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"När Stör ej har aktiverats"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Aviseringar hörs inte"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"öppna avisering"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Tillåt att aviseringar snoozas"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Aviseringsprick på appikonen"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Aviseringspaket"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Bubblor"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubblor"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Visa en bubbla för konversationen"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Kategorier"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Övrigt"</string>
<string name="no_channels" msgid="4716199078612071915">"Den här appen har inte skickat några aviseringar"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Visa oanvända kategorier"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Fler inställningar i appen"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Visa oanvända kategorier"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Dölj oanvända kategorier"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Alla"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Tillåt att appar åsidosätter funktionen"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Appar som får störa dig"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Välj fler appar"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Ändra till endast alarm i en timme tills {time}}other{Ändra till endast alarm i # timmar tills {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Ändra till endast alarm fram till kl. <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Ändra till avbryt alltid"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Byt namn"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Ändra ikon"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Ändra ikon"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Varning"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Stäng"</string>
<string name="device_feedback" msgid="5351614458411688608">"Skicka feedback om den här enheten"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Fodral"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batteri"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Panelen Inställningar"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Tvinga fram skrivbordsläge"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Tvinga fram experimentellt skrivbordsläge på sekundära skärmar"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Aktivera frihandsfönster"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Aktivera stöd för frihandsfönster."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Aktivera frihandsfönster på en sekundär skärm"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Aktivera frihandsfönster på endast en sekundär skärm"</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Aktivera appar vars storlek inte kan ändras i flerfönsterläge"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Låter appar vars storlek inte kan ändras finnas i flerfönsterläge"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Åsidosätter tvingat mörkt läge"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Du måste konvertera enhetens datapartition till ext4 innan du använder utvecklaralternativet för 16 kB. Det går inte att garantera mjukvarans integritet i detta läge och all data som lagras på telefonen när starthanteraren är olåst kan vara i farozonen. Om du aktiverar 16 kB-alternativet måste du starta om en gång till efteråt. När läget är aktiverat kan du byta fram och tillbaka mellan 4 kB och 16 kB genom att starta om. En del funktioner inaktiveras i dessa lägen. Det kan innebära att vissa program inte fungerar. Om du vill återställa produktionsläget på enheten måste du byta tillbaka till 4 kB-läget och låsa starthanteraren. Enheten återställs då till standardinställningarna. När enheten startas med Android ska du inaktivera OEM-upplåsning i utvecklaralternativen. Enheten rensas och filsystemet ändras till ext4 när du har bekräftat. När det är klart kommer du tillbaka för att aktivera 16 kB igen."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Radera all data"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Det gick inte att formatera om och rensa datapartionen till ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Starthanteraren måste vara upplåst för 16 kB-läge"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Starthanteraren måste låsas upp"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Starthanteraren måste vara upplåst på den här enheten innan du kan använda utvecklaralternativet för 16 kB. Det går inte att garantera mjukvarans integritet i detta läge och all data som lagras på telefonen när starthanteraren är olåst kan vara i farozonen. Alla användaruppgifter och inställningar rensas när 16 kB-läget aktiveras. När starthanteraren har låsts upp krävs två omstarter för att aktivera 16 kB-alternativet. När läget är aktiverat kan du byta fram och tillbaka mellan 4 kB och 16 kB genom att starta om. En del funktioner inaktiveras i dessa lägen. Det kan innebära att vissa program inte fungerar. Om du vill återställa produktionsläget på enheten måste du byta tillbaka till 4 kB-läget och låsa OEM/starthanteraren. Enheten återställs då till standardinställningarna. Lås upp starthanteraren och försök igen. Du hittar anvisningar om hur du gör detta på <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"4 kB-versionen av det sidagnostiska läget används"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Du använder 4 kB-versionen av det sidagnostiska läget. Det går inte att garantera mjukvarans integritet i detta läge och all data som lagras på telefonen när starthanteraren är olåst kan vara i farozonen. En del funktioner inaktiveras i dessa lägen. Det kan innebära att vissa program inte fungerar. Om du vill återgå till produktionsläget måste du låsa starthanteraren på enheten. Tryck för att läsa mer."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Du använder 4 kB-versionen av det sidagnostiska läget. Det går inte att garantera mjukvarans integritet i detta läge och all data som lagras på telefonen när starthanteraren är olåst kan vara i farozonen. En del funktioner inaktiveras i dessa lägen. Det kan innebära att vissa program inte fungerar. Om du vill återgå till produktionsläget måste du låsa starthanteraren på enheten. Detta återställer enheten till produktionsinställningarna igen. När enheten startas med Android ska du inaktivera OEM-upplåsning i utvecklaralternativen. Om det inte går att starta enheten med Android eller om den inte är stabil flashar du om enheten med de senaste systemavbildningarna från <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> och väljer Rensa enhet, Lås starthanteraren och Tvångsflasha alla partitioner."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"16 kB-versionen av det sidagnostiska läget används"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Du använder 16 kB-versionen av det sidagnostiska läget. Det går inte att garantera mjukvarans integritet i detta läge och all data som lagras på telefonen när starthanteraren är olåst kan vara i farozonen. En del funktioner inaktiveras i dessa lägen. Det kan innebära att vissa program inte fungerar. Om du vill återgå till produktionsläget måste du byta tillbaka till 4 kB-läget och sedan låsa starthanteraren på enheten. Tryck för att läsa mer."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Du använder 16 kB-versionen av det sidagnostiska läget. Det går inte att garantera mjukvarans integritet i detta läge och all data som lagras på telefonen när starthanteraren är olåst kan vara i farozonen. En del funktioner inaktiveras i dessa lägen. Det kan innebära att vissa program inte fungerar. Om du vill återgå till produktionsläget måste du byta tillbaka till 4 kB-läget och sedan låsa starthanteraren på enheten. Detta återställer enheten till produktionsinställningarna igen. När enheten startas med Android ska du inaktivera OEM-upplåsning i utvecklaralternativen. Om det inte går att starta enheten med Android eller om den inte är stabil flashar du om enheten med de senaste systemavbildningarna från <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> och väljer Rensa enhet, Lås starthanteraren och Tvångsflasha alla partitioner."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Du använder 16 kB-versionen av det sidagnostiska läget. Det går inte att garantera mjukvarans integritet i detta läge och all data som lagras på telefonen när starthanteraren är olåst kan vara i farozonen. En del funktioner inaktiveras i dessa lägen. Det kan innebära att vissa program inte fungerar. Om du vill återgå till produktionsläget måste du byta tillbaka till 4 kB-läget och sedan låsa starthanteraren på enheten. Tryck för att läsa mer."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Du använder 16 kB-versionen av det sidagnostiska läget. Det går inte att garantera mjukvarans integritet i detta läge och all data som lagras på telefonen när starthanteraren är olåst kan vara i farozonen. En del funktioner inaktiveras i dessa lägen. Det kan innebära att vissa program inte fungerar. Om du vill återgå till produktionsläget måste du byta tillbaka till 4 kB-läget och sedan låsa starthanteraren på enheten. Detta återställer enheten till produktionsinställningarna igen. När enheten startas med Android ska du inaktivera OEM-upplåsning i utvecklaralternativen. Om det inte går att starta enheten med Android eller om den inte är stabil flashar du om enheten med de senaste systemavbildningarna från <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> och väljer Rensa enhet, Lås starthanteraren och Tvångsflasha alla partitioner."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16 kB-versionen av det sidagnostiska läget"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Läs mer"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Felrapportshanterare"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Använd fästa appar"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Använd utvecklaralternativ"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Använd utskriftstjänst"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Tillåt flera användare"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"tillåt, flera, användare, godkänn, många"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"flera, användare, profiler, personer, konton, byta, många"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Använd trådlös felsökning"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Välj vad som ska visas på skärmen när surfplattan har dockats. Energiförbrukningen kan öka när en skärmsläckare används."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Anpassa"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Anpassa <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Du måste starta om enheten för att aktivera stöd för flytande läge."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Du måste starta om enheten om du vill tvinga fram datorläge på sekundära skärmar."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Du måste starta om enheten för att aktivera stöd för äldre frihandsfönster."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Du måste starta om enheten för att ändra stödet för frihandsfönster."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Du måste starta om enheten för att tvinga frihandsfönster på sekundära skärmar."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Starta om nu"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Starta om senare"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Rumsligt ljud"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Lyssna på streamen"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Skanna QR-koden för en ljudstream om du vill lyssna med <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Det går inte att redigera lösenordet medan delning pågår. Om du vill byta lösenord måste du först stänga av ljuddelningen."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-sw/arrays.xml b/res/values-sw/arrays.xml
index 9b5084f..cd23759 100644
--- a/res/values-sw/arrays.xml
+++ b/res/values-sw/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Wakati wa kulala"</item>
+ <item msgid="4152450357280759894">"Kuendesha gari"</item>
+ <item msgid="7096549258219399423">"Kwa kina"</item>
+ <item msgid="2760716776980432977">"Inadhibitiwa"</item>
+ <item msgid="601734478369121764">"Nyota"</item>
+ <item msgid="6243809315432780521">"Kalenda"</item>
+ <item msgid="4913577903148415331">"Muda"</item>
+ <item msgid="3653377604690057780">"Ukumbi"</item>
+ <item msgid="3843711267408385410">"Ua"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 34b3e07..cbdbb39 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Mipangilio ya vifaa vya kusikilizia"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Njia ya mkato, uoanifu wa kifaa cha kusaidia kusikia"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Mipangilio iliyowekwa mapema"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Hakuna mipangilio iliyowekwa mapema na audiolojia wako"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Imeshindwa kusasisha mipangilio iliyowekwa mapema"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Vifaa vya kutoa sauti"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Kuhusu vifaa vya kutoa sauti"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Umeweka uso na <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Umeweka uso, alama ya kidole na <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Umeweka uso, alama za vidole na <xliff:g id="WATCH">%s</xliff:g>"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Hatua hii inahitajika kwa kuwa kipengele cha Kukagua Utambulisho kimewashwa"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Kufungua Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Saa imeoanishwa"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Weka mipangilio ya saa yako"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Pata maelezo zaidi kuhusu Kufungua Kupitia Saa"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Weka saa"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Ondoa saa"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Alama ya Kidole na Kufungua kwa Uso"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Kufungua kwa Alama ya Kidole na Uso"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Kazini: Kufungua kwa Uso na Alama ya Kidole"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Unahitaji kuweka mipangilio"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Uso na alama za vidole zimeongezwa"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Weka programu"</b>\n"Weka programu ambazo ungependa ziwe za faragha katika sehemu yako ya faragha"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Kumbuka"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Programu huacha kufanya kazi ukifunga sehemu yako ya faragha"</b>\n"Ukifunga sehemu yako ya faragha, programu zilizo katika sehemu hiyo zitaacha kufanya kazi na hazitakutumia arifa"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Sehemu za faragha hazifai kwa programu zinazohitaji kutumika chinichini au kutuma arifa muhimu, kama vile programu za matibabu. Hii ni kwa sababu arifa na shughuli za chinichini hukomeshwa wakati sehemu yako ya faragha imefungwa.\n\nProgramu zilizo kwenye sehemu yako ya faragha hazitaonekana kwenye kidhibiti cha ruhusa, dashibodi ya faragha na mipangilio mingine wakati sehemu yako ya faragha imefungwa.\n\nSehemu yako ya faragha haiwezi kuhamishiwa kwenye kifaa kipya. Utahitaji kuweka mipangilio ya sehemu nyingine ya faragha iwapo ungependa kuitumia kwenye kifaa kingine.\n\nYeyote anayeunganisha kifaa chako na kompyuta au anayeweka programu hatari kwenye kifaa chako huenda akafikia sehemu yako ya faragha."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Sehemu za faragha hazifai kwa programu zinazohitaji kutumika chinichini au kutuma arifa muhimu, kama vile programu za matibabu. Hii ni kwa sababu arifa na shughuli za chinichini hukomeshwa wakati sehemu yako imefungwa.\n\nProgramu zilizo kwenye sehemu yako ya faragha hazitaonekana kwenye kidhibiti cha ruhusa, dashibodi ya faragha na mipangilio mingine wakati sehemu ya faragha imefungwa.\n\nSehemu yako ya faragha haiwezi kurejeshwa kwenye kifaa kipya. Utahitaji kuweka mipangilio ya sehemu nyingine ya faragha iwapo ugependa kuitumia kwenye kifaa kingine.\n\nYeyote anayeunganisha kifaa chako na kompyuta au kuweka programu hasidi kwenye kifaa chako huenda akafikia sehemu yako ya faragha."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Pata maelezo kuhusu sehemu ya faragha"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Hatua hii itachukua dakika chache"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Inaweka mipangilio ya sehemu ya faragha…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Ungependa kuzima kisha uwashe kifaa?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Uwekaji maelezo ya kumbukumbu ya NFC ni kwa madhumuni ya usanidi pekee. Vilevile data ya NFC inajumuishwa katika ripoti za hitilafu ambazo huenda zikawa na taarifa ya faragha. Zima kisha uwashe kifaa chako ili ubadili mipangilio hii."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Zima kisha uwashe"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Tuma"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"kioo"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Washa kuonyesha skrini bila kutumia waya"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Inayojirekebisha"</string>
<string name="brightness" msgid="6216871641021779698">"Kiwango cha mwangaza"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Mwangaza unaojirekebisha"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Kuhusu mwangaza unaojirekebisha"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Itarekebisha mwangaza wa skrini kiotomatiki ili uendane na mazingira na shughuli zako. Unaweza kusogeza kitelezi mwenyewe ili kusaidia kipengele cha mwangaza unaojirekebisha kijifunze mapendeleo yako."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Umewashwa"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Kimezimwa"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Chaguo"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Ufikivu"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Kibodi halisi"</string>
- <string name="show_ime" msgid="4334255501724746849">"Tumia kibodi ya skrini"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Ionyeshe kwenye skrini wakati kibodi halisi inatumika"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Vitufe vinavyoduta"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Kibodi hupuuza vitendo vya kurudia kubonyeza kitufe kimoja haraka na mara nyingi ndani ya milisekunde <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g>"</string>
<string name="slow_keys" msgid="2891452895499690837">"Vitufe vya polepole"</string>
@@ -1923,7 +1952,7 @@
<string name="trackpad_bottom_right_tap_title" msgid="6275428879042702880">"Mguso wa chini kulia"</string>
<string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Gusa kona ya upande wa chini kulia wa padi ya kugusa kwa chaguo zaidi"</string>
<string name="trackpad_pointer_speed" msgid="7786579408631352625">"Kasi ya kiashiria"</string>
- <string name="pointer_fill_style" msgid="8413840032931637595">"Muundo wa kielekezi"</string>
+ <string name="pointer_fill_style" msgid="8413840032931637595">"Rangi ya kielekezi"</string>
<string name="pointer_fill_style_black_button" msgid="4540815366995820960">"Badilisha kielekezi kiwe cheusi"</string>
<string name="pointer_fill_style_green_button" msgid="3731413496528067979">"Badilisha kielekezi kiwe cha kijani"</string>
<string name="pointer_fill_style_yellow_button" msgid="5025969961559379024">"Badilisha kielekezi kiwe cha njano"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Uliochaguliwa na mtumiaji: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Kutamka"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Kasi ya kiashiria"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Kidhibiti cha Mchezo"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Elekeza mtetemo"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Elekeza mitetemo kwenye kidhibiti cha mchezo wakati kimeunganishwa"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Endelea tu"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Ghairi"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Mipangilio ya ukuzaji"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Kubuta kwa kidole kimoja"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Sogeza kikuzaji ukitumia kidole 1"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Buruta kidole 1 ili usogeze kwenye skrini"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Sogeza sehemu ya ukuzaji kwa kuburuta kwa kidole kimoja."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Sogeza sehemu ya ukuzaji kwa kuburuta kwa vidole viwili."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Haipatikani unapokuza tu sehemu fulani ya skrini"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Gusa kitufe ili ukuze"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Vuta karibu kwa haraka kwenye skrini ili ufanye maudhui yawe makubwa"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Ili uvute karibu:</b><br/> {0,number,integer}. Tumia njia ya mkato ili uanze kukuza<br/> {1,number,integer}. Gusa skrini<br/> {2,number,integer}. Buruta vidole viwili ili usogeze kwenye skrini<br/> {3,number,integer}. Bana kwa vidole viwili ili ubadilishe ukuzaji<br/> {4,number,integer}. Tumia njia ya mkato ili uache kukuza<br/><br/><b>Ili uvute karibu kwa muda:</b><br/> {0,number,integer}. Hakikisha umechagua aina ya ukuzaji kuwa skrini nzima<br/> {1,number,integer}. Tumia njia ya mkato ili uanze kukuza<br/> {2,number,integer}. Gusa na ushikilie mahali popote kwenye skrini<br/> {3,number,integer}. Buruta kidole ili usogeze kwenye skrini<br/> {4,number,integer}. Inua kidole ili uache kukuza"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Ili uvute karibu:</b><br/> {0,number,integer}. Tumia njia ya mkato ili uanze ukuzaji<br/> {1,number,integer}. Gusa skrini<br/> {2,number,integer}. Buruta vidole 2 ili usogeze kwenye skrini<br/> {3,number,integer}. Bana ukitumia vidole 2 ili ukuze vinginevyo<br/> {4,number,integer}. Tumia njia ya mkato ili uache kukuza<br/><br/> Unaweza pia kuvuta karibu kwa muda mfupi na zaidi."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Ili uvute karibu:</b><br/> {0,number,integer}. Tumia njia ya mkato ili uanze ukuzaji<br/> {1,number,integer}. Gusa skrini<br/> {2,number,integer}. Buruta kidole 1 au 2 ili usogeze kwenye skrini<br/> {3,number,integer}. Bana ukitumia vidole 2 ili ukuze vinginevyo<br/> {4,number,integer}. Tumia njia ya mkato ili uache kukuza<br/><br/> Unaweza pia kuvuta karibu kwa muda mfupi na zaidi."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Ukiwasha ukuzaji, unaweza kuvuta karibu kwenye skrini yako.\n\n"<b>"Ili ukuze"</b>", anzisha ukuzaji kisha uguse mahali popote kwenye skrini.\n"<ul><li>"Buruta vidole 2 au zaidi ili usogeze"</li>\n<li>"Bana vidole 2 au zaidi ili urekebishe ukuzaji"</li></ul>\n\n<b>"Ili ukuze kwa muda"</b>", anzisha ukuzaji kisha uguse na ushikilie mahali popote kwenye skrini.\n"<ul><li>"Buruta ili usogeze kwenye skrini"</li>\n<li>"Inua kidole ili usogeze mbali"</li></ul>\n\n"Huwezi kuvuta karibu kwenye kibodi au sehemu ya viungo muhimu."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Ukurasa wa <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> kati ya <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Njia ya mkato ya kitufe cha zana za ufikivu"</string>
@@ -2182,7 +2220,7 @@
<string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"Njia ya mkato kwenye skrini iliyofungwa"</string>
<string name="accessibility_shortcut_description" msgid="2184693606202133549">"Ruhusu kipengele cha njia ya mkato ya kufikia vipengele kiwake kwenye skrini iliyofungwa. Shikilia vitufe vyote viwili vya sauti kwa sekunde chache."</string>
<string name="accessibility_button_title" msgid="5251235485581552614">"Kitufe cha zana za ufikivu"</string>
- <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Ishara na kitufe cha zana za ufikivu"</string>
+ <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Usogezaji na vitufe vya zana za ufikivu"</string>
<string name="accessibility_button_intro_text" msgid="80993874471745687">"Fikia vipengele vya ufikivu kwa haraka kutoka kwenye skrini yoyote"</string>
<string name="accessibility_button_about_title" msgid="3581116105084067926">"Kuhusu kitufe cha zana za ufikivu"</string>
<string name="accessibility_button_gesture_about_title" msgid="8468987303602865536">"Kuhusu ishara na kitufe cha zana za ufikivu"</string>
@@ -2191,7 +2229,7 @@
<string name="accessibility_button_summary" msgid="8510939012631455831">"Fikia vipengele vya ufikivu haraka"</string>
<string name="accessibility_button_gesture_description" msgid="1141723096904904336">"<b>Ili uanze</b><br/> {0,number,integer}. Nenda kwenye mipangilio ya ufikivu<br/> {1,number,integer}. Teua kipengele kisha uguse njia ya mkato<br/> {2,number,integer}. Chagua ikiwa ungependa kutumia kitufe au ishara kufikia kipengele<br/>"</string>
<string name="accessibility_button_description" msgid="7669538706120092399">"<b>Ili uanze</b><br/> {0,number,integer}. Nenda kwenye mipangilio ya ufikivu<br/> {1,number,integer}. Teua kipengele kisha uguse njia ya mkato<br/> {2,number,integer}. Chagua kitufe ili ufikie kipengele<br/>"</string>
- <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Tumia ishara au kitufe"</string>
+ <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Tumia usogezaji au kitufe"</string>
<string name="accessibility_button_location_title" msgid="7182107846092304942">"Mahali"</string>
<string name="accessibility_button_size_title" msgid="5785110470538960881">"Ukubwa"</string>
<string name="accessibility_button_fade_title" msgid="8081993897680588829">"Fifia wakati hakitumiki"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Pata arifa za watu na programu muhimu pekee"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Chagua aina ya kuwezesha"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Muda"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"K.m. \"Saa 3:30 asubuhi hadi saa 11:00 jioni\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Kalenda"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"K.m. \"Kalenda binafsi\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Anzisha hali"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Maalum"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Punguza usumbufu"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Washa kipengele cha Usinisumbue"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Sauti za kengele na maudhui zinaweza kukatiza"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Ratiba"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Futa kanuni"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Futa"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Badilisha"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Ratiba"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Ratiba"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Weka kalenda"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Tumia kalenda yako"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Ratiba"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Weka ratiba"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Ratiba"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"Saa <xliff:g id="HOURS">%1$d</xliff:g>, dak <xliff:g id="MINUTES">%2$d</xliff:g>"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Washa kiotomatiki"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Ratibu"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Zima simu katika vipindi fulani"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Weka sheria za Usinisumbue"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Ruhusu ukatizwe na vipengele vinavyotoa sauti"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Zuia ukatizaji wa maonyesho"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Ruhusu ishara zinazoonekena"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Arifa zinazoweza kukufikia"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Kuwa makini"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Vitendo vya ziada"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Mipangilio ya kuonyesha"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Chaguo za kuonyesha"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"washa mandhari meusi"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Badili mfumo wa uendeshaji na programu uwe katika hali ya napendelea maandishi mepesi kwenye mandharinyuma meusi\", ambayo yanaweza kuonekana kwa urahisi na yanapelekea uokoaji mkubwa wa betri kwenye baadhi ya vifaa."</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Hakuna mabadiliko kwenye skrini}=1{{effect_1}}=2{{effect_1} na {effect_2}}=3{{effect_1}, {effect_2} na {effect_3}}other{{effect_1}, {effect_2} na # zaidi}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Chuja matukio ya kukatiza"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Hakuna matukio ya kukatiza yaliyochujwa"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Chaguo za kuonyesha arifa zilizochujwa"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Wakati umewasha kipengele cha Usinisumbue"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Arifa zisitoe sauti"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"fungua arifa"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Ruhusu uahirishaji wa arifa"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Kitone cha arifa kwenye aikoni ya programu"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Vifurushi vya arifa"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Viputo"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Viputo"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Yafanye mazungumzo haya yatoe viputo"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Aina"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Nyingine"</string>
<string name="no_channels" msgid="4716199078612071915">"Programu hii haijachapisha arifa zozote"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Onyesha aina ambazo hazijatumika"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Mipangilio ya ziada katika programu"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Onyesha aina zisizotumika"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Ficha aina zisizotumika"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Zote"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Ruhusu programu zibatilishe hali"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Programu zinazoweza kukatiza"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Chagua programu zaidi"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Badilisha utumie kengele pekee kwa saa moja hadi {time}}other{Badilisha utumie kengele pekee kwa saa # hadi {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Badilisha utumie kengele pekee hadi <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Badilisha utumie hali ya katiza wakati wote"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Badilisha jina"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Badilisha aikoni"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Badilisha aikoni"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Onyo"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Funga"</string>
<string name="device_feedback" msgid="5351614458411688608">"Tuma maoni kuhusu kifaa hiki"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Kipochi"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Betri"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Kidirisha cha Mipangilio"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Lazimisha hali ya eneo-kazi"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Lazimisha hali ya jaribio la eneo-kazi kwenye maonyesho yasiyo ya msingi"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Kuwasha madirisha yenye muundo huru"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Ruhusu matumizi ya madirisha yenye muundo huru."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Ruhusu matumizi ya madirisha yenye muundo huru kwenye skrini ya pili"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Ruhusu matumizi ya madirisha yenye muundo huru kwenye skrini ya pili pekee."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Ruhusu ukubwa usioweza kubadilishwa katika madirisha mengi"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Huruhusu programu zenye ukubwa usioweza kubadilishwa ziwe katika madirisha mengi"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Badilisha ulazimishaji wa mandhari meusi"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Sehemu ya data ya kifaa hiki inahitaji kugeuzwa kuwa ext4 kabla ya kutumia chaguo la wasanidi programu la KB 16. Hatuwezi kukuhakikishia uadilifu wa programu katika hali hii na huenda data yoyote iliyohifadhiwa kwenye simu wakati programu ya kuwasha mfumo wa uendeshaji imefunguliwa ikawa katika hatari. Hatua ya kuwasha chaguo la KB 16 itahitaji kifaa kiwashwe tena baada ya hatua hii. Ukiwa katika hali hii, unaweza kubadilisha kati ya hali za KB 4 na KB 16 kwa kuwasha tena kifaa. Baadhi ya vipengele vitazimwa katika hali hizi, kwa hivyo huenda baadhi ya programu zisifanye kazi. Ili urudishe kifaa kwenye hali ya toleo la umma, utahitaji kurudi kwenye hali ya KB 4 kisha ufunge programu ya kuwasha mfumo wa uendeshaji, hatua itakayorejesha mipangilio ambayo kifaa kilitoka nayo kiwandani. Baada ya kifaa kuwashwa katika Android, zima mipangilio ya kufungua OEM katika Chaguo za wasanidi programu. Data na mipangilio yote ya kifaa itafutwa na mfumo wa faili utabadilishwa kuwa ext4 baada ya uthibitishaji. Baada ya hili kukamilika, tafadhali rudi ili uwashe tena hali ya KB 16."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Futa data yote"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Imeshindwa kubadilisha muundo na kufuta sehemu ya data kuwa ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Unahitaji Kufungua Programu ya Kuwasha Mfumo wa Uendeshaji katika Hali ya KB 16"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Unahitaji Mbinu ya Kufungua Programu ya Kuwasha Mfumo wa Uendeshaji"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Kifaa hiki kinahitaji programu ya kuwasha mfumo wa uendeshaji ifunguliwe kabla ya kutumia chaguo la wasanidi programu la KB 16. Hatuwezi kukuhakikishia uadilifu wa programu katika hali hii na huenda data yoyote iliyohifadhiwa kwenye simu wakati programu ya kuwasha mfumo wa uendeshaji imefunguliwa ikawa katika hatari. Mipangilio na data yote ya mtumiaji itafutwa hali ya KB 16 ikiwashwa. Baada ya programu ya kuwasha mfumo wa uendeshaji kufunguliwa, hatua ya kuwasha chaguo la KB 16 itahitaji kifaa kuwashwa tena mara mbili. Ukiwa katika hali hii, unaweza kubadilisha kati ya hali za KB 4 na KB 16 kwa kuwasha tena kifaa. Baadhi ya vipengele vitazimwa katika hali hizi, kwa hivyo huenda baadhi ya programu zisifanye kazi. Ili urejeshe kifaa kwenye hali ya toleo la umma, utahitaji kurudi kwenye hali ya KB 4 kisha ufunge programu ya kuwasha mfumo wa uendeshaji au urejeshe mipangilio ya kampuni halisi iliyotengeneza kifaa (OEM), (hatua itakayorejesha mipangilio ambayo kifaa kilitoka nayo kiwandani). Tafadhali fungua programu ya kuwasha mfumo wa uendeshaji kisha ujaribu tena. Unaweza kuona maagizo kuhusu jinsi ya kufanya hivyo katika <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Kutumia hali isiyotegemea ukurasa ya KB 4"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Unatumia hali ya KB 4 kwenye hali isiyotegemea ukurasa. Hatuwezi kukuhakikishia uadilifu wa programu katika hali hii na huenda data yoyote iliyohifadhiwa kwenye simu wakati programu ya kuwasha mfumo wa uendeshaji imefunguliwa ikawa katika hatari. Baadhi ya vipengele vitazimwa katika hali hizi, kwa hivyo huenda baadhi ya programu zisifanye kazi. Ili uingie tena katika hali ya toleo la umma, lazima ufunge programu ya kuwasha mfumo wa uendeshaji kwenye kifaa. Gusa ili uendelee kusoma."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Unatumia hali ya KB 4 kwenye hali isiyotegemea ukurasa. Hatuwezi kukuhakikishia uadilifu wa programu katika hali hii na huenda data yoyote iliyohifadhiwa kwenye simu wakati programu ya kuwasha mfumo wa uendeshaji imefunguliwa ikawa katika hatari. Baadhi ya vipengele vitazimwa katika hali hizi, kwa hivyo huenda baadhi ya programu zisifanye kazi. Ili uingie tena katika hali ya toleo la umma, lazima ufunge programu ya kuwasha mfumo wa uendeshaji kwenye kifaa. Hatua hii itarejesha tena mipangilio ambayo kifaa kilitoka nayo kiwandani na kuirejesha katika mipangilio ya toleo la umma. Baada ya kifaa kuwashwa katika Android, zima mipangilio ya kufungua OEM katika Chaguo za wasanidi programu. Iwapo kifaa kitashindwa kuwaka katika Android au si thabiti, weka upya data ya kifaa ukitumia faili mpya kabisa za kiwandani kutoka <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> or use <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> kisha uchague \'Futa Data Yote ya Kifaa\', \'Funga Programu ya Kuwasha Mfumo wa Uendeshaji\' na \'Lazimisha Kuweka kwenye sehemu zote\'."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Kutumia hali ya KB 16 isiyotegemea ukurasa"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Unatumia hali ya KB 16 kwenye hali isiyotegemea ukurasa. Hatuwezi kukuhakikishia uadilifu wa programu katika hali hii na huenda data yoyote iliyohifadhiwa kwenye simu wakati programu ya kuwasha mfumo wa uendeshaji imefunguliwa ikawa katika hatari. Baadhi ya vipengele vitazimwa katika hali hizi, kwa hivyo huenda baadhi ya programu zisifanye kazi. Ili uingie tena katika hali ya toleo la umma, lazima urudi katika hali ya 4K kisha ufunge programu ya kuwasha mfumo wa uendeshaji kwenye kifaa. Gusa ili uendelee kusoma."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Unatumia hali ya KB 16 kwenye hali isiyotegemea ukurasa. Hatuwezi kukuhakikishia uadilifu wa programu katika hali hii na huenda data yoyote iliyohifadhiwa kwenye simu wakati programu ya kuwasha mfumo wa uendeshaji imefunguliwa ikawa katika hatari. Baadhi ya vipengele vitazimwa katika hali hizi, kwa hivyo huenda baadhi ya programu zisifanye kazi. Ili uingie tena katika hali ya toleo la umma, lazima urudi katika hali ya KB 4 kisha ufunge programu ya kuwasha mfumo wa uendeshaji kwenye kifaa. Hatua hii itarejesha tena mipangilio ambayo kifaa kilitoka nayo kiwandani na kuirejesha katika mipangilio ya toleo la umma. Baada ya kifaa kuwashwa katika Android, zima mipangilio ya kufungua OEM katika Chaguo za wasanidi programu. Iwapo kifaa kitashindwa kuwaka katika Android au si thabiti, weka upya data ya kifaa ukitumia faili mpya kabisa za kiwandani kutoka <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> au utumie <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> kisha uchague \'Futa Data Yote ya Kifaa\', \'Funga Programu ya Kuwasha Mfumo wa Uendeshaji\' na \'Lazimisha Kuweka kwenye sehemu zote\'."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Unatumia hali ya KB 16 kwenye hali isiyotegemea ukubwa wa ukurasa. Hatuwezi kukuhakikishia uadilifu wa programu katika hali hii na huenda data yoyote iliyohifadhiwa kwenye simu wakati programu ya kuwasha mfumo wa uendeshaji imefunguliwa ikawa katika hatari. Baadhi ya vipengele vitazimwa katika hali hizi, kwa hivyo huenda baadhi ya programu zisifanye kazi. Ili uingie tena katika hali ya toleo la umma, ni lazima urudi katika hali ya KB 4 kisha ufunge programu ya kuwasha mfumo wa uendeshaji kwenye kifaa. Gusa ili uendelee kusoma."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Unatumia hali ya KB 16 kwenye hali isiyotegemea ukubwa wa ukurasa. Hatuwezi kukuhakikishia uadilifu wa programu katika hali hii na huenda data yoyote iliyohifadhiwa kwenye simu wakati programu ya kuwasha mfumo wa uendeshaji imefunguliwa ikawa katika hatari. Baadhi ya vipengele vitazimwa katika hali hizi, kwa hivyo huenda baadhi ya programu zisifanye kazi. Ili uingie tena katika hali ya toleo la umma, ni lazima urudi katika hali ya KB 4 kisha ufunge programu ya kuwasha mfumo wa uendeshaji kwenye kifaa. Hatua hii itarejesha tena mipangilio ambayo kifaa kilitoka nayo kiwandani na kuirejesha katika mipangilio ya toleo la umma. Baada ya kifaa kuwashwa katika Android, zima mipangilio ya kufungua OEM katika Chaguo za wasanidi programu. Iwapo kifaa kitashindwa kuwaka katika Android au si thabiti, weka upya data ya kifaa ukitumia picha mpya kabisa za kiwandani kutoka <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> au utumie <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> kisha uchague \'Futa Kabisa Data Yote Kwenye Kifaa\', \'Funga Programu ya Kuwasha Mfumo wa Uendeshaji\' na \'Lazimisha Kuweka kwenye sehemu zote\'."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Hali ya KB 16 Isiyotegemea Ukurasa"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Endelea kusoma"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Kidhibiti cha ripoti ya hitilafu"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Tumia kipengele cha kubandika programu"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Tumia chaguo za wasanidi programu"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Tumia huduma ya kuchapisha"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Ruhusu watumiaji wengi"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"ruhusu, kadhaa, mtumiaji, idhinisha, wengi"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"wengi, watumiaji, wasifu, watu, akaunti, badilisha, nyingi"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Tumia kipengele cha utatuzi usiotumia waya"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Chagua utakachokiona kwenye skrini wakati kompyuta kibao yako imeshikiliwa kwenye kiweko. Kifaa chako kinaweza kutumia nishati nyingi zaidi taswira ya skrini inapotumika."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Badilisha upendavyo"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Uweke mapendeleo ya <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Itahitaji kuwashwa tena ili kuruhusu uwezo wa muundo huru."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Itahitaji kuwashwa tena ili kuwezesha hali ya kompyuta ya mezani kwenye skrini nyingine."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Unahitaji kuwasha tena ili kuruhusu matumizi ya madirisha yenye muundo huru yaliyopitwa na wakati."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Unahitaji kuwasha tena ili kubadilisha matumizi ya madirisha yenye muundo huru."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Unahitaji kuwasha tena ili kulazimisha matumizi ya madirisha yenye muundo huru kwenye skrini za pili."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Washa tena sasa"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Washa tena baadaye"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Sauti Inayojirekebisha"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Sikiliza mtiririko"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Changanua msimbo wa QR wa mtiririko wa maudhui ya sauti ili usikilize kupitia <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Huwezi kubadilisha nenosiri mposikiliza pamoja. Ili ubadilishe nenosiri, zima kwanza kipengele cha kusikiliza pamoja."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-ta/arrays.xml b/res/values-ta/arrays.xml
index 7f3b62c..35442ce 100644
--- a/res/values-ta/arrays.xml
+++ b/res/values-ta/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"உறக்கநேரம்"</item>
+ <item msgid="4152450357280759894">"வாகனம் ஓட்டுதல்"</item>
+ <item msgid="7096549258219399423">"ஈடுபடவைப்பவை"</item>
+ <item msgid="2760716776980432977">"நிர்வகிக்கப்பட்டது"</item>
+ <item msgid="601734478369121764">"ஸ்டார்"</item>
+ <item msgid="6243809315432780521">"கேலெண்டர்"</item>
+ <item msgid="4913577903148415331">"நேரம்"</item>
+ <item msgid="3653377604690057780">"திரையரங்கம்"</item>
+ <item msgid="3843711267408385410">"பூ"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 5a01a88..7422650 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"செவித்துணைச் சாதன அமைப்புகள்"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"ஷார்ட்கட், செவித்துணைக் கருவியுடனான இணக்கத்தன்மை"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"முன்னமைவு"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"முன்னமைவுகள் எதையும் உங்கள் ஆடியாலஜிஸ்ட் திட்டமிடவில்லை"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"முன்னமைவைப் புதுப்பிக்க முடியவில்லை"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ஆடியோ வெளியீடு"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ஆடியோ அவுட்புட் - அறிமுகம்"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"முகம் மற்றும் <xliff:g id="WATCH">%s</xliff:g> சேர்க்கப்பட்டன"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"முகம், கைரேகை மற்றும் <xliff:g id="WATCH">%s</xliff:g> சேர்க்கப்பட்டன"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"முகம், கைரேகைகள் மற்றும் <xliff:g id="WATCH">%s</xliff:g> சேர்க்கப்பட்டன"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"அடையாளச் சரிபார்ப்பு இயக்கத்தில் உள்ளதால் இது தேவை"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticatorரை அன்லாக் செய்தல்"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"வாட்ச் சேர்க்கப்பட்டது"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"உங்கள் வாட்ச்சை அமையுங்கள்"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"வாட்ச் அன்லாக் அம்சம் குறித்து மேலும் அறிக"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"வாட்ச்சைச் சேர்"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"வாட்ச்சை அகற்றும்"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"கைரேகை & முகம் காட்டித் திறத்தல்"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"முகம் & கைரேகை அன்லாக்"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"பணிக்கான முகம் & கைரேகை அன்லாக்"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"அமைவு தேவை"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"முகமும் கைரேகைகளும் சேர்க்கப்பட்டன"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"ஆப்ஸை நிறுவுதல்"</b>\n"உங்கள் ரகசிய இடத்தில் தனிப்பட்டதாக வைத்திருக்க விரும்பும் ஆப்ஸை நிறுவுங்கள்"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"நினைவில்கொள்ள வேண்டியவை"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"உங்கள் ரகசிய இடத்தைப் பூட்டியதும் ஆப்ஸ் செயல்படாது"</b>\n"உங்கள் இடத்தைப் பூட்டினால் அதிலுள்ள ஆப்ஸின் செயல்பாடு நிறுத்தப்படுவதோடு அவற்றிலிருந்து அறிவிப்புகளையும் பெறமாட்டீர்கள்"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"ரகசிய இடங்கள் மருத்துவ ஆப்ஸ் போன்ற பின்னணியில் செயல்பட வேண்டிய அல்லது அதிமுக்கிய அறிவிப்புகளை அனுப்ப வேண்டிய ஆப்ஸுக்கு ஏற்றவை அல்ல. உங்கள் இடம் பூட்டப்பட்டிருக்கும்போது அறிவிப்புகள் மற்றும் பின்னணிச் செயல்பாடு நிறுத்தப்படுவதே இதற்குக் காரணம் ஆகும்.\n\nஉங்கள் ரகசிய இடம் பூட்டப்பட்டிருக்கும்போது அனுமதி நிர்வாகம், தனியுரிமை டாஷ்போர்டு, பிற அமைப்புகள் ஆகியவற்றில் ரகசிய இடத்தில் உள்ள ஆப்ஸ் காட்டப்படாது.\n\nஉங்கள் ரகசிய இடத்தைப் புதிய சாதனத்திற்கு மாற்ற முடியாது. வேறொரு சாதனத்தில் அதைப் பயன்படுத்த விரும்பினால் வேறொரு ரகசிய இடத்தை அமைக்க வேண்டும்.\n\nஉங்கள் சாதனத்தைக் கம்ப்யூட்டருடன் இணைத்தோ தீங்கிழைக்கும் ஆப்ஸை உங்கள் சாதனத்தில் நிறுவியோ யார் வேண்டுமானாலும் உங்கள் ரகசிய இடத்தை அணுகக்கூடும்."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"ரகசிய இடங்கள் மருத்துவ ஆப்ஸ் போன்ற பின்னணியில் செயல்பட வேண்டிய அல்லது அதிமுக்கிய அறிவிப்புகளை அனுப்ப வேண்டிய ஆப்ஸுக்கு ஏற்றவை அல்ல. உங்கள் இடம் பூட்டப்பட்டிருக்கும்போது அறிவிப்புகள் மற்றும் பின்னணிச் செயல்பாடு நிறுத்தப்படுவதே இதற்குக் காரணம் ஆகும்.\n\nரகசிய இடம் பூட்டப்பட்டிருக்கும்போது அனுமதி நிர்வாகம், தனியுரிமை டாஷ்போர்டு, பிற அமைப்புகள் ஆகியவற்றில் ரகசிய இடத்தில் உள்ள ஆப்ஸ் காட்டப்படாது.\n\nஉங்கள் ரகசிய இடத்தைப் புதிய சாதனத்தில் மீட்டெடுக்க முடியாது. வேறொரு சாதனத்தில் அதைப் பயன்படுத்த விரும்பினால் வேறொரு ரகசிய இடத்தை அமைக்க வேண்டும்.\n\nஉங்கள் சாதனத்தைக் கம்ப்யூட்டருடன் இணைத்தோ தீங்கிழைக்கும் ஆப்ஸை உங்கள் சாதனத்தில் நிறுவியோ யார் வேண்டுமானாலும் உங்கள் ரகசிய இடத்தை அணுகக்கூடும்."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"ரகசிய இடம் குறித்து மேலும் அறிக"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"இதற்குச் சிறிது நேரம் ஆகும்"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"தனிப்பட்ட இடத்தை அமைக்கிறது…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"சாதனத்தை மீண்டும் தொடங்கவா?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"விரிவான NFC பதிவானது மேம்பாட்டு நோக்கங்களுக்காக மட்டுமே உருவாக்கப்பட்டது. பிழை அறிக்கைகளில் கூடுதல் NFC தரவு சேர்க்கப்பட்டுள்ளது. இவற்றில் தனிப்பட்ட தகவல்கள் இருக்கக்கூடும். இந்த அமைப்பை மாற்ற உங்கள் சாதனத்தை மீண்டும் தொடங்கவும்."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"மீண்டும் தொடங்கு"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"அலைபரப்பு"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"பிரதிபலித்தல்"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"வயர்லெஸ் காட்சியை இயக்கு"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"சூழலுக்கேற்றது"</string>
<string name="brightness" msgid="6216871641021779698">"ஒளிர்வு நிலை"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"சூழலுக்கேற்ற ஒளிர்வு"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"சூழலுக்கேற்ற ஒளிர்வு குறித்த அறிமுகம்"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"நீங்கள் இருக்கும் சூழலுக்கும், செய்யும் வேலைகளுக்கும் ஏற்றவாறு, தானாகவே உங்களின் திரை ஒளிர்வு கூடும், குறையும். நீங்கள் எவ்வளவு வெளிச்சத்தை விரும்புகிறீர்கள் என்பதைச் சூழலுக்கேற்ற ஒளிர்வு தெரிந்துகொள்ள, ஸ்லைடரைக் கைமுறையாக நகர்த்தலாம்."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"ஆன்"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"ஆஃப்"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"விருப்பங்கள்"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"அணுகல்தன்மை"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"கைமுறை கீபோர்டு"</string>
- <string name="show_ime" msgid="4334255501724746849">"ஸ்கிரீன் கீபோர்டைப் பயன்படுத்து"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"கைமுறை கீபோர்டு இயக்கத்தில் இருக்கும் போது இதைத் திரையில் வைத்திருக்கும்"</string>
<string name="bounce_keys" msgid="7419450970351743904">"பவுன்ஸ் விசைகள்"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> மில்லி வினாடிக்குள் ஒரே பட்டனைத் தொடர்ச்சியாக அழுத்துவதைக் கீபோர்டு புறக்கணிக்கிறது"</string>
<string name="slow_keys" msgid="2891452895499690837">"ஸ்லோ கீஸ்"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"பயனர் தேர்ந்தெடுத்தது: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"பேச்சு"</string>
<string name="pointer_speed" msgid="7398649279282675718">"குறிப்பான் வேகம்"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"கேம் கன்ட்ரோலர்"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"அதிர்வைத் திசை திருப்புதல்"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"இணைக்கப்பட்டவுடன், கேம் கண்ட்ரோலருக்கு அதிர்வை அனுப்பு"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"பரவாயில்லை, தொடர்க"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"ரத்துசெய்"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"பெரிதாக்கல் அமைப்புகள்"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"ஒரு விரலால் நகர்த்துதல்"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"1 விரலால் Magnifierரை நகர்த்துங்கள்"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"திரையில் எங்கேனும் நகர்த்த 1 விரலால் இழுங்கள்"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"ஒரு விரலால் இழுத்து பெரிதாக்கல் பகுதியை நகர்த்தலாம்."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"இரண்டு விரல்களால் இழுத்து பெரிதாக்கல் பகுதியை நகர்த்தலாம்."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"திரையின் ஒரு பகுதியை மட்டும் பெரிதாக்கும்போது இருக்காது"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"திரையைப் பெரிதாக்க, பட்டனைத் தட்டவும்"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"உள்ளடக்கத்தை மேலும் தெளிவாகக் காட்ட திரையைப் பெரிதாக்கலாம்"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>பெரிதாக்க:</b><br/> {0,number,integer}. பெரிதாக்கத் தொடங்குவதற்கு ஷார்ட்கட்டைப் பயன்படுத்தவும்<br/> {1,number,integer}. திரையைத் தட்டவும்<br/> {2,number,integer}. திரையில் நகர்த்த இரு விரல்களால் இழுக்கவும்<br/> {3,number,integer}. அளவை மாற்ற இரு விரல்களால் பின்ச் செய்யவும்<br/> {4,number,integer}. பெரிதாக்குவதை நிறுத்த ஷார்ட்கட்டைப் பயன்படுத்தவும்<br/><br/> <b>தற்காலிகமாகப் பெரிதாக்க:</b><br/> {0,number,integer}. பெரிதாக்கல் வகை முழுத்திரைக்கு அமைக்கப்பட்டிருப்பதை உறுதிசெய்து கொள்ளவும்<br/> {1,number,integer}. பெரிதாக்கத் தொடங்குவதற்கு ஷார்ட்கட்டைப் பயன்படுத்தவும்<br/> {2,number,integer}. திரையில் எங்கேனும் தொட்டுப் பிடித்திருக்கவும்<br/> {3,number,integer}. திரையில் எங்கேனும் செல்ல விரலை நகர்த்தவும்<br/> {4,number,integer}. பெரிதாக்குவதை நிறுத்த விரலைத் திரையிலிருந்து எடுக்கவும்"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>பெரிதாக்க:</b><br/> {0,number,integer}. பெரிதாக்கலைத் தொடங்க, ஷார்ட்கட் பயன்படுத்தவும்<br/> {1,number,integer}. திரையைத் தட்டவும்<br/> {2,number,integer}. திரையில் எங்கேனும் நகர்த்த 2 விரல்களால் இழுக்கவும்<br/> {3,number,integer}. அளவை மாற்ற 2 விரல்களால் பின்ச் செய்யவும்<br/> {4,number,integer}. பெரிதாக்கலை நிறுத்த, ஷார்ட்கட் பயன்படுத்தவும்<br/><br/> தற்காலிகமாகப் பெரிதாக்கலாம், பலவற்றைச் செய்யலாம்."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>பெரிதாக்க:</b><br/> {0,number,integer}. பெரிதாக்கலைத் தொடங்க, ஷார்ட்கட் பயன்படுத்தவும்<br/> {1,number,integer}. திரையைத் தட்டவும்<br/> {2,number,integer}. திரையில் எங்கேனும் நகர்த்த 1 அல்லது 2 விரல்களால் இழுக்கவும்<br/> {3,number,integer}. அளவை மாற்ற 2 விரல்களால் பின்ச் செய்யவும்<br/> {4,number,integer}. பெரிதாக்கலை நிறுத்த, ஷார்ட்கட் பயன்படுத்தவும்<br/><br/> தற்காலிகமாகப் பெரிதாக்கலாம், பலவற்றைச் செய்யலாம்."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"’பெரிதாக்கல்’ அம்சம் ஆன் செய்யப்பட்டுள்ளபோது திரையைப் பெரிதாக்கிப் பார்க்கலாம்.\n\n"<b>"அதற்கு "</b>", இந்த அம்சத்தைத் தொடங்கி திரையில் எங்கு வேண்டுமானாலும் தட்டவும்.\n"<ul><li>"ஸ்க்ரோல் செய்ய இரண்டு அல்லது மேற்பட்ட விரல்களில் இழுக்கவும்"</li>\n<li>"அளவை மாற்ற இரண்டு அல்லது மேற்பட்ட விரல்களில் பின்ச் செய்யவும்"</li></ul>\n\n<b>"தற்காலிகமாகப் பெரிதாக்க"</b>", இந்த அம்சத்தைத் தொடங்கி திரையில் எங்கு வேண்டுமானாலும் தொட்டுப் பிடிக்கவும்.\n"<ul><li>"திரையில் எங்கு வேண்டுமானாலும் செல்ல இழுக்கவும்"</li>\n<li>"சிறிதாக்க விரல்களால் பின்ச் செய்து மேலே இழுக்கவும்"</li></ul>\n\n"கீபோர்டிலோ வழிசெலுத்தல் பட்டியையோ பெரிதாக்க இயலாது."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"பக்கம் <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> / <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"அணுகல்தன்மை பட்டனுக்கான ஷார்ட்கட்"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"முக்கியமான நபர்கள் மற்றும் ஆப்ஸிலிருந்து மட்டும் அறிவிப்புகளைப் பெறுங்கள்"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"செயல்படுத்துதல் வகையைத் தேர்ந்தெடுங்கள்"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"நேரம்"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"எ.கா. \"9:30 AM – 5:00 PM\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"கேலெண்டர்"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"எ.கா. \"தனிப்பட்ட கேலெண்டர்\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"பயன்முறையை உருவாக்குதல்"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"பிரத்தியேகம்"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"குறுக்கீடுகளைக் குறைத்தல்"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"தொந்தரவு செய்ய வேண்டாம் என்பதை ஆன் செய்யும்"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"அலாரங்களும் மீடியா ஒலிகளும் குறுக்கிட முடியும்"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"நேர அட்டவணைகள்"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"திட்டமிட்டவைகளை நீக்கு"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"நீக்கு"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"மாற்று"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"திட்டமிடல்"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"திட்ட அட்டவணை"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"கேலெண்டரைச் சேருங்கள்"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"உங்கள் கேலெண்டரைப் பயன்படுத்துங்கள்"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"திட்டமிடுதல்"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"திட்ட அட்டவணையை அமையுங்கள்"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"திட்டமிடுங்கள்"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ம.நே <xliff:g id="MINUTES">%2$d</xliff:g> நிமி"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"தானாகவே இயக்குதல்"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"நேர அட்டவணை"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"குறிப்பிட்ட நேரத்தில் ஒலி முடக்கு"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"\'தொந்தரவு செய்ய வேண்டாம்’ விதிகளை அமைத்தல்"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"ஒலியுடன் உள்ள குறுக்கீடுகளை அனுமதி"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"விஷுவல் குறுக்கீடுகளைத் தடு"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"விஷுவல் சிக்னல்களை அனுமதி"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"உங்களுக்கு வரும் அறிவிப்புகள்"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"கவனமாக இருங்கள்"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"கூடுதல் செயல்கள்"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"டிஸ்பிளே அமைப்புகள்"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"டிஸ்பிளே விருப்பங்கள்"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"டார்க் தீமினை இயக்கு"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"டார்க் பின்னணியில் பிரகாசமான வார்த்தைகளைப் பார்ப்பதற்கு ஏற்றவாறு OS மற்றும் ஆப்ஸை மாற்றவும். இது கண்களுக்கான சிரமத்தைக் குறைக்கலாம் மற்றும் சில சாதனங்களில் கணிசமான பேட்டரி சேமிப்பையும் வழங்கலாம்."</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{டிஸ்பிளே மாற்றங்கள் இல்லை}=1{{effect_1}}=2{{effect_1} மற்றும் {effect_2}}=3{{effect_1}, {effect_2} மற்றும் {effect_3}}other{{effect_1}, {effect_2}, மேலும் #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"அறிவிப்புகளை ஃபில்டர் செய்தல்"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"அறிவிப்புகள் எதுவும் ஃபில்டர் செய்யப்படவில்லை"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ஃபில்டர் செய்யப்பட்ட அறிவிப்புகளுக்கான டிஸ்பிளே விருப்பங்கள்"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"’தொந்தரவு செய்ய வேண்டாம்’ ஆனில் இருக்கும்போது"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"அறிவிப்புகள் வரும்போது ஒலியெழுப்ப வேண்டாம்"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"அறிவிப்பைத் திறக்கும்"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"அறிவிப்புகளை ஸ்னூஸ் செய்ய அனுமதி"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"ஆப்ஸ் ஐகானில் அறிவிப்பு புள்ளி"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"அறிவிப்புத் தொகுப்புகள்"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"குமிழ்கள்"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"குமிழ்கள்"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"இந்த உரையாடலைக் குமிழாக்கு"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"வகைகள்"</string>
<string name="notification_channels_other" msgid="18159805343647908">"மற்றவை"</string>
<string name="no_channels" msgid="4716199078612071915">"இந்த ஆப்ஸ் எந்த அறிவிப்புகளையும் இடுகையிடவில்லை"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"பயன்படுத்தப்படாத வகைகளைக் காட்டு"</string>
<string name="app_settings_link" msgid="6725453466705333311">"ஆப்ஸில் உள்ள கூடுதல் அமைப்புகள்"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"பயன்படுத்தப்படாத வகைகளைக் காட்டு"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"பயன்படுத்தப்படாத வகைகளை மறை"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"அனைத்தும்"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ஆப்ஸை மீறிச் செயல்பட அனுமதிக்கின்றன"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"குறுக்கிட முடிகின்ற ஆப்ஸ்"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"கூடுதல் ஆப்ஸைத் தேர்ந்தெடுங்கள்"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{{time} வரை ஒரு மணிநேரத்திற்கு மட்டும் அலாரங்கள் என மாற்றும்}other{{time} வரை # மணிநேரத்திற்கு மட்டும் அலாரங்கள் என மாற்றும்}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> வரை அலாரங்கள் மட்டும் என மாற்று"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"எப்போதும் குறுக்கிடு என மாற்று"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"பெயர் மாற்று"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"ஐகானை மாற்று"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"ஐகானை மாற்றுதல்"</string>
<string name="warning_button_text" msgid="1274234338874005639">"எச்சரிக்கும்"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"மூடுக"</string>
<string name="device_feedback" msgid="5351614458411688608">"சாதனம் பற்றி கருத்தை அனுப்புக"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"சார்ஜ் செய்யும் பெட்டி"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"பேட்டரி"</string>
<string name="settings_panel_title" msgid="346363079938069215">"அமைப்புகளுக்கான பேனல்"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"கட்டாய டெஸ்க்டாப் பயன்முறை"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"இரண்டாம்நிலை திரைகளில் \'கட்டாயப் பரிசோதனை டெஸ்க்டாப்\' பயன்முறை"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"குறிப்பிட்ட வடிவமில்லாத சாளரங்களை இயக்குதல்"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"குறிப்பிட்ட வடிவமில்லாத சாளரங்களுக்கான ஆதரவை இயக்கலாம்."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"குறிப்பிட்ட வடிவமில்லாத சாளரத்தை இரண்டாம் திரையில் இயக்குதல்"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"குறிப்பிட்ட வடிவமில்லாத சாளரத்தை இரண்டாம் நிலைத் திரையில் மட்டும் இயக்குதல்."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"அளவு மாற்ற இயலாதவற்றைப் பல சாளரத்தில் இயக்கு"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"அளவு மாற்ற இயலாத ஆப்ஸைப் பல சாளரத்தில் இயக்க அனுமதிக்கும்"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"force-dark அம்சத்தை மீறிச் செயல்படுதல்"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"16 கி.பை. டெவெலப்பர் விருப்பத்தைப் பயன்படுத்தும் முன்பு இந்தச் சாதனத்தின் தரவுப் பிரிப்பு ext4 ஃபைல் அமைப்பிற்கு மாற்றப்பட வேண்டும். இந்தப் பயன்முறையில் மென்பொருளின் முழுமைத்தன்மைக்கு உத்திரவாதம் இல்லை. அத்துடன் பூட்லோடர் அன்லாக் செய்யப்பட்டிருக்கும்போது மொபைலில் சேமிக்கப்பட்ட அனைத்துத் தரவும் ஆபத்தில் இருக்கக்கூடும். 16 கி.பை. விருப்பத்தைச் செயல்படுத்த, இதற்குப் பின் மீண்டும் ஒருமுறை மறுபடி தொடங்க வேண்டும். இந்தப் பயன்முறையில் இருக்கும்போது, ஒருமுறை மறுபடி தொடங்கி 4 கி.பை. மற்றும் 16 கி.பை. இடையே முன்னும் பின்னும் மாறிக்கொள்ளலாம். இந்தப் பயன்முறைகளில் சில அம்சங்கள் முடக்கப்படும் என்பதால் சில ஆப்ஸ் வேலை செய்யாமல் போகக்கூடும். தயாரிப்புப் பயன்முறைக்குச் சாதனத்தை அமைக்க 4 கி.பை. பயன்முறைக்கு மாறி பூட்லோடரைப் பூட்டுங்கள், இது சாதனத்தை ஆரம்பநிலைக்கு மீட்டமைக்கும். சாதனம் Androidல் தொடங்கியதும், டெவெலப்பர் விருப்பங்களில் OEM அன்லாக்கை முடக்கவும். சாதனம் படிக்க முடியாதபடி செய்யப்படும் மற்றும் உறுதிசெய்த பின் ஃபைல் அமைப்பு ext4 ஃபைல் அமைப்பிற்கு மாற்றப்படும். இது முடிந்ததும், மீண்டும் வந்து 16 கி.பை பயன்முறையை இயக்க வேண்டும்."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"அனைத்துத் தரவையும் அழி"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"தரவுப் பிரிப்பை ext4 ஃபைல் அமைப்பிற்கு மாற்றியமைக்கவும் படிக்க முடியாதபடி செய்யவும் முடியவில்லை."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16 கி.பை. பயன்முறை வேண்டுமெனில் பூட்லோடர் அன்லாக் செய்யப்பட வேண்டும்"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"பூட்லோடர் அன்லாக் தேவை"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"16 கி.பை. டெவெலப்பர் விருப்பத்தைப் பயன்படுத்தத் தொடங்கும் முன் இந்தச் சாதனத்தில் பூட்லோடர் அன்லாக் செய்யப்பட்டிருக்க வேண்டும். இந்தப் பயன்முறையில் மென்பொருளின் முழுமைத்தன்மைக்கு உத்திரவாதம் இல்லை. அத்துடன் பூட்லோடர் அன்லாக் செய்யப்பட்டிருக்கும்போது மொபைலில் சேமிக்கப்பட்ட அனைத்துத் தரவும் ஆபத்தில் இருக்கக்கூடும். 16 கி.பை. பயன்முறையைச் செயல்படுத்தும்போது அனைத்துப் பயனர் தரவும் அமைப்புகளும் படிக்க முடியாதபடி செய்யப்படும். பூட்லோடர் அன்லாக் செய்யப்பட்டதும், 16 கி.பை. விருப்பத்தைச் செயல்படுத்த இருமுறை மறுபடி தொடங்க வேண்டும். இந்தப் பயன்முறையில் இருக்கும்போது, ஒருமுறை மறுபடி தொடங்கி 4 கி.பை. மற்றும் 16 கி.பை. இடையே முன்னும் பின்னும் மாறிக்கொள்ளலாம். இந்தப் பயன்முறைகளில் சில அம்சங்கள் முடக்கப்படும் என்பதால் சில ஆப்ஸ் வேலை செய்யாமல் போகக்கூடும். தயாரிப்புப் பயன்முறைக்குச் சாதனத்தை அமைக்க 4 கி.பை. பயன்முறைக்கு மாற்ற வேண்டும். பின்பு OEM/பூட்லோடர் (சாதனத்தை ஆரம்பநிலைக்கு மீட்டமைக்கும்) சாதனத்தைப் பூட்டும். பூட்லோடரை அன்லாக் செய்து மீண்டும் முயலவும். இங்கே இதைச் செய்யும் வழிமுறையைப் பார்க்கலாம்: <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"4 கி.பை. பக்கம் சாராத பயன்முறையைப் பயன்படுத்துகிறது"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"4 கி.பை. இல் இயங்கும் பக்கம் சாராத பயன்முறையில் உள்ளீர்கள். இந்தப் பயன்முறையில் மென்பொருளின் முழுமைத்தன்மைக்கு உத்திரவாதம் இல்லை. அத்துடன் பூட்லோடர் அன்லாக் செய்யப்பட்டிருக்கும்போது மொபைலில் சேமிக்கப்பட்ட அனைத்துத் தரவும் ஆபத்தில் இருக்கக்கூடும். இந்தப் பயன்முறைகளில் சில அம்சங்கள் முடக்கப்படும் என்பதால் சில ஆப்ஸ் வேலை செய்யாமல் போகக்கூடும். தயாரிப்புப் பயன்முறைக்குத் திரும்ப, சாதனத்தின் பூட்லோடரைப் பூட்ட வேண்டும். மேலும் படிக்க தட்டவும்."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"4 கி.பை. இல் இயங்கும் பக்கம் சாராத பயன்முறையில் உள்ளீர்கள். இந்தப் பயன்முறையில் மென்பொருளின் முழுமைத்தன்மைக்கு உத்திரவாதம் இல்லை. அத்துடன் பூட்லோடர் அன்லாக் செய்யப்பட்டிருக்கும்போது மொபைலில் சேமிக்கப்பட்ட அனைத்துத் தரவும் ஆபத்தில் இருக்கக்கூடும். இந்தப் பயன்முறைகளில் சில அம்சங்கள் முடக்கப்படும் என்பதால் சில ஆப்ஸ் வேலை செய்யாமல் போகக்கூடும். தயாரிப்புப் பயன்முறைக்குத் திரும்ப, சாதனத்தின் பூட்லோடரைப் பூட்ட வேண்டும். இது சாதனத்தை மீண்டும் ஆரம்பநிலைக்கு மீட்டமைக்கும் மற்றும் தயாரிப்பு அமைப்புகளுக்கு மீட்டெடுக்கும். சாதனம் Androidல் தொடங்கியதும், டெவெலப்பர் விருப்பங்களில் OEM அன்லாக்கை முடக்கவும். சாதனம் Androidல் தொடங்கவில்லை அல்லது நிலையற்றதாக இருந்தால் <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> பக்கத்தில் இருந்து சமீபத்திய ஃபேக்டரி பிரதியுடன் சாதனத்தை மீண்டும் ஃபிளாஷ் செய்யவும் அல்லது <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> இணைப்பைப் பயன்படுத்தி \'சாதனத்தைப் படிக்க முடியாதபடி செய்\', \'பூட்லோடரைப் பூட்டு\' மற்றும் \'அனைத்துப் பிரிப்பையும் வேகமாக ஃபிளாஷ் செய்\' என்பதைத் தேர்ந்தெடுக்கவும்."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"16 கி.பை. பக்கம் சாராத பயன்முறையைப் பயன்படுத்துகிறது"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"16 கி.பை. இல் இயங்கும் பக்கம் சாராத பயன்முறையில் உள்ளீர்கள். இந்தப் பயன்முறையில் மென்பொருளின் முழுமைத்தன்மைக்கு உத்திரவாதம் இல்லை. அத்துடன் பூட்லோடர் அன்லாக் செய்யப்பட்டிருக்கும்போது மொபைலில் சேமிக்கப்பட்ட அனைத்துத் தரவும் ஆபத்தில் இருக்கக்கூடும். இந்தப் பயன்முறைகளில் சில அம்சங்கள் முடக்கப்படும் என்பதால் சில ஆப்ஸ் வேலை செய்யாமல் போகக்கூடும். தயாரிப்புப் பயன்முறைக்குத் திரும்ப, 4K பயன்முறைக்கு அமைத்து சாதனத்தின் பூட்லோடரைப் பூட்ட வேண்டும். மேலும் படிக்க தட்டவும்."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"16 கி.பை. இல் இயங்கும் பக்கம் சாராத பயன்முறையில் உள்ளீர்கள். இந்தப் பயன்முறையில் மென்பொருளின் முழுமைத்தன்மைக்கு உத்திரவாதம் இல்லை. அத்துடன் பூட்லோடர் அன்லாக் செய்யப்பட்டிருக்கும்போது மொபைலில் சேமிக்கப்பட்ட அனைத்துத் தரவும் ஆபத்தில் இருக்கக்கூடும். இந்தப் பயன்முறைகளில் சில அம்சங்கள் முடக்கப்படும் என்பதால் சில ஆப்ஸ் வேலை செய்யாமல் போகக்கூடும். தயாரிப்புப் பயன்முறைக்குத் திரும்ப, 4K பயன்முறைக்கு அமைத்து சாதனத்தின் பூட்லோடரைப் பூட்ட வேண்டும். இது சாதனத்தை மீண்டும் ஆரம்பநிலைக்கு மீட்டமைக்கும் மற்றும் தயாரிப்பு அமைப்புகளுக்கு மீட்டெடுக்கும். சாதனம் Androidல் தொடங்கியதும், டெவெலப்பர் விருப்பங்களில் OEM அன்லாக்கை முடக்கவும். சாதனம் Androidல் தொடங்கவில்லை அல்லது நிலையற்றதாக இருந்தால் <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> பக்கத்தில் இருந்து சமீபத்திய ஃபேக்டரி பிரதியுடன் சாதனத்தை மீண்டும் ஃபிளாஷ் செய்யவும் அல்லது <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> இணைப்பைப் பயன்படுத்தி \'சாதனத்தைப் படிக்க முடியாதபடி செய்\', \'பூட்லோடரைப் பூட்டு\' மற்றும் \'அனைத்துப் பிரிப்பையும் வேகமாக ஃபிளாஷ் செய்\' என்பதைத் தேர்ந்தெடுக்கவும்."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"பக்கம் சாராத பயன்முறையின் 16 கி.பை. பயன்முறையில் உள்ளீர்கள். இந்தப் பயன்முறையில் மென்பொருளின் முழுமைத்தன்மைக்கு உத்திரவாதம் இல்லை. அத்துடன் பூட்லோடர் அன்லாக் செய்யப்பட்டிருக்கும்போது மொபைலில் சேமிக்கப்பட்ட அனைத்துத் தரவும் ஆபத்தில் இருக்கக்கூடும். இந்தப் பயன்முறைகளில் சில அம்சங்கள் முடக்கப்படும் என்பதால் சில ஆப்ஸ் வேலை செய்யாமல் போகக்கூடும். தயாரிப்புப் பயன்முறைக்குத் திரும்ப, 4 கி.பை. பயன்முறைக்கு அமைத்து சாதனத்தின் பூட்லோடரைப் பூட்ட வேண்டும். மேலும் படிக்க தட்டவும்."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"பக்கம் சாராத பயன்முறையின் 16 கி.பை. பயன்முறையில் உள்ளீர்கள். இந்தப் பயன்முறையில் மென்பொருளின் முழுமைத்தன்மைக்கு உத்திரவாதம் இல்லை. அத்துடன் பூட்லோடர் அன்லாக் செய்யப்பட்டிருக்கும்போது மொபைலில் சேமிக்கப்பட்ட அனைத்துத் தரவும் ஆபத்தில் இருக்கக்கூடும். இந்தப் பயன்முறைகளில் சில அம்சங்கள் முடக்கப்படும் என்பதால் சில ஆப்ஸ் வேலை செய்யாமல் போகக்கூடும். தயாரிப்புப் பயன்முறைக்குத் திரும்ப, 4 கி.பை. பயன்முறைக்கு அமைத்து சாதனத்தின் பூட்லோடரைப் பூட்ட வேண்டும். இது சாதனத்தை மீண்டும் ஆரம்பநிலைக்கு மீட்டமைக்கும் மற்றும் தயாரிப்பு அமைப்புகளுக்கு மீட்டெடுக்கும். சாதனம் Androidல் தொடங்கியதும், டெவெலப்பர் விருப்பங்களில் OEM அன்லாக்கை முடக்கவும். சாதனம் Androidல் தொடங்கவில்லை அல்லது நிலையற்றதாக இருந்தால் <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> பக்கத்தில் இருந்து சமீபத்திய ஃபேக்டரி பிரதி மூலம் சாதனத்தை மீண்டும் ஃபிளாஷ் செய்யவும் அல்லது <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> இணைப்பைப் பயன்படுத்தி \'சாதனத்தைப் படிக்க முடியாதபடி செய்\', \'பூட்லோடரைப் பூட்டு\' மற்றும் \'அனைத்துப் பார்டிஷன்களையும் வேகமாக ஃபிளாஷ் செய்\' என்பதைத் தேர்ந்தெடுக்கவும்."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16 கி.பை. பக்கம் சாராத பயன்முறை"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"மேலும் காட்டு"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"பிழை அறிக்கை ஹேண்ட்லர்"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ஆப்ஸைப் பின் செய்தல் அம்சத்தைப் பயன்படுத்துதல்"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"டெவெலப்பர் விருப்பங்களைப் பயன்படுத்துதல்"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"பிரிண்ட் சேவையைப் பயன்படுத்துதல்"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"பல பயனர்களை அனுமதித்தல்"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"அனுமதி, ஒன்றுக்கும் மேற்பட்ட, பயனர், அனுமதித்தல், பல"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"பல, பயனர்கள், சுயவிவரங்கள், நபர்கள், கணக்குகள், சுவிட்ச், பல"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"வைஃபை பிழைதிருத்தத்தைப் பயன்படுத்துதல்"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"உங்கள் டேப்லெட் டாக் செய்யப்பட்டிருக்கும்போது திரையில் என்ன காட்டப்பட வேண்டும் என்பதைத் தேர்வுசெய்யலாம். ஸ்கிரீன் சேவரைப் பயன்படுத்தும்போது உங்கள் சாதனம் அதிக பேட்டரியைப் பயன்படுத்தக்கூடும்."</string>
<string name="customize_button_title" msgid="1110284655990203359">"தனிப்பயனாக்கு"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> ஐப் பிரத்தியேகமாக்கும்"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"குறிப்பிட்ட வடிவமில்லாத சாளரங்களுக்கான ஆதரவை இயக்க சாதனத்தை மீண்டும் தொடங்கவும்."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"இரண்டாம் நிலைத் திரையில் டெஸ்க்டாப் பயன்முறையைப் பயன்படுத்த, சாதனத்தை மீண்டும் தொடங்குதல் அவசியம்."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"குறிப்பிட்ட வடிவமில்லாத பழைய சாளரத்திற்கான ஆதரவை இயக்க, சாதனத்தை மீண்டும் தொடங்கவும்."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"குறிப்பிட்ட வடிவமில்லாத சாளரத்திற்கான ஆதரவை மாற்ற, சாதனத்தை மீண்டும் தொடங்கவும்."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"இரண்டாம் நிலைத் திரையில் குறிப்பிட்ட வடிவமில்லாத சாளரத்தைப் பயன்படுத்த, சாதனத்தை மீண்டும் தொடங்கவும்."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"இப்போதே மீண்டும் தொடங்கு"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"பிறகு மீண்டும் தொடங்கு"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"சுற்றிலும் கேட்கும் ஆடியோ"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ஸ்ட்ரீமைக் கேளுங்கள்"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> மூலம் கேட்க ஆடியோ ஸ்ட்ரீமின் QR குறியீட்டை ஸ்கேன் செய்யுங்கள்"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"பகிரும்போது கடவுச்சொல்லை மாற்ற முடியாது. கடவுச்சொல்லை மாற்ற, முதலில் ஆடியோ பகிர்வை முடக்கவும்."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-te/arrays.xml b/res/values-te/arrays.xml
index 9af40e9..81f5c39 100644
--- a/res/values-te/arrays.xml
+++ b/res/values-te/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"నిద్రించే సమయం"</item>
+ <item msgid="4152450357280759894">"డ్రైవింగ్"</item>
+ <item msgid="7096549258219399423">"లీనమయ్యే"</item>
+ <item msgid="2760716776980432977">"మేనేజ్ చేయబడిన ఇమేజ్లు"</item>
+ <item msgid="601734478369121764">"స్టార్ పెట్టండి"</item>
+ <item msgid="6243809315432780521">"క్యాలెండర్"</item>
+ <item msgid="4913577903148415331">"సమయం"</item>
+ <item msgid="3653377604690057780">"థియేటర్"</item>
+ <item msgid="3843711267408385410">"పువ్వు"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 65feefa..e8406cc 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"వినికిడి పరికర సెట్టింగ్లు"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"షార్ట్కట్, వినికిడి పరికరంతో అనుకూలత"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"ప్రీసెట్"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"మీ ఆడియాలజిస్ట్ ప్రోగ్రామ్ చేసిన ప్రీసెట్లు ఏవీ లేవు"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"ప్రీసెట్ను అప్డేట్ చేయడం సాధ్యపడలేదు"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"ఆడియో అవుట్పుట్"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ఆడియో అవుట్పుట్ గురించి"</string>
@@ -134,11 +135,11 @@
<string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"బ్లూటూత్ ఆన్ చేయబడింది"</string>
<string name="previous_connected_see_all" msgid="7759413145713251328">"అన్నీ చూడండి"</string>
<string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"అన్నింటినీ చూడండి"</string>
- <string name="stylus_device_details_title" msgid="7618295136015480864">"స్టైలస్"</string>
- <string name="stylus_default_notes_app" msgid="4165657465911764628">"స్టైలస్ బటన్ను నొక్కండి"</string>
+ <string name="stylus_device_details_title" msgid="7618295136015480864">"స్టయిలస్"</string>
+ <string name="stylus_default_notes_app" msgid="4165657465911764628">"స్టయిలస్ బటన్ను నొక్కండి"</string>
<string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (వర్క్ ప్రొఫైల్)"</string>
<string name="stylus_textfield_handwriting" msgid="2363579035338976327">"టెక్స్ట్ ఫీల్డ్లలో రాయండి"</string>
- <string name="stylus_ignore_button" msgid="7734540973145241391">"అన్ని స్టైలస్ బటన్ ప్రెస్లను విస్మరించండి"</string>
+ <string name="stylus_ignore_button" msgid="7734540973145241391">"అన్ని స్టయిలస్ బటన్ ప్రెస్లను విస్మరించండి"</string>
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"స్టయిలస్"</string>
<string name="date_and_time" msgid="1788358029823431692">"తేదీ & సమయం"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"ప్రాక్సీ"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"ముఖం, <xliff:g id="WATCH">%s</xliff:g> జోడించబడ్డాయి"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"ముఖం, వేలిముద్ర, <xliff:g id="WATCH">%s</xliff:g> జోడించబడ్డాయి"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"ముఖం, వేలిముద్రలు, <xliff:g id="WATCH">%s</xliff:g> జోడించబడ్డాయి"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"ఐడెంటిటీ చెక్ ఆన్లో ఉన్నందున ఇలా చేయడం అవసరం"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"రిమోట్ ప్రామాణీకరణదారు అన్లాక్"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"వాచ్ జోడించబడింది"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"మీ వాచ్ను సెటప్ చేయండి"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"వాచ్ అన్లాక్ గురించి మరింత తెలుసుకోండి"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"వాచ్ను జోడించండి"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"వాచ్ను తీసివేయండి"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"వేలిముద్ర & ఫేస్ అన్లాక్"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ఫేస్ & వేలిముద్ర అన్లాక్"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"వర్క్ ప్రొఫైల్ కోసం ముఖం & వేలిముద్ర అన్లాక్"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"సెటప్ అవసరం"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"ముఖం, వేలిముద్రలు జోడించబడ్డాయి"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"యాప్లను ఇన్స్టాల్ చేయండి"</b>\n"మీ స్పేస్లో మీరు ప్రైవేట్గా ఉంచాలనుకునే యాప్లను ఇన్స్టాల్ చేయండి"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"గుర్తుంచుకోండి"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"మీ స్పేస్ను మీరు లాక్ చేసినప్పుడు యాప్లు ఆగిపోతాయి"</b>\n"మీ స్పేస్ను మీరు లాక్ చేసినప్పుడు, మీ స్పేస్లోని యాప్లు ఆగిపోతాయి, వాటి నుండి మీకు నోటిఫికేషన్లు రావు"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"బ్యాక్గ్రౌండ్లో రన్ చేయాల్సిన లేదా క్లిష్టమైన నోటిఫికేషన్లను పంపే యాప్లకు ప్రైవేట్ స్పేస్లు తగినవి కావు, ఉదాహరణకు, మెడికల్ యాప్లు. ఎందుకంటే మీ స్పేస్ లాక్ చేయబడినప్పుడు నోటిఫికేషన్లతో పాటు, బ్యాక్గ్రౌండ్లో యాక్టివిటీ ఆగిపోతుంది.\n\nమీ ప్రైవేట్ స్పేస్ లాక్ అయినప్పుడు మీ ప్రైవేట్ స్పేస్లోని యాప్లు అనుమతి మేనేజర్, గోప్యతా డ్యాష్బోర్డ్, ఇతర సెట్టింగ్లలో కనిపించవు.\n\nమీ ప్రైవేట్ స్పేస్ను కొత్త పరికరానికి తరలించడం సాధ్యం కాదు. మీరు దానిని మరొక పరికరంలో ఉపయోగించాలంటే, మరొక ప్రైవేట్ స్పేస్ను సెటప్ చేయవలసి ఉంటుంది.\n\nమీ పరికరాన్ని కంప్యూటర్కు కనెక్ట్ చేసే లేదా మీ పరికరంలో హానికరమైన యాప్లను ఇన్స్టాల్ చేసే ఎవరైనా మీ ప్రైవేట్ స్పేస్ను యాక్సెస్ చేయగలరు."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"బ్యాక్గ్రౌండ్లో రన్ చేయాల్సిన లేదా క్లిష్టమైన నోటిఫికేషన్లను పంపే యాప్లకు ప్రైవేట్ స్పేస్లు తగినవి కావు, ఉదాహరణకు, మెడికల్ యాప్లు. ఎందుకంటే మీ స్పేస్ లాక్ చేయబడినప్పుడు నోటిఫికేషన్లతో పాటు, బ్యాక్గ్రౌండ్లో యాక్టివిటీ ఆగిపోతుంది.\n\nమీ ప్రైవేట్ స్పేస్ లాక్ అయినప్పుడు మీ ప్రైవేట్ స్పేస్లోని యాప్లు అనుమతి మేనేజర్, గోప్యతా డ్యాష్బోర్డ్, ఇతర సెట్టింగ్లలో కనిపించవు.\n\nమీ ప్రైవేట్ స్పేస్ను కొత్త పరికరానికి రీస్టోర్ చేయడం సాధ్యం కాదు. మీరు దానిని మరొక పరికరంలో ఉపయోగించాలంటే, మరొక ప్రైవేట్ స్పేస్ను సెటప్ చేయవలసి ఉంటుంది.\n\nమీ పరికరాన్ని కంప్యూటర్కు కనెక్ట్ చేసే లేదా మీ పరికరంలో హానికరమైన యాప్లను ఇన్స్టాల్ చేసే ఎవరైనా మీ ప్రైవేట్ స్పేస్ను యాక్సెస్ చేయగలరు."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"ప్రైవేట్ స్పేస్ గూర్చి మరింత తెలుసుకోండి"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"దీనికి కొన్ని క్షణాలు పడుతుంది"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"ప్రైవేట్ స్పేస్ సెటప్ ప్రోగ్రెస్లో ఉంది…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"పరికరాన్ని రీస్టార్ట్ చేయాలా?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"వివరణాత్మక NFC లాగింగ్ అనేది, యాప్ డెవలప్మెంట్ ప్రయోజనాల కోసం మాత్రమే ఉద్దేశించబడింది. బగ్ రిపోర్ట్లలో అదనపు NFC డేటా చేర్చబడుతుంది, ఇందులో ప్రైవేట్ సమాచారం ఉండవచ్చు. ఈ సెట్టింగ్ను మార్చడానికి మీ పరికరాన్ని రీస్టార్ట్ చేయండి."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"రీస్టార్ట్ చేయండి"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"ప్రసారం చేయండి"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"మిర్రర్"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"వైర్లెస్ ప్రదర్శనను ప్రారంభించండి"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"అనుకూలం"</string>
<string name="brightness" msgid="6216871641021779698">"ప్రకాశం స్థాయి"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"పరిసర అనుకూల ప్రకాశం"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"పరిసర అనుకూల ప్రకాశం గురించి పరిచయం"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"మీ స్క్రీన్ బ్రైట్నెస్, ఆటోమేటిక్గా మీ పరిసరాలకు, యాక్టివిటీలకు అనుగుణంగా అడ్జస్ట్ అవుతుంది. మీ ప్రాధాన్యతలను అర్థం చేసుకోవడంలో అనుకూల ప్రకాశానికి సహాయపడటం కోసం స్లయిడర్ను మీరు మాన్యువల్గా లాగవచ్చు."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"ఆన్"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"ఆఫ్"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"ఆప్షన్లు"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"యాక్సెసిబిలిటీ"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"భౌతిక కీబోర్డ్"</string>
- <string name="show_ime" msgid="4334255501724746849">"స్క్రీన్పై కీబోర్డ్ను ఉపయోగించండి"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"ఫిజికల్ కీబోర్డ్ యాక్టివ్గా ఉన్నప్పుడు దీన్ని స్క్రీన్పై ఉంచుతుంది"</string>
<string name="bounce_keys" msgid="7419450970351743904">"బౌన్స్ కీలు"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"ఏదైనా ఒక కీని <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> మిల్లీ సెకన్ల లోపు తిరిగి నొక్కితే కీబోర్డ్ దాన్ని విస్మరిస్తుంది"</string>
<string name="slow_keys" msgid="2891452895499690837">"నిదానంగా పనిచేసే కీలు"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"యూజర్ ఎంచుకున్నది: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"స్పీచ్"</string>
<string name="pointer_speed" msgid="7398649279282675718">"పాయింటర్ వేగం"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"గేమ్ కంట్రోలర్"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"వైబ్రేషన్ దారి మళ్లించు"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"కనెక్ట్ చేసినప్పుడు గేమ్ కంట్రోలర్కు వైబ్రేషన్ని పంపు"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"ఏదేమైనా కొనసాగించండి"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"రద్దు చేయండి"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"మ్యాగ్నిఫికేషన్ సెట్టింగ్లు"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"ఒక వేలుతో ఫ్యాన్ చేయడం"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"మ్యాగ్నిఫయర్ను 1 వేలితో కదపండి"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"స్క్రీన్ చుట్టూ కదిలేందుకు 1 వేలితో లాగండి"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"ఒక వేలును లాగడం ద్వారా జూమ్ ప్రాంతాన్ని తరలించండి."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"రెండు వేళ్లతో లాగడం ద్వారా జూమ్ ప్రాంతాన్ని తరలించండి."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"స్క్రీన్లో కొంత భాగాన్ని మాత్రమే మాగ్నిఫై చేస్తున్నప్పుడు అందుబాటులో ఉండదు"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"జూమ్ చేయడం కోసం బటన్ని నొక్కండి"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"కంటెంట్ను పెద్దదిగా చేయడానికి స్క్రీన్పై త్వరగా జూమ్ - ఇన్ చేయండి"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>జూమ్ చేయడానికి:</b><br/> {0,number,integer}. మ్యాగ్నిఫికేషన్ను ప్రారంభించడానికి షార్ట్కట్ను ఉపయోగించండి<br/> {1,number,integer}. స్క్రీన్ను ట్యాప్ చేయండి<br/> {2,number,integer}. స్క్రీన్ చుట్టూ కదిలేందుకు 2 వేళ్లతో లాగండి<br/> {3,number,integer}. జూమ్ చేయడాన్ని సర్దుబాటు చేయడానికి 2 వేళ్లతో స్క్రీన్ను నియంత్రించండి<br/> {4,number,integer}. మ్యాగ్నిఫికేషన్ను ఆపివేయడానికి షార్ట్కట్ను ఉపయోగించండి<br/><br/><b>తాత్కాలికంగా జూమ్ చేయడానికి:</b><br/> {0,number,integer}. మీ మ్యాగ్నిఫికేషన్ రకం ఫుల్ స్క్రీన్కు సెట్ చేయబడిందని నిర్ధారించుకోండి<br/> {1,number,integer}. మ్యాగ్నిఫికేషన్ను ప్రారంభించడానికి షార్ట్కట్ను ఉపయోగించండి<br/> {2,number,integer}. స్క్రీన్పై ఎక్కడైనా తాకి & హోల్డ్ చేయండి<br/> {3,number,integer}. స్క్రీన్ చుట్టూ కదిలేందుకు వేలితో లాగండి<br/> {4,number,integer}. మ్యాగ్నిఫికేషన్ను ఆపివేయడానికి వేలును స్క్రీన్పై నుండి తీసివేయండి"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>జూమ్ - ఇన్ చేయడానికి:</b><br/> {0,number,integer}. మాగ్నిఫికేషన్ను ప్రారంభించడానికి షార్ట్కట్ను ఉపయోగించండి<br/> {1,number,integer}. స్క్రీన్ను ట్యాప్ చేయండి<br/> {2,number,integer}. స్క్రీన్ చుట్టూ కదిలేందుకు 2 వేళ్లతో లాగండి<br/> {3,number,integer}. జూమ్ చేయడాన్ని సర్దుబాటు చేయడానికి 2 వేళ్లతో స్క్రీన్ను నియంత్రించండి<br/> {4,number,integer}. మ్యాగ్నిఫికేషన్ను ఆపడానికి షార్ట్కట్ను ఉపయోగించండి<br/><br/> మీరు తాత్కాలికంగా కూడా జూమ్ - ఇన్ చేయవచ్చు, ఇంకా మరిన్ని చేయవచ్చు."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>జూమ్ - ఇన్ చేయడానికి:</b><br/> {0,number,integer}. మాగ్నిఫికేషన్ను ప్రారంభించడానికి షార్ట్కట్ను ఉపయోగించండి<br/> {1,number,integer}. స్క్రీన్ను ట్యాప్ చేయండి<br/> {2,number,integer}. స్క్రీన్ చుట్టూ కదిలేందుకు 1 వేలితో లేదా 2 వేళ్లతో లాగండి<br/> {3,number,integer}. జూమ్ చేయడాన్ని సర్దుబాటు చేయడానికి 2 వేళ్లతో స్క్రీన్ను నియంత్రించండి<br/> {4,number,integer}. మ్యాగ్నిఫికేషన్ను ఆపడానికి షార్ట్కట్ను ఉపయోగించండి<br/><br/> మీరు తాత్కాలికంగా కూడా జూమ్ - ఇన్ చేయవచ్చు, ఇంకా మరిన్ని చేయవచ్చు."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"మ్యాగ్నిఫికేషన్ను ఆన్ చేసినప్పుడు, మీ స్క్రీన్పైన దగ్గరకు జూమ్ చేయవచ్చు.\n\n"<b>"జూమ్ చేయడానికి"</b>", మ్యాగ్నిఫికేషన్ను ప్రారంభించి, తర్వాత స్క్రీన్పై ఎక్కడైనా నొక్కండి.\n"<ul><li>"స్క్రోల్ చేయడానికి 2 లేదా అంతకంటే ఎక్కువ వేళ్లతో లాగండి"</li>\n<li>"జూమ్ను సర్దుబాటు చేయడానికి 2 లేదా అంతకంటే ఎక్కువ వేళ్లను దగ్గరకు లేదా దూరానికి లాగండి"</li></ul>\n\n<b>"తాత్కాలికంగా జూమ్ చేయడానికి"</b>", మ్యాగ్నిఫికేషన్ను ప్రారంభించి, తర్వాత స్క్రీన్ను ఎక్కడైనా తాకి & పట్టుకోండి.\n"<ul><li>"స్క్రీన్ పైన కదలడానికి లాగండి"</li>\n<li>"దూరంగా జూమ్ చేయడానికి వేలిని పైకి ఎత్తండి"</li></ul>\n\n"కీబోర్డ్లో లేదా నావిగేషన్ బార్లో మీరు దగ్గరగా జూమ్ చేయలేరు."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g>లో <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>వ పేజీ"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"యాక్సెసిబిలిటీ బటన్ షార్ట్కట్"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"ముఖ్యమైన వ్యక్తులు, యాప్ల నుంచి వచ్చే నోటిఫికేషన్లను మాత్రమే అందించు"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"యాక్టివేషన్ రకాన్ని ఎంచుకోండి"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"సమయం"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"ఉదా. \"9:30 – 5:00 PM\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"క్యాలెండర్"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"ఉదా. \"వ్యక్తిగత క్యాలెండర్\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"మోడ్ను క్రియేట్ చేయండి"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"అనుకూలంగా మార్చు"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"అంతరాయాలను పరిమితం చేయండి"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"అంతరాయం కలిగించవద్దును ఆన్ చేయండి"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"అలారంలు, మీడియా శబ్దాలు అంతరాయం కలిగించగలవు"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"షెడ్యూళ్లు"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"షెడ్యూళ్లను తొలగించండి"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"తొలగించండి"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"ఎడిట్"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"షెడ్యూళ్లు"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"షెడ్యూల్"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"షెడ్యూల్ను సెట్ చేయండి"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"షెడ్యూల్ చేయండి"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> గం., <xliff:g id="MINUTES">%2$d</xliff:g> నిమి."</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"ఆటోమేటిక్గా ఆన్ చేయండి"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"షెడ్యూల్"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"కొన్ని సమయాల్లో ఫోన్ని నిశ్శబ్దంగా ఉంచు"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"అంతరాయం కలిగించవద్దు నియమాలు సెట్ చేయండి"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"శబ్దాలు చేసే అంతరాయాలను అనుమతించండి"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"దృశ్య అంతరాయాలను బ్లాక్ చేయండి"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"విజిబిలిటీ సంకేతాలను అనుమతించండి"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"మిమ్మల్ని రీచ్ అవ్వగల నోటిఫికేషన్లు"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"ఫోకస్ పెట్టండి"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"అదనపు చర్యలు"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"డిస్ప్లే సెట్టింగ్లు"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"డిస్ప్లే ఆప్షన్లు"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"డార్క్ థీమ్ను ఎనేబుల్ చేయండి"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"డార్క్ బ్యాక్గ్రౌండ్లో లైట్ టెక్స్ట్ కోసం OSను, యాప్లను మార్చండి. దీనివల్ల కంటికి హాయిగా ఉండే అవకాశం ఉంది. కొన్ని పరికరాలలో బ్యాటరీ గణనీయంగా సేవ్ అవుతుంది"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{అదనపు మార్పులు ఏవీ లేవు}=1{{effect_1}}=2{{effect_1}, {effect_2}}=3{{effect_1}, {effect_2}, {effect_3}}other{{effect_1}, {effect_2}, అలాగే మరో # ఎఫెక్ట్లు}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"ఫిల్టర్ అంతరాయాలు"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"అంతరాయాలు ఏవీ ఫిల్టర్ చేయబడవు"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ఫిల్టర్ చేసిన నోటిఫికేషన్ల కోసం డిస్ప్లే ఆప్షన్లు"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"\'అంతరాయం కలిగించవద్దు\' మోడ్ ఆన్లో ఉన్నప్పుడు"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"నోటిఫికేషన్ల సౌండ్ రాదు"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"నోటిఫికేషన్ను తెరువు"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"నోటిఫికేషన్లను తాత్కాలికంగా ఆపివేయడాన్ని అనుమతించండి"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"యాప్ చిహ్నంపై నోటిఫికేషన్ డాట్"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"నోటిఫికేషన్ బండిల్స్"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"బబుల్స్"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"బబుల్స్"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"ఈ సంభాషణను బబుల్ చేయండి"</string>
@@ -3522,7 +3581,7 @@
<string name="lock_screen_notifs_redact_work" msgid="3833920196569208430">"గోప్యమైన వర్క్ ప్రొఫైల్ నోటిఫికేషన్లు"</string>
<string name="lock_screen_notifs_redact_work_summary" msgid="3238238380405430156">"లాక్ అయినప్పుడు గోప్యమైన వర్క్ ప్రొఫైల్ కంటెంట్ను చూపుతుంది"</string>
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"మొత్తం నోటిఫికేషన్ కంటెంట్ను చూపించండి"</string>
- <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"గోప్యమైన కంటెంట్ను అన్లాక్లో మాత్రమే చూపండి"</string>
+ <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"గోప్యమైన కంటెంట్ను అన్లాక్లో మాత్రమే చూపుతుంది"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"ఎలాంటి నోటిఫికేషన్లను చూపవద్దు"</string>
<string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"మీ లాక్ స్క్రీన్ ఏమి చూపాలని మీరు కోరుకుంటున్నారు?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"లాక్ స్క్రీన్"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"కేటగిరీలు"</string>
<string name="notification_channels_other" msgid="18159805343647908">"ఇతరం"</string>
<string name="no_channels" msgid="4716199078612071915">"ఈ యాప్ ఏ నోటిఫికేషన్లను పోస్ట్ చేయలేదు"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"ఉపయోగించని కేటగిరీలను చూడండి"</string>
<string name="app_settings_link" msgid="6725453466705333311">"యాప్లోని అదనపు సెట్టింగ్లు"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"ఉపయోగించని కేటగిరీలను చూడండి"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"ఉపయోగించని కేటగిరీలను దాచండి"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"అన్నీ"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"భర్తీ చేయడానికి యాప్లను అనుమతించండి"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"అంతరాయం కలిగించగల యాప్లు"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"మరిన్ని యాప్లను ఎంచుకోండి"</string>
@@ -4497,8 +4559,8 @@
<string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"శక్తివంతమైన GNSS కొలతలు"</string>
<string name="enable_gnss_raw_meas_full_tracking_summary" msgid="3841463141138247167">"డ్యూటీ సైక్లింగ్ లేకుండా అన్ని GNSS నక్షత్రరాశులను మరియు ఫ్రీక్వెన్సీలను ట్రాక్ చేయండి"</string>
<string name="input_method_category" msgid="2252659253631639005">"ఇన్పుట్ విధానం"</string>
- <string name="stylus_handwriting" msgid="2154591374132794563">"స్టైలస్ చేతిరాత"</string>
- <string name="stylus_handwriting_summary" msgid="6333425895172696950">"ఎనేబుల్ అయినప్పుడు, ఎడిటర్ ఫోకస్ చేస్తే, ప్రస్తుత ఇన్పుట్ విధానం స్టైలస్ MotionEventను అందుకుంటుంది."</string>
+ <string name="stylus_handwriting" msgid="2154591374132794563">"స్టయిలస్ చేతిరాత"</string>
+ <string name="stylus_handwriting_summary" msgid="6333425895172696950">"ఎనేబుల్ అయినప్పుడు, ఎడిటర్ ఫోకస్ చేస్తే, ప్రస్తుత ఇన్పుట్ విధానం స్టయిలస్ MotionEventను అందుకుంటుంది."</string>
<string name="device_theme" msgid="5027604586494772471">"పరికర రూపం"</string>
<string name="default_theme" msgid="4815428567082263639">"ఆటోమేటిక్"</string>
<string name="show_operator_name_title" msgid="3355910331531144028">"నెట్వర్క్ పేరు"</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"కేస్"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"బ్యాటరీ"</string>
<string name="settings_panel_title" msgid="346363079938069215">"సెట్టింగ్ల ప్యానెల్"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"ఫోర్స్ డెస్క్టాప్ మోడ్"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ఇతర డిస్ప్లేలలో తప్పనిసరి ప్రయోగాత్మక డెస్క్టాప్ మోడ్"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"ఫ్రీఫార్మ్ విండోలను ఎనేబుల్ చేయండి"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"ఫ్రీఫార్మ్ విండోలకు సంబంధించిన సపోర్ట్ను ఎనేబుల్ చేయండి."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"2వ డిస్ప్లేలో ఫ్రీఫార్మ్ విండోయింగ్ ఎనేబుల్ చేయి"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"ఫ్రీఫార్మ్ విండోలను ప్రత్యామ్నాయ డిస్ప్లేలో మాత్రమే ఎనేబుల్ చేయండి."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"మల్టీ-విండోలో సైజ్ మార్చలేని వాటిని ఎనేబుల్ చేయండి"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"సైజ్ మార్చలేని యాప్లను మల్టీ-విండోలో ఉండేందుకు అనుమతిస్తుంది"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"ఫోర్స్-డార్క్ను ఓవర్రైడ్ చేయడం"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"16KB డెవలపర్ ఆప్షన్ను ఉపయోగించే ముందు ఈ పరికరం తాలూకు డేటా పార్టిషన్ను ext4కి మార్చాలి. ఈ మోడ్లో సాఫ్ట్వేర్ ఖచ్చితత్వానికి హామీ ఇవ్వబడదు, బూట్లోడర్ అన్లాక్ చేయబడినప్పుడు ఫోన్లో స్టోర్ చేయబడిన ఏదైనా డేటా ప్రమాదంలో ఉండవచ్చు. 16KB ఆప్షన్ను యాక్టివేట్ చేయడానికి దీని తర్వాత మరొక సారి రీబూట్ చేయాల్సిన అవసరం ఉంది. మీరు ఈ మోడ్లో ఉన్న తర్వాత, మీరు ఒకసారి రీబూట్ చేయడం ద్వారా 4KB, 16KB మోడ్ల మధ్య ముందుకు వెనుకకు మారవచ్చు. ఈ మోడ్లలో కొన్ని ఫీచర్లు డిజేబుల్ చేయబడతాయి, కాబట్టి కొన్ని అప్లికేషన్లు పని చేయకపోవచ్చు. పరికరాన్ని ప్రొడక్షన్ మోడ్కు అందించడానికి, మీరు 4KB మోడ్కు స్విచ్ అవ్వాలి, ఆపై పరికరాన్ని ఫ్యాక్టరీ రీసెట్ చేసే బూట్లోడర్ను లాక్ చేయాలి. పరికరం విజయవంతంగా Androidలోకి బూట్ అయిన తర్వాత, డెవలపర్ ఆప్షన్లలో OEM అన్లాకింగ్ను డిజేబుల్ చేయండి. నిర్ధారించిన తర్వాత పరికరం పూర్తిగా తొలగించబడుతుంది, ఫైల్సిస్టమ్ ext4కి మార్చబడుతుంది. ఇది పూర్తయిన తర్వాత, దయచేసి 16KBని మళ్లీ ఎనేబుల్ చేయడానికి తిరిగి రండి."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"మొత్తం డేటాను ఫ్యాక్టరీ రీసెట్ చేయండి"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"డేటా పార్టిషన్ను ext4కి రీఫార్మాట్ చేయడం, పూర్తిగా తొలగించడం విఫలమైంది."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16KB మోడ్ కోసం బూట్లోడర్ను అన్లాక్ చేయడం అవసరం"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"బూట్లోడర్ అన్లాక్ అవసరం"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"ఈ పరికరంలో 16KB డెవలపర్ ఆప్షన్ను ఉపయోగించే ముందు దాని బూట్లోడర్ను అన్లాక్ చేసి ఉండాలి. ఈ మోడ్లో సాఫ్ట్వేర్ ఖచ్చితత్వానికి హామీ ఉండదు, బూట్లోడర్ అన్లాక్ అయినప్పుడు ఫోన్లో స్టోర్ అయిన ఏదైనా డేటా ప్రమాదంలో ఉండవచ్చు. 16KB మోడ్ను యాక్టివేట్ చేసినప్పుడు మొత్తం యూజర్ డేటా, సెట్టింగ్లు పూర్తిగా తొలగించబడతాయి. ఒక్కసారి బూట్లోడర్ను అన్లాక్ చేసిన తర్వాత, 16KB ఆప్షన్ను యాక్టివేట్ చేయడానికి రెండుసార్లు రీబూట్ చేయాల్సిన అవసరం ఉంది. మీరు ఈ మోడ్లో ఉన్న తర్వాత, ఒకసారి రీబూట్ చేయడం ద్వారా 4KB, 16KB మోడ్ల మధ్య ముందుకు వెనుకకు మారవచ్చు. ఈ మోడ్లలో కొన్ని ఫీచర్లు డిజేబుల్ అవుతాయి, కాబట్టి కొన్ని అప్లికేషన్లు పని చేయకపోవచ్చు. పరికరాన్ని ప్రొడక్షన్ మోడ్కు అందించడానికి, మీరు 4KB మోడ్కు స్విచ్ అవ్వాలి, ఆపై పరికరాన్ని OEM/బూట్లోడర్ లాక్ చేయాలి (తద్వారా ఇది ఫ్యాక్టరీ రీసెట్ అవుతుంది). దయచేసి బూట్లోడర్ను అన్లాక్ చేసి, మళ్లీ ట్రై చేయండి. దీన్ని ఎలా చేయాలో తెలిపే సూచనలను <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a> లింక్లో చూడవచ్చు"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"4KB పేజీ అగ్నోస్టిక్ మోడ్ను ఉపయోగించడం"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"మీరు పేజీ అగ్నోస్టిక్ మోడ్కు సంబంధించిన 4KB మోడ్లో ఉన్నారు. ఈ మోడ్లో సాఫ్ట్వేర్ ఖచ్చితత్వానికి హామీ ఇవ్వబడదు, బూట్లోడర్ అన్లాక్ చేయబడినప్పుడు ఫోన్లో స్టోర్ చేయబడిన ఏదైనా డేటా ప్రమాదంలో ఉండవచ్చు. ఈ మోడ్లలో కొన్ని ఫీచర్లు డిజేబుల్ చేయబడతాయి, కాబట్టి కొన్ని అప్లికేషన్లు పని చేయకపోవచ్చు. ప్రొడక్షన్ మోడ్లోకి మళ్లీ ఎంటర్ అవ్వడానికి, మీరు తప్పనిసరిగా పరికరం తాలూకు బూట్లోడర్ను లాక్ చేయాలి. మరింత చదవడానికి ట్యాప్ చేయండి."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"మీరు పేజీ అగ్నోస్టిక్ మోడ్కు సంబంధించిన 4KB మోడ్లో ఉన్నారు. ఈ మోడ్లో సాఫ్ట్వేర్ ఖచ్చితత్వానికి హామీ ఇవ్వబడదు, బూట్లోడర్ అన్లాక్ చేయబడినప్పుడు ఫోన్లో స్టోర్ చేయబడిన ఏదైనా డేటా ప్రమాదంలో ఉండవచ్చు. ఈ మోడ్లలో కొన్ని ఫీచర్లు డిజేబుల్ చేయబడతాయి, కాబట్టి కొన్ని అప్లికేషన్లు పని చేయకపోవచ్చు. ప్రొడక్షన్ మోడ్లోకి మళ్లీ ఎంటర్ అవ్వడానికి, మీరు తప్పనిసరిగా పరికరం తాలూకు బూట్లోడర్ను లాక్ చేయాలి. ఇది పరికరాన్ని మళ్లీ ఫ్యాక్టరీ రీసెట్ చేసి, ప్రొడక్షన్ సెట్టింగ్లకు రీస్టోర్ చేస్తుంది. పరికరం విజయవంతంగా Androidలోకి బూట్ అయిన తర్వాత, డెవలపర్ ఆప్షన్లలో OEM అన్లాకింగ్ను డిజేబుల్ చేయండి. పరికరం Androidలో బూట్ చేయడంలో విఫలమైతే లేదా స్థిరంగా లేకపోతే, <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> వెబ్సైట్ నుండి తాజా ఫ్యాక్టరీ ఫర్మ్వేర్ ఇమేజ్లతో పరికరాన్ని మళ్లీ ఫ్లాష్ చేయండి లేదా <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> వెబ్సైట్ను ఉపయోగించండి, అలాగే \'పరికరాన్ని పూర్తిగా తొలగించండి\', \'బూట్లోడర్ను లాక్ చేయండి\', \'అన్ని పార్టిషన్లను బలవంతంగా ఫ్లాష్ చేయండి\' వంటి ఆప్షన్లను ఎంచుకోండి."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"16KB పేజీ అగ్నోస్టిక్ మోడ్ను ఉపయోగించడం"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"మీరు పేజీ అగ్నోస్టిక్ మోడ్కు సంబంధించిన 16KB మోడ్లో ఉన్నారు. ఈ మోడ్లో సాఫ్ట్వేర్ ఖచ్చితత్వానికి హామీ ఇవ్వబడదు, బూట్లోడర్ అన్లాక్ చేయబడినప్పుడు ఫోన్లో స్టోర్ చేయబడిన ఏదైనా డేటా ప్రమాదంలో ఉండవచ్చు. ఈ మోడ్లలో కొన్ని ఫీచర్లు డిజేబుల్ చేయబడతాయి, కాబట్టి కొన్ని అప్లికేషన్లు పని చేయకపోవచ్చు. ప్రొడక్షన్ మోడ్లోకి మళ్లీ ఎంటర్ అవ్వడానికి, మీరు తప్పనిసరిగా 4K మోడ్కు స్విచ్ అవ్వాలి, ఆపై పరికరం తాలూకు బూట్లోడర్ను లాక్ చేయాలి. మరింత చదవడానికి ట్యాప్ చేయండి."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"మీరు పేజీ అగ్నోస్టిక్ మోడ్కు సంబంధించిన 16KB మోడ్లో ఉన్నారు. ఈ మోడ్లో సాఫ్ట్వేర్ ఖచ్చితత్వానికి హామీ ఇవ్వబడదు, బూట్లోడర్ అన్లాక్ చేయబడినప్పుడు ఫోన్లో స్టోర్ చేయబడిన ఏదైనా డేటా ప్రమాదంలో ఉండవచ్చు. ఈ మోడ్లలో కొన్ని ఫీచర్లు డిజేబుల్ చేయబడతాయి, కాబట్టి కొన్ని అప్లికేషన్లు పని చేయకపోవచ్చు. ప్రొడక్షన్ మోడ్లోకి మళ్లీ ఎంటర్ అవ్వడానికి, మీరు తప్పనిసరిగా 4K మోడ్కు స్విచ్ అవ్వాలి, ఆపై పరికరం తాలూకు బూట్లోడర్ను లాక్ చేయాలి. ఇది పరికరాన్ని మళ్లీ ఫ్యాక్టరీ రీసెట్ చేసి, ప్రొడక్షన్ సెట్టింగ్లకు రీస్టోర్ చేస్తుంది. పరికరం విజయవంతంగా Androidలోకి బూట్ అయిన తర్వాత, డెవలపర్ ఆప్షన్లలో OEM అన్లాకింగ్ను డిజేబుల్ చేయండి. పరికరం Androidలో బూట్ చేయడంలో విఫలమైతే లేదా స్థిరంగా లేకపోతే, <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> వెబ్సైట్ నుండి తాజా ఫ్యాక్టరీ ఫర్మ్వేర్ ఇమేజ్లతో పరికరాన్ని మళ్లీ ఫ్లాష్ చేయండి లేదా <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> వెబ్సైట్ను ఉపయోగించండి, అలాగే \'పరికరాన్ని పూర్తిగా తొలగించండి\', \'బూట్లోడర్ను లాక్ చేయండి\', \'అన్ని పార్టిషన్లను బలవంతంగా ఫ్లాష్ చేయండి\' వంటి ఆప్షన్లను ఎంచుకోండి."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"మీరు పేజీ సైజ్ ప్రభావం చూపని మోడ్కు సంబంధించిన 16KB మోడ్లో ఉన్నారు. ఈ మోడ్లో సాఫ్ట్వేర్ ఇంటిగ్రిటీకి (ఖచ్చితత్వానికి) హామీ ఉండదు, బూట్లోడర్ అన్లాక్ చేయబడినప్పుడు ఫోన్లో స్టోర్ అయిన ఏదైనా డేటా రిస్క్లో పడే అవకాశం ఉంది. ఈ మోడ్లలో కొన్ని ఫీచర్లు డిజేబుల్ చేయబడతాయి, కాబట్టి కొన్ని అప్లికేషన్లు పని చేయకపోవచ్చు. ప్రొడక్షన్ మోడ్లోకి మళ్లీ ఎంటర్ అవ్వడానికి, మీరు తప్పనిసరిగా 4KB మోడ్కు స్విచ్ అవ్వాలి, ఆపై పరికరం తాలూకు బూట్లోడర్ను లాక్ చేయాలి. మరింత చదవడానికి ట్యాప్ చేయండి."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"మీరు పేజీ సైజ్ ప్రభావం చూపని మోడ్కు సంబంధించిన 16KB మోడ్లో ఉన్నారు. ఈ మోడ్లో సాఫ్ట్వేర్ ఇంటిగ్రిటీకి (ఖచ్చితత్వానికి) హామీ ఉండదు, బూట్లోడర్ అన్లాక్ చేయబడినప్పుడు ఫోన్లో స్టోర్ అయిన ఏదైనా డేటా రిస్క్లో పడే అవకాశం ఉంది. ఈ మోడ్లలో కొన్ని ఫీచర్లు డిజేబుల్ చేయబడతాయి, కాబట్టి కొన్ని అప్లికేషన్లు పని చేయకపోవచ్చు. ప్రొడక్షన్ మోడ్లోకి మళ్లీ ఎంటర్ అవ్వడానికి, మీరు తప్పనిసరిగా 4KB మోడ్కు స్విచ్ అవ్వాలి, ఆపై పరికరం తాలూకు బూట్లోడర్ను లాక్ చేయాలి. ఇది పరికరాన్ని మళ్లీ ఫ్యాక్టరీ రీసెట్ చేసి, ప్రొడక్షన్ సెట్టింగ్లకు రీస్టోర్ చేస్తుంది. పరికరం విజయవంతంగా Androidలోకి బూట్ అయిన తర్వాత, డెవలపర్ ఆప్షన్లలో OEM అన్లాకింగ్ను డిజేబుల్ చేయండి. పరికరం Androidలో బూట్ చేయడంలో విఫలమైతే లేదా స్థిరంగా లేకపోతే <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> వెబ్సైట్ నుండి తాజా ఫ్యాక్టరీ ఫర్మ్వేర్ ఇమేజ్లతో పరికరాన్ని మళ్లీ ఫ్లాష్ చేయండి లేదా <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> వెబ్సైట్ను ఉపయోగించండి, అలాగే \'పరికరాన్ని పూర్తిగా తొలగించండి\', \'బూట్లోడర్ను లాక్ చేయండి\', \'అన్ని పార్టిషన్లను బలవంతంగా ఫ్లాష్ చేయండి\' వంటి ఆప్షన్లను ఎంచుకోండి."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16KB పేజీ అగ్నోస్టిక్ మోడ్"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"మరింత చదవండి"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"బగ్ రిపోర్ట్ హ్యాండ్లర్"</string>
@@ -5007,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"యాప్ను పిన్ చేయడాన్ని ఉపయోగించండి"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"డెవలపర్ ఆప్షన్లను ఉపయోగించండి"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"ప్రింట్ సర్వీస్ను ఉపయోగించండి"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"మల్టిపుల్ యూజర్లను అనుమతించండి"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"అనుమతించు, బహుళ, యూజర్, అనుమతి, అనేకం"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"పలు, యూజర్లు, ప్రొఫైళ్లు, వ్యక్తులు, ఖాతాలు, మారడం, చాలా"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"వైర్లెస్ డీబగ్గింగ్ ఫీచర్ను ఉపయోగించండి"</string>
@@ -5121,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"మీ టాబ్లెట్ డాక్ చేయబడినప్పుడు మీ స్క్రీన్పై మీకు ఏమి కనిపించాలో ఎంచుకోండి. స్క్రీన్ సేవర్ను ఉపయోగించినప్పుడు మీ పరికరం మరింత పవర్ను ఉపయోగించవచ్చు."</string>
<string name="customize_button_title" msgid="1110284655990203359">"అనుకూలంగా మార్చండి"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>ను అనుకూలంగా మార్చండి"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"ఫ్రీఫారమ్ సపోర్ట్ను ఎనేబుల్ చేయడానికి రీబూట్ చేయడం అవసరం."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"ద్వితీయ డిస్ప్లేలలో డెస్క్టాప్ మోడ్ను బలవంతంగా ఆన్ చేయడానికి రీబూట్ చేయడం అవసరం."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"లెగసీ ఫ్రీఫార్మ్ విండోయింగ్ సపోర్ట్ను ఎనేబుల్ చేయడానికి రీబూట్ చేయడం అవసరం."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"ఫ్రీఫార్మ్ విండోయింగ్ సపోర్ట్ను మార్చడానికి రీబూట్ చేయడం అవసరం."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"ప్రత్యామ్నాయ డిస్ప్లేలలో ఫ్రీఫార్మ్ విండోయింగ్ను బలవంతంగా ఆన్ చేయడానికి రీబూట్ చేయడం అవసరం."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"ఇప్పుడే రీబూట్ చేయండి"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"తర్వాత రీబూట్ చేయండి"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"స్పేషియల్ ఆడియో"</string>
@@ -5351,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"స్ట్రీమ్ వినండి"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>తో వినడానికి ఆడియో స్ట్రీమ్ QR కోడ్ను స్కాన్ చేయండి"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"షేర్ చేస్తున్నప్పుడు పాస్వర్డ్ను చేయడం సాధ్యం కాదు. పాస్వర్డ్ మార్చడానికి, ముందుగా ఆడియో షేరింగ్ను ఆఫ్ చేయండి."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-th/arrays.xml b/res/values-th/arrays.xml
index ecd5bec..9adb943 100644
--- a/res/values-th/arrays.xml
+++ b/res/values-th/arrays.xml
@@ -509,4 +509,6 @@
<item msgid="3653377604690057780">"ละครเวที"</item>
<item msgid="3843711267408385410">"ดอกไม้"</item>
</string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 4127e69..4e73020 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"การตั้งค่าเครื่องช่วยฟัง"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"ทางลัด ความเข้ากันได้กับเครื่องช่วยฟัง"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"ค่าที่กำหนดล่วงหน้า"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"ไม่มีค่าที่กำหนดล่วงหน้าที่นักโสตสัมผัสวิทยาตั้งโปรแกรมไว้"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"ไม่สามารถอัปเดตค่าที่กำหนดล่วงหน้า"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"เอาต์พุตเสียง"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"เกี่ยวกับเอาต์พุตเสียง"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"เพิ่มใบหน้าและ<xliff:g id="WATCH">%s</xliff:g> แล้ว"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"เพิ่มใบหน้า ลายนิ้วมือ และ<xliff:g id="WATCH">%s</xliff:g> แล้ว"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"เพิ่มใบหน้า ลายนิ้วมือ และ<xliff:g id="WATCH">%s</xliff:g> แล้ว"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"ต้องดำเนินการเนื่องจากการตรวจสอบตัวตนเปิดอยู่"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"การปลดล็อก Remote Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"เพิ่มนาฬิกาแล้ว"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"ตั้งค่านาฬิกา"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"ดูข้อมูลเพิ่มเติมเกี่ยวกับการปลดล็อกด้วยนาฬิกา"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"เพิ่มนาฬิกา"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"นำนาฬิกาออก"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"การปลดล็อกด้วยลายนิ้วมือและใบหน้า"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"การปลดล็อกด้วยใบหน้าและลายนิ้วมือ"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"การปลดล็อกด้วยใบหน้าและลายนิ้วมือสำหรับงาน"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ต้องตั้งค่า"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"เพิ่มใบหน้าและลายนิ้วมือแล้ว"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"ติดตั้งแอป"</b>\n"ติดตั้งแอปที่คุณต้องการเก็บไว้เป็นส่วนตัวในพื้นที่ทำงาน"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"ข้อควรจำ"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"แอปหยุดทำงานเมื่อคุณล็อกพื้นที่ทำงาน"</b>\n"เมื่อคุณล็อกพื้นที่ทำงาน จะทำให้แอปในพื้นที่ทำงานดังกล่าวหยุดทำงานโดยไม่มีการแจ้งเตือนคุณ"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"พื้นที่ส่วนตัวไม่เหมาะสำหรับแอปที่ต้องทำงานเบื้องหลังหรือส่งการแจ้งเตือนที่สำคัญ เช่น แอปการแพทย์ เนื่องจากการแจ้งเตือนและกิจกรรมเบื้องหลังจะหยุดเมื่อมีการล็อกพื้นที่\n\nแอปในพื้นที่ส่วนตัวจะไม่ปรากฏในเครื่องมือจัดการสิทธิ์ แดชบอร์ดความเป็นส่วนตัว และการตั้งค่าอื่นๆ เมื่อล็อกพื้นที่ส่วนตัวไว้\n\nคุณย้ายพื้นที่ส่วนตัวไปยังอุปกรณ์ใหม่ไม่ได้ และจะต้องตั้งค่าพื้นที่ส่วนตัวอีกแห่งหากต้องการใช้ในอุปกรณ์เครื่องอื่น\n\nใครก็ตามที่เชื่อมต่ออุปกรณ์ของคุณเข้ากับคอมพิวเตอร์หรือติดตั้งแอปที่เป็นอันตรายในอุปกรณ์ดังกล่าวอาจเข้าถึงพื้นที่ส่วนตัวของคุณได้"</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"พื้นที่ส่วนตัวไม่เหมาะสำหรับแอปที่ต้องทำงานเบื้องหลังหรือส่งการแจ้งเตือนที่สำคัญ เช่น แอปการแพทย์ เนื่องจากการแจ้งเตือนและกิจกรรมเบื้องหลังจะหยุดเมื่อมีการล็อกพื้นที่\n\nแอปในพื้นที่ส่วนตัวจะไม่ปรากฏในเครื่องมือจัดการสิทธิ์ แดชบอร์ดความเป็นส่วนตัว และการตั้งค่าอื่นๆ เมื่อล็อกพื้นที่ส่วนตัวไว้\n\nคุณคืนค่าพื้นที่ส่วนตัวไปยังอุปกรณ์ใหม่ไม่ได้ และจะต้องตั้งค่าพื้นที่อีกแห่งหากต้องการใช้ในอุปกรณ์เครื่องอื่น\n\nใครก็ตามที่เชื่อมต่ออุปกรณ์ของคุณเข้ากับคอมพิวเตอร์หรือติดตั้งแอปที่เป็นอันตรายในอุปกรณ์ดังกล่าวอาจเข้าถึงพื้นที่ส่วนตัวของคุณได้"</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"ดูข้อมูลเพิ่มเติมเกี่ยวกับพื้นที่ส่วนตัว"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"การดำเนินการนี้จะใช้เวลาสักครู่"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"กำลังตั้งค่าพื้นที่ส่วนตัว…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"รีสตาร์ทอุปกรณ์ใช่ไหม"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"การบันทึกรายละเอียดของ NFC มีไว้เพื่อการพัฒนาเท่านั้น ข้อมูลเพิ่มเติมของ NFC จะรวมอยู่ในรายงานข้อบกพร่อง ซึ่งอาจมีข้อมูลส่วนตัว รีสตาร์ทอุปกรณ์เพื่อเปลี่ยนการตั้งค่านี้"</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"รีสตาร์ท"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"แคสต์"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"มิเรอร์"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"เปิดใช้การแสดงผลแบบไร้สาย"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"ปรับอัตโนมัติ"</string>
<string name="brightness" msgid="6216871641021779698">"ระดับความสว่าง"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"ปรับความสว่างอัตโนมัติ"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"เกี่ยวกับฟีเจอร์ปรับความสว่างอัตโนมัติ"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"ความสว่างของหน้าจอจะปรับให้เหมาะสมกับสภาพแวดล้อมและกิจกรรมที่คุณทำโดยอัตโนมัติ คุณเลื่อนแถบเลื่อนด้วยตนเองได้เพื่อช่วยให้การปรับความสว่างอัตโนมัติทราบความสว่างที่คุณต้องการ"</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"เปิด"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"ปิด"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"ตัวเลือก"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"การช่วยเหลือพิเศษ"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"แป้นพิมพ์จริง"</string>
- <string name="show_ime" msgid="4334255501724746849">"ใช้แป้นพิมพ์บนหน้าจอ"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"เปิดทิ้งไว้บนหน้าจอในระหว่างใช้งานแป้นพิมพ์จริง"</string>
<string name="bounce_keys" msgid="7419450970351743904">"คีย์ตีกลับ"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"แป้นพิมพ์จะละเว้นการกดปุ่มเดียวกันซ้ำๆ อย่างรวดเร็วภายใน <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> มิลลิวินาที"</string>
<string name="slow_keys" msgid="2891452895499690837">"เพิ่มระยะเวลาในการกดปุ่ม"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"ผู้ใช้เลือก: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"เสียงพูด"</string>
<string name="pointer_speed" msgid="7398649279282675718">"ความเร็วของตัวชี้"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"อุปกรณ์ควบคุมเกม"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"เปลี่ยนเส้นทางการสั่น"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"ส่งการสั่นเตือนไปที่อุปกรณ์ควบคุมเกมเมื่อมีการเชื่อมต่อ"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"ดำเนินการต่อ"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"ยกเลิก"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"การตั้งค่าการขยาย"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"การแพนกล้องด้วยนิ้วเดียว"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"ย้ายแว่นขยายด้วย 1 นิ้ว"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"ใช้ 1 นิ้วลากเพื่อย้ายไปรอบๆ หน้าจอ"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"ย้ายพื้นที่ในการขยายโดยลากนิ้วเพียงนิ้วเดียว"</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"ย้ายพื้นที่ในการขยายโดยลากนิ้ว 2 นิ้ว"</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"ไม่พร้อมใช้งานในขณะที่ขยายเพียงบางส่วนของหน้าจอ"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"แตะปุ่มเพื่อซูม"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"ซูมเข้าอย่างรวดเร็วบนหน้าจอเพื่อทำให้เนื้อหาใหญ่ขึ้น"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>วิธีซูมเข้า</b><br/> {0,number,integer}. ใช้ทางลัดเพื่อเริ่มการขยาย<br/> {1,number,integer}. แตะหน้าจอ<br/> {2,number,integer}. ใช้ 2 นิ้วลากเพื่อย้ายไปรอบๆ หน้าจอ<br/> {3,number,integer}. บีบ 2 นิ้วเพื่อปรับการซูม<br/> {4,number,integer}. ใช้ทางลัดเพื่อหยุดการขยาย<br/><br/> <b>วิธีซูมเข้าชั่วคราว</b><br/> {0,number,integer}. ตรวจสอบว่าตั้งค่าประเภทการขยายเป็นแบบเต็มหน้าจอ<br/> {1,number,integer}. ใช้ทางลัดเพื่อเริ่มการขยาย<br/> {2,number,integer}. แตะที่ใดก็ได้บนหน้าจอค้างไว้<br/> {3,number,integer}. ลากนิ้วเพื่อย้ายไปรอบๆ หน้าจอ<br/> {4,number,integer}. ยกนิ้วขึ้นเพื่อหยุดการขยาย"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>วิธีซูมเข้า</b><br/> {0,number,integer} ใช้ทางลัดเพื่อเริ่มการขยาย<br/> {1,number,integer} แตะหน้าจอ<br/> {2,number,integer} ใช้ 2 นิ้วลากเพื่อย้ายไปรอบๆ หน้าจอ<br/> {3,number,integer} บีบ 2 นิ้วเพื่อปรับการซูม<br/> {4,number,integer} ใช้ทางลัดเพื่อหยุดใช้งานการขยาย<br/><br/> คุณยังซูมเข้าชั่วคราวและอื่นๆ ได้ด้วย"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>วิธีซูมเข้า</b><br/> {0,number,integer} ใช้ทางลัดเพื่อเริ่มการขยาย<br/> {1,number,integer} แตะหน้าจอ<br/> {2,number,integer} ใช้ 1 หรือ 2 นิ้วลากเพื่อย้ายไปรอบๆ หน้าจอ<br/> {3,number,integer}. บีบ 2 นิ้วเพื่อปรับการซูม<br/> {4,number,integer} ใช้ทางลัดเพื่อหยุดใช้งานการขยาย<br/><br/> คุณยังซูมเข้าชั่วคราวและอื่นๆ ได้ด้วย"</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"คุณจะซูมหน้าจอเข้าได้เมื่อเปิดการขยาย\n\n"<b>"วิธีซูมคือ"</b>" เริ่มการขยาย จากนั้นแตะบริเวณที่ต้องการซูมในหน้าจอ\n"<ul><li>"ลากนิ้วอย่างน้อย 2 นิ้วเพื่อเลื่อน"</li>\n<li>"บีบนิ้วอย่างน้อย 2 นิ้วเพื่อปรับการซูม"</li></ul>\n\n<b>"วิธีซูมชั่วคราวคือ"</b>" เริ่มการขยาย จากนั้นแตะบริเวณที่ต้องการซูมในหน้าจอค้างไว้\n"<ul><li>"ลากเพื่อไปยังส่วนต่างๆ ในหน้าจอ"</li>\n<li>"ยกนิ้วขึ้นเพื่อซูมออก"</li></ul>\n\n"คุณซูมเข้าโดยใช้แป้นพิมพ์หรือแถบนำทางไม่ได้"</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"หน้า <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> จาก <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"ทางลัดปุ่มการช่วยเหลือพิเศษ"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"รับเฉพาะการแจ้งเตือนจากผู้คนและแอปที่สำคัญ"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"เลือกประเภทการเปิดใช้งาน"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"เวลา"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"เช่น \"21:30 น. - 17:00 น.\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"ปฏิทิน"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"เช่น \"ปฏิทินส่วนตัว\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"สร้างโหมด"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"กำหนดเอง"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"จำกัดการรบกวน"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"เปิด \"ห้ามรบกวน\""</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"ให้เสียงของการแจ้งเตือนและสื่อรบกวนได้"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"กำหนดการ"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"ลบกำหนดการ"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"ลบ"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"แก้ไข"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"กำหนดการ"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"กำหนดการ"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"เพิ่มปฏิทิน"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"ใช้ปฏิทินของคุณ"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"กำหนดเวลา"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"ตั้งกำหนดเวลา"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"กำหนดเวลา"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> ชั่วโมง <xliff:g id="MINUTES">%2$d</xliff:g> นาที"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"เปิดอัตโนมัติ"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"กำหนดการ"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"ปิดเสียงโทรศัพท์ในบางช่วงเวลา"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"ตั้งกฎห้ามรบกวน"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"อนุญาตการรบกวนที่มีเสียง"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"บล็อกสิ่งรบกวนการมองเห็น"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"อนุญาตสัญญาณที่มองเห็น"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"การแจ้งเตือนที่ส่งถึงคุณได้"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"มีสมาธิอยู่เสมอ"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"การทำงานเพิ่มเติม"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"การตั้งค่าการแสดงผล"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"ตัวเลือกการแสดงผล"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"เปิดใช้ธีมมืด"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"สลับระบบปฏิบัติการและแอปเพื่อให้ได้ข้อความสีอ่อนและพื้นหลังสีเข้มตามที่ต้องการ ซึ่งอาจสบายตากว่ารวมถึงประหยัดแบตเตอรี่ได้อย่างมากในอุปกรณ์บางเครื่อง"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ไม่มีการเปลี่ยนแปลงการแสดงผล}=1{{effect_1}}=2{{effect_1} และ {effect_2}}=3{{effect_1}, {effect_2} และ {effect_3}}other{{effect_1}, {effect_2} และอีก # รายการ}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"กรองการรบกวน"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"ไม่ได้กรองการรบกวน"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"ตัวเลือกการแสดงผลสำหรับการแจ้งเตือนที่กรอง"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"เมื่อเปิดโหมดห้ามรบกวน"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"ไม่มีเสียงเวลาแจ้งเตือน"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"เปิดการแจ้งเตือน"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"อนุญาตให้เลื่อนการแจ้งเตือน"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"เครื่องหมายจุดแสดงการแจ้งเตือนบนไอคอนแอป"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"กลุ่มการแจ้งเตือน"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"บับเบิล"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"บับเบิล"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"แสดงการสนทนานี้เป็นบับเบิล"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"หมวดหมู่"</string>
<string name="notification_channels_other" msgid="18159805343647908">"อื่นๆ"</string>
<string name="no_channels" msgid="4716199078612071915">"แอปนี้ไม่ได้โพสต์การแจ้งเตือนใดๆ"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"แสดงหมวดหมู่ที่ไม่ได้ใช้"</string>
<string name="app_settings_link" msgid="6725453466705333311">"การตั้งค่าเพิ่มเติมในแอป"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"แสดงหมวดหมู่ที่ไม่ได้ใช้"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"ซ่อนหมวดหมู่ที่ไม่ได้ใช้"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"ทั้งหมด"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"อนุญาตให้แอปลบล้าง"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"แอปที่รบกวนคุณได้"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"เลือกแอปเพิ่มเติม"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{เปลี่ยนเป็นเฉพาะปลุกเท่านั้นเป็นเวลา 1 ชั่วโมงจนถึง {time}}other{เปลี่ยนเป็นเฉพาะปลุกเท่านั้นเป็นเวลา # ชั่วโมงจนถึง {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"เปลี่ยนเป็นเฉพาะปลุกเท่านั้นจนถึง <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"เปลี่ยนเป็นรบกวนได้เสมอ"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"เปลี่ยนชื่อ"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"เปลี่ยนไอคอน"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"เปลี่ยนไอคอน"</string>
<string name="warning_button_text" msgid="1274234338874005639">"คำเตือน"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"ปิด"</string>
<string name="device_feedback" msgid="5351614458411688608">"ส่งความคิดเห็นเกี่ยวกับอุปกรณ์นี้"</string>
@@ -4073,7 +4129,7 @@
<string name="storage_summary" msgid="5903562203143572768">"ใช้ไป <xliff:g id="PERCENTAGE">%1$s</xliff:g> - เหลือ <xliff:g id="FREE_SPACE">%2$s</xliff:g>"</string>
<string name="display_dashboard_summary" msgid="1599453894989339454">"ธีมมืด ขนาดตัวอักษร ความสว่าง"</string>
<string name="memory_summary" msgid="8221954450951651735">"ใช้หน่วยความจำไป <xliff:g id="USED_MEMORY">%1$s</xliff:g> จาก <xliff:g id="TOTAL_MEMORY">%2$s</xliff:g> โดยเฉลี่ย"</string>
- <string name="users_summary" msgid="8473589474976307510">"ลงชื่อเข้าใช้ในฐานะ<xliff:g id="USER_NAME">%1$s</xliff:g>"</string>
+ <string name="users_summary" msgid="8473589474976307510">"ลงชื่อเข้าใช้ในชื่อ <xliff:g id="USER_NAME">%1$s</xliff:g>"</string>
<string name="android_version_summary" msgid="7818952662015042768">"อัปเดตเป็น Android <xliff:g id="VERSION">%1$s</xliff:g> แล้ว"</string>
<string name="android_version_pending_update_summary" msgid="5404532347171027730">"มีเวอร์ชันอัปเดต"</string>
<string name="disabled_by_policy_title" msgid="6852347040813204503">"บล็อกไว้ตามนโยบายการทำงาน"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"กล่อง"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"แบตเตอรี่"</string>
<string name="settings_panel_title" msgid="346363079938069215">"แผงควบคุมการตั้งค่า"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"บังคับใช้โหมดเดสก์ท็อป"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"บังคับใช้โหมดเดสก์ท็อปแบบทดลองในจอแสดงผลรอง"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"เปิดใช้หน้าต่างรูปแบบอิสระ"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"เปิดใช้การรองรับหน้าต่างรูปแบบอิสระ"</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"เปิดใช้หน้าต่างรูปแบบอิสระบนจอแสดงผลสำรอง"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"เปิดใช้หน้าต่างรูปแบบอิสระบนจอแสดงผลสำรองเท่านั้น"</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"เปิดใช้แอปแบบปรับขนาดไม่ได้ในหลายหน้าต่าง"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"อนุญาตให้แอปแบบปรับขนาดไม่ได้แสดงในหลายหน้าต่าง"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"ลบล้างฟีเจอร์บังคับใช้ธีมมืด"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"ต้องแปลงพาร์ติชันข้อมูลของอุปกรณ์นี้เป็น ext4 ก่อนที่จะใช้ตัวเลือกสำหรับนักพัฒนาแอปแบบ 16KB ไม่รับประกันความสมบูรณ์ของซอฟต์แวร์ในโหมดนี้ และข้อมูลใดๆ ที่จัดเก็บในโทรศัพท์ในขณะที่ Bootloader ไม่ได้ล็อกอยู่อาจมีความเสี่ยง การเปิดใช้งานตัวเลือก 16KB จะต้องมีการรีบูตอีกครั้งหลังจากนี้ เมื่ออยู่ในโหมดนี้แล้ว คุณจะเปลี่ยนไปมาระหว่างโหมด 4KB กับ 16KB ได้ด้วยการรีบูตครั้งเดียว ฟีเจอร์บางอย่างจะถูกปิดใช้ในโหมดเหล่านี้ ดังนั้นบางแอปพลิเคชันจึงอาจไม่ทำงาน หากต้องการให้อุปกรณ์กลับสู่โหมดโปรดักชัน คุณต้องเปลี่ยนกลับไปใช้โหมด 4KB จากนั้นล็อก Bootloader ซึ่งจะรีเซ็ตอุปกรณ์เป็นค่าเริ่มต้น หลังจากที่อุปกรณ์บูตเข้าสู่ Android ได้สำเร็จ ให้ปิดการปลดล็อก OEM ในตัวเลือกสำหรับนักพัฒนาแอป อุปกรณ์จะถูกล้างข้อมูลและระบบไฟล์จะเปลี่ยนเป็น ext4 หลังจากการยืนยัน หลังจากการดำเนินการนี้เสร็จสมบูรณ์ โปรดกลับมาเปิดใช้โหมด 16KB อีกครั้ง"</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"ลบข้อมูลทั้งหมด"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"ฟอร์แมตใหม่และล้างพาร์ติชันข้อมูลเป็น ext4 ไม่สำเร็จ"</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"ต้องปลดล็อก Bootloader สำหรับโหมด 16KB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"ต้องปลดล็อก Bootloader"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"อุปกรณ์นี้ต้องมีการปลดล็อก Bootloader ก่อนที่จะใช้ตัวเลือกสำหรับนักพัฒนาแอปแบบ 16KB ไม่รับประกันความสมบูรณ์ของซอฟต์แวร์ในโหมดนี้ และข้อมูลใดๆ ที่จัดเก็บในโทรศัพท์ในขณะที่ Bootloader ไม่ได้ล็อกอยู่อาจมีความเสี่ยง ข้อมูลผู้ใช้และการตั้งค่าทั้งหมดจะถูกล้างเมื่อเปิดใช้งานโหมด 16KB เมื่อปลดล็อก Bootloader แล้ว การเปิดใช้งานตัวเลือก 16KB จะต้องมีการรีบูต 2 ครั้ง เมื่ออยู่ในโหมดนี้แล้ว คุณจะเปลี่ยนไปมาระหว่างโหมด 4KB กับ 16KB ได้ด้วยการรีบูตครั้งเดียว ฟีเจอร์บางอย่างจะถูกปิดใช้ในโหมดเหล่านี้ ดังนั้นบางแอปพลิเคชันจึงอาจไม่ทำงาน หากต้องการให้อุปกรณ์กลับสู่โหมดโปรดักชัน คุณต้องเปลี่ยนกลับไปใช้โหมด 4KB จากนั้นล็อก OEM/Bootloader (ซึ่งจะรีเซ็ตอุปกรณ์เป็นค่าเริ่มต้น) โปรดปลดล็อก Bootloader แล้วลองอีกครั้ง ดูวิธีการได้ที่ <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"กำลังใช้โหมด 4KB ในโหมดไม่คำนึงถึงขนาดหน้าหน่วยความจำ"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"คุณอยู่ในโหมด 4KB ของโหมดไม่คำนึงถึงขนาดหน้าหน่วยความจำ ไม่รับประกันความสมบูรณ์ของซอฟต์แวร์ในโหมดนี้ และข้อมูลใดๆ ที่จัดเก็บในโทรศัพท์ในขณะที่ Bootloader ไม่ได้ล็อกอยู่อาจมีความเสี่ยง ฟีเจอร์บางอย่างจะถูกปิดใช้ในโหมดเหล่านี้ ดังนั้นบางแอปพลิเคชันจึงอาจไม่ทำงาน หากต้องการกลับสู่โหมดโปรดักชันอีกครั้ง คุณต้องล็อก Bootloader ของอุปกรณ์ แตะเพื่ออ่านเพิ่มเติม"</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"คุณอยู่ในโหมด 4KB ของโหมดไม่คำนึงถึงขนาดหน้าหน่วยความจำ ไม่รับประกันความสมบูรณ์ของซอฟต์แวร์ในโหมดนี้ และข้อมูลใดๆ ที่จัดเก็บในโทรศัพท์ในขณะที่ Bootloader ไม่ได้ล็อกอยู่อาจมีความเสี่ยง ฟีเจอร์บางอย่างจะถูกปิดใช้ในโหมดเหล่านี้ ดังนั้นบางแอปพลิเคชันจึงอาจไม่ทำงาน หากต้องการกลับสู่โหมดโปรดักชันอีกครั้ง คุณต้องล็อก Bootloader ของอุปกรณ์ การดำเนินการนี้จะรีเซ็ตอุปกรณ์เป็นค่าเริ่มต้นอีกครั้งและคืนค่าเป็นโหมดโปรดักชัน หลังจากที่อุปกรณ์บูตเข้าสู่ Android ได้สำเร็จ ให้ปิดการปลดล็อก OEM ในตัวเลือกสำหรับนักพัฒนาแอป หากอุปกรณ์ไม่สามารถบูตเข้าสู่ Android หรือไม่เสถียร ให้แฟลชอุปกรณ์อีกครั้งโดยใช้ค่าเริ่มต้นล่าสุดจาก <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> หรือใช้ <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> และเลือก \"ล้างข้อมูลอุปกรณ์\" \"ล็อก Bootloader\" และ \"บังคับให้แฟลชทุกพาร์ติชัน\""</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"กำลังใช้โหมด 16KB ในโหมดไม่คำนึงถึงขนาดหน้าหน่วยความจำ"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"คุณอยู่ในโหมด 16KB ของโหมดไม่คำนึงถึงขนาดหน้าหน่วยความจำ ไม่รับประกันความสมบูรณ์ของซอฟต์แวร์ในโหมดนี้ และข้อมูลใดๆ ที่จัดเก็บในโทรศัพท์ในขณะที่ Bootloader ไม่ได้ล็อกอยู่อาจมีความเสี่ยง ฟีเจอร์บางอย่างจะถูกปิดใช้ในโหมดเหล่านี้ ดังนั้นบางแอปพลิเคชันจึงอาจไม่ทำงาน หากต้องการกลับสู่โหมดโปรดักชันอีกครั้ง คุณต้องเปลี่ยนกลับไปใช้โหมด 4K แล้วล็อก Bootloader ของอุปกรณ์ แตะเพื่ออ่านเพิ่มเติม"</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"คุณอยู่ในโหมด 16KB ของโหมดไม่คำนึงถึงขนาดหน้าหน่วยความจำ ไม่รับประกันความสมบูรณ์ของซอฟต์แวร์ในโหมดนี้ และข้อมูลใดๆ ที่จัดเก็บในโทรศัพท์ในขณะที่ Bootloader ไม่ได้ล็อกอยู่อาจมีความเสี่ยง ฟีเจอร์บางอย่างจะถูกปิดใช้ในโหมดเหล่านี้ ดังนั้นบางแอปพลิเคชันจึงอาจไม่ทำงาน หากต้องการกลับสู่โหมดโปรดักชันอีกครั้ง คุณต้องเปลี่ยนกลับไปใช้โหมด 4K แล้วล็อก Bootloader ของอุปกรณ์ การดำเนินการนี้จะรีเซ็ตอุปกรณ์เป็นค่าเริ่มต้นอีกครั้งและคืนค่าเป็นโหมดโปรดักชัน หลังจากที่อุปกรณ์บูตเข้าสู่ Android ได้สำเร็จ ให้ปิดการปลดล็อก OEM ในตัวเลือกสำหรับนักพัฒนาแอป หากอุปกรณ์ไม่สามารถบูตเข้าสู่ Android หรือไม่เสถียร ให้แฟลชอุปกรณ์อีกครั้งโดยใช้ค่าเริ่มต้นล่าสุดจาก <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> หรือใช้ <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> และเลือก \"ล้างข้อมูลอุปกรณ์\" \"ล็อก Bootloader\" และ \"บังคับให้แฟลชทุกพาร์ติชัน\""</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"คุณอยู่ในโหมด 16KB ของโหมดไม่คำนึงถึงขนาดหน้าหน่วยความจำ ไม่รับประกันความสมบูรณ์ของซอฟต์แวร์ในโหมดนี้ และข้อมูลใดๆ ที่จัดเก็บในโทรศัพท์ในขณะที่ Bootloader ไม่ได้ล็อกอยู่อาจมีความเสี่ยง ฟีเจอร์บางอย่างจะถูกปิดใช้ในโหมดเหล่านี้ ดังนั้นบางแอปพลิเคชันจึงอาจไม่ทำงาน หากต้องการกลับสู่โหมดโปรดักชันอีกครั้ง คุณต้องเปลี่ยนกลับไปใช้โหมด 4KB แล้วล็อก Bootloader ของอุปกรณ์ แตะเพื่ออ่านเพิ่มเติม"</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"คุณอยู่ในโหมด 16KB ของโหมดไม่คำนึงถึงขนาดหน้าหน่วยความจำ ไม่รับประกันความสมบูรณ์ของซอฟต์แวร์ในโหมดนี้ และข้อมูลใดๆ ที่จัดเก็บในโทรศัพท์ในขณะที่ Bootloader ไม่ได้ล็อกอยู่อาจมีความเสี่ยง ฟีเจอร์บางอย่างจะถูกปิดใช้ในโหมดเหล่านี้ ดังนั้นบางแอปพลิเคชันจึงอาจไม่ทำงาน หากต้องการกลับสู่โหมดโปรดักชันอีกครั้ง คุณต้องเปลี่ยนกลับไปใช้โหมด 4KB แล้วล็อก Bootloader ของอุปกรณ์ การดำเนินการนี้จะรีเซ็ตอุปกรณ์เป็นค่าเริ่มต้นอีกครั้งและคืนค่าเป็นโหมดโปรดักชัน หลังจากที่อุปกรณ์บูตเข้าสู่ Android ได้สำเร็จ ให้ปิดการปลดล็อก OEM ในตัวเลือกสำหรับนักพัฒนาแอป หากอุปกรณไม่สามารถเปิดเครื่องเพื่อเข้าสู่ Android หรือไม่เสถียร ให้แฟลชอุปกรณ์อีกครั้งโดยใช้ค่าเริ่มต้นล่าสุดจาก <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> หรือใช้ <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> และเลือก \"ล้างข้อมูลอุปกรณ์\" \"ล็อก Bootloader\" และ \"บังคับให้แฟลชทุกพาร์ติชัน\""</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"โหมด 16KB ของโหมดไม่คำนึงถึงขนาดหน้าหน่วยความจำ"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"อ่านเพิ่มเติม"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"เครื่องจัดการรายงานข้อบกพร่อง"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ใช้การปักหมุดแอป"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"ใช้ตัวเลือกสำหรับนักพัฒนาแอป"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"ใช้บริการพิมพ์"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"อนุญาตให้มีผู้ใช้หลายคน"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"อนุญาต, หลายคน, ผู้ใช้, อนุมัติ, จำนวนมาก"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"หลายรายการ, ผู้ใช้, โปรไฟล์, ผู้คน, บัญชี, เปลี่ยน, มากมาย"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"ใช้การแก้ไขข้อบกพร่องผ่าน Wi-Fi"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"เลือกสิ่งที่คุณจะเห็นในหน้าจอเมื่อวางแท็บเล็ตบนแท่นชาร์จ อุปกรณ์อาจใช้พลังงานมากขึ้นเมื่อใช้ภาพพักหน้าจอ"</string>
<string name="customize_button_title" msgid="1110284655990203359">"ปรับแต่ง"</string>
<string name="customize_button_description" msgid="7440248477266126231">"ปรับแต่ง <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"ต้องรีบูตเพื่อเปิดใช้การสนับสนุนแบบอิสระ"</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"ต้องรีบูตเพื่อบังคับให้จอแสดงผลสำรองใช้โหมดเดสก์ท็อป"</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"ต้องรีบูตเพื่อเปิดใช้การรองรับหน้าต่างรูปแบบอิสระแบบเดิม"</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"ต้องรีบูตเพื่อเปลี่ยนการรองรับหน้าต่างรูปแบบอิสระ"</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"ต้องรีบูตเพื่อบังคับให้เปิดใช้หน้าต่างรูปแบบอิสระบนจอแสดงผลสำรอง"</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"รีบูตเลย"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"รีบูตภายหลัง"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"เสียงรอบทิศทาง"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"ฟังสตรีม"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"สแกนคิวอาร์โค้ดของสตรีมเสียงเพื่อฟังกับ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"แก้ไขรหัสผ่านในระหว่างการแชร์ไม่ได้ หากต้องการเปลี่ยนรหัสผ่าน โปรดปิดการแชร์เสียงก่อน"</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-tl/arrays.xml b/res/values-tl/arrays.xml
index 71c8b9f..519d1db 100644
--- a/res/values-tl/arrays.xml
+++ b/res/values-tl/arrays.xml
@@ -509,4 +509,6 @@
<item msgid="3653377604690057780">"Teatro"</item>
<item msgid="3843711267408385410">"Bulaklak"</item>
</string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 7e53550..b295743 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Mga setting ng hearing device"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Shortcut, compatibility ng hearing aid"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Preset"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Walang preset na na-program ng iyong audiologist"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Hindi ma-update ang preset"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audio output"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Tungkol sa audio output"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Naidagdag ang mukha at <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Naidagdag ang mukha, fingerprint, at <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Naidagdag ang mukha, mga fingerprint, at <xliff:g id="WATCH">%s</xliff:g>"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Kailangan ito dahil naka-on ang Pagsusuri sa Pagkakakilanlan"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator Unlock"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Idinagdag ang relo"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"I-set up ang iyong relo"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Matuto pa tungkol sa Pag-unlock Gamit ang Relo"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Magdagdag ng relo"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Alisin ang relo"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Pag-unlock Gamit ang Fingerprint at Mukha"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Pag-unlock Gamit ang Mukha at Fingerprint"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Pag-unlock Gamit ang Mukha at Fingerprint para sa trabaho"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Kinakailangan ang pag-set up"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Nagdagdag ng mukha at mga fingerprint"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Mag-install ng mga app"</b>\n"Mag-install ng mga app na gusto mong panatilihing pribado sa iyong space"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Tandaan"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Hihinto ang mga app kapag na-lock mo ang iyong space"</b>\n"Kapag na-lock mo ang iyong space, hihinto ang mga app sa space mo at hindi ka makakatanggap ng mga notification mula sa mga iyon"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Hindi naaangkop ang mga pribadong space para sa mga app na kailangang gumana sa background o magpadala ng mga kritikal na notification, tulad ng mga medikal na app. Ito ay dahil hinihinto ang mga notification at aktibidad sa background kapag na-lock ang iyong space.\n\nHindi lalabas sa manager ng pahintulot, privacy dashboard, at iba pang setting ang mga app sa iyong pribadong space kapag na-lock ang pribadong space mo.\n\nHindi puwedeng ilipat sa bagong device ang iyong pribadong space. Kakailanganin mong mag-set up ng ibang pribadong space kung gusto mo itong gamitin sa ibang device.\n\nPosibleng ma-access ng sinumang magkokonekta ng iyong device sa computer o mag-i-install ng mga mapaminsalang app sa device mo ang iyong pribadong space."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Hindi naaangkop ang mga pribadong space para sa mga app na kailangang gumana sa background o magpadala ng mga kritikal na notification, tulad ng mga medikal na app. Ito ay dahil hinihinto ang mga notification at aktibidad sa background kapag na-lock ang iyong space.\n\nHindi lalabas sa manager ng pahintulot, privacy dashboard, at iba pang setting ang mga app sa iyong pribadong space kapag na-lock ang pribadong space.\n\nHindi puwedeng i-restore sa bagong device ang iyong pribadong space. Kakailanganin mong mag-set up ng ibang space kung gusto mo itong gamitin sa ibang device.\n\nPosibleng ma-access ng sinumang magkokonekta ng iyong device sa computer o mag-i-install ng mga nakakapinsalang app sa device mo ang iyong pribadong space."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Matuto pa tungkol sa pribadong space"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Aabutin ito nang ilang sandali"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Sine-set up ang pribadong space…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"I-restart ang Device?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Idinisenyo lang ang pag-log ng detalye ng NFC para sa pag-develop. Nagsasama ng karagdagang data ng NFC sa mga ulat ng bug, na posibleng may pribadong impormasyon. I-restart ang iyong device para baguhin ang setting na ito."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"I-restart"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"I-cast"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"mirror"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"I-enable ang wireless display"</string>
@@ -1192,7 +1222,8 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptive"</string>
<string name="brightness" msgid="6216871641021779698">"Level ng brightness"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Adaptive brightness"</string>
- <string name="auto_brightness_description" msgid="6807117118142381193">"Awtomatikong maa-adjust ang brightness ng iyong screen sa kapaligiran at mga aktibidad mo. Maaari mong manual na galawin ang slider para matulungan ang adaptive brightness na matutunan ang iyong mga kagustuhan."</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Tungkol sa adaptive brightness"</string>
+ <string name="auto_brightness_description" msgid="6807117118142381193">"Awtomatikong maa-adjust ang brightness ng iyong screen sa kapaligiran at mga aktibidad mo. Maaari mong manual na galawin ang slider para matulungan ang adaptive brightness na matutunan ang iyong mga preference."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Naka-on"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Naka-off"</string>
<string name="display_white_balance_title" msgid="2624544323029364713">"White balance ng display"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Mga Opsyon"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibility"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Aktwal na keyboard"</string>
- <string name="show_ime" msgid="4334255501724746849">"Gumamit ng on-screen na keyboard"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Panatilihin ito sa screen habang aktibo ang pisikal na keyboard"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Mga bounce key"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Binabalewala ng keyboard ang mabilis na paulit-ulit na pagpindot sa parehong key sa loob ng <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Mga slow key"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Napiling user: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Pagsasalita"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Bilis ng pointer"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Game Controller"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"I-redirect ang pag-vibrate"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Magpadala ng pag-vibrate sa controller ng laro kapag nakakonekta"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Magpatuloy pa rin"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Kanselahin"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Mga setting ng pag-magnify"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"One-finger na pag-pan"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Igalaw ang magnifier gamit ang 1 daliri"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"I-drag ang 1 daliri para gumalaw sa screen"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Galawin ang magnification area sa pag-drag sa 1 daliri."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Galawin ang magnification area sa pag-drag sa 2 daliri."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Hindi available habang naka-magnify ang isang bahagi lang ng screen"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Mag-tap ng button upang mag-zoom"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Mabilisang mag-zoom in sa screen para palakihin ang content"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Para mag-zoom in:</b><br/> {0,number,integer}. Gamitin ang shortcut para simulan ang pag-magnify<br/> {1,number,integer}. I-tap ang screen<br/> {2,number,integer}. I-drag ang 2 daliri para gumalaw sa screen<br/> {3,number,integer}. Mag-pinch gamit ang 2 daliri para i-adjust ang pag-zoom<br/> {4,number,integer}. Gamitin ang shortcut para ihinto ang pag-magnify<br/><br/> <b>Para mag-zoom in nang pansamantala:</b><br/> {0,number,integer}. Tiyaking nakatakda sa full screen ang iyong uri ng pag-magnify<br/> {1,number,integer}. Gamitin ang shortcut para simulan ang pag-magnify<br/> {2,number,integer}. Pumindot nang matagal kahit saan sa screen<br/> {3,number,integer}. I-drag ang daliri para gumalaw sa screen<br/> {4,number,integer}. Iangat ang daliri para ihinto ang pag-magnify"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Para mag-zoom in:</b><br/> {0,number,integer}. Gamitin ang shortcut para simulan ang pag-magnify<br/> {1,number,integer}. I-tap ang screen<br/> {2,number,integer}. I-drag ang 2 daliri para gumalaw sa screen<br/> {3,number,integer}. Mag-pinch gamit ang 2 daliri para i-adjust ang pag-zoom<br/> {4,number,integer}. Gumamit ng shortcut para ihinto ang pag-magnify<br/><br/> Puwede ka ring mag-zoom in pansamantala at higit pa."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Para mag-zoom in:</b><br/> {0,number,integer}. Gamitin ang shortcut para simulan ang pag-magnify<br/> {1,number,integer}. I-tap ang screen<br/> {2,number,integer}. I-drag ang 1 o 2 daliri para gumalaw sa screen<br/> {3,number,integer}. Mag-pinch gamit ang 2 daliri para i-adjust ang pag-zoom<br/> {4,number,integer}. Gumamit ng shortcut para ihinto ang pag-magnify<br/><br/> Puwede ka ring mag-zoom in pansamantala at higit pa."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Kapag naka-on ang pag-magnify, makakapag-zoom in ka sa iyong screen.\n\n"<b>"Para mag-zoom"</b>", simulan ang pag-magnify, pagkatapos ay mag-tap kahit saan sa screen.\n"<ul><li>"Mag-drag ng 2 o higit pang daliri para mag-scroll"</li>\n<li>"Mag-pinch ng 2 o higit pang daliri para isaayos ang pag-zoom"</li></ul>\n\n<b>"Para mag-zoom pansamantala"</b>", simulan ang pag-magnify, pagkatapos ay pumindot nang matagal kahit saan sa screen.\n"<ul><li>"Mag-drag para gumalaw-galaw sa screen"</li>\n<li>"Iangat ang daliri para mag-zoom out"</li></ul>\n\n"Hindi ka makakapag-zoom in sa keyboard o navigation bar."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Page <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> sa <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Shortcut ng button ng accessibility"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Makakuha lang ng notification mula sa mahahalagang tao at app"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Piliin ang uri ng pag-activate"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Oras"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Hal. \"9:30 – 5:00 PM\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Kalendaryo"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Hal. \"Personal na kalendaryo\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Gumawa ng mode"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Custom"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitahan ang mga pagkaantala"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"I-on ang Huwag Istorbohin"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Puwedeng makaabala ang mga alarm at tunog ng media"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Mga Iskedyul"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"I-delete ang mga iskedyul"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"I-delete"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"I-edit"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Mga Iskedyul"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Iskedyul"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Magdagdag ng kalendaryo"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Gamitin ang iyong kalendaryo"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Iiskedyul"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Magtakda ng iskedyul"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Iskedyul"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> (na) oras, <xliff:g id="MINUTES">%2$d</xliff:g> (na) minuto"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Awtomatikong i-on"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Iskedyul"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"I-silent ang phone sa ilang panahon"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Magtakda ng mga panuntunan ng Huwag Istorbohin"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Payagan ang mga abalang tumutunog"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"I-block ang visual na abala"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Payagan ang visual na signal"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Mga notification na makakarating sa iyo"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Manatiling naka-focus"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Mga karagdagang pagkilos"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Mga setting ng display"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Mga opsyon sa display"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"i-enable ang madilim na tema"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"I-switch ang OS at mga app para piliin ang maliwanag na text sa madilim na background, na posibleng mas magaan sa mata at mas nakakatipid ng baterya sa ilang device"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Walang pagbabago sa display}=1{{effect_1}}=2{{effect_1} at {effect_2}}=3{{effect_1}, {effect_2}, at {effect_3}}one{{effect_1}, {effect_2}, at # pa}other{{effect_1}, {effect_2}, at # pa}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"I-filter ang mga abala"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Walang fini-filter na abala"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Mga opsyon sa display para sa mga naka-filter na notification"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Kapag naka-on ang Huwag Istorbohin"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Walang tunog mula sa mga notification"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"buksan ang notification"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Payagan ang pag-snooze ng notification"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Notification dot sa icon ng app"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Mga bundle ng notification"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Mga Bubble"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Mga Bubble"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"I-bubble ang pag-uusap na ito"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Mga Kategorya"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Iba Pa"</string>
<string name="no_channels" msgid="4716199078612071915">"Walang anumang notification para sa app na ito"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Ipakita ang mga hindi ginagamit na kategorya"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Mga karagdagang setting sa app"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Ipakita ang mga hindi ginagamit"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Itago ang mga hindi ginagamit"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Lahat"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Payagan ang mga app na mag-override"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Mga app na puwedeng umabala"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Pumili pa ng mga app"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Gawing mag-a-alarm lang sa loob ng isang oras hanggang {time}}one{Gawing mag-a-alarm lang sa loob ng # oras hanggang {time}}other{Gawing mag-a-alarm lang sa loob ng # na oras hanggang {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Gawing mag-a-alarm lang hanggang <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Gawing palaging mang-abala"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"I-rename"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Icon na baguhin"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Icon na baguhin"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Babala"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Isara"</string>
<string name="device_feedback" msgid="5351614458411688608">"Feedback tungkol sa device"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Case"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Baterya"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Panel ng Mga Setting"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Force desktop mode"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Force experimental desktop mode sa mga pangalawang display"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"I-enable ang mga freeform window"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"I-enable ang suporta para sa mga freeform window."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"I-on ang freeform windowing sa pangalawang display"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Sa pangalawang display lang i-enable ang mga freeform window."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"I-enable ang hindi nare-resize sa multi-window"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Nagpapahintulot sa mga hindi nare-resize na app na lumabas sa multi-window"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"I-override ang force-dark"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Kailangang i-convert sa ext4 ang partition ng data ng device na ito bago magamit ang 16KB na opsyon ng developer. Hindi magagarantiya ang integridad ng software, at posibleng malagay sa panganib ang anumang data na naka-store sa telepono habang naka-unlock ang bootloader. Kailangan ng isa pang pag-reboot pagkatapos nito para sa pag-activate ng 16KB na opsyon. Kapag nasa mode na ito ka na, puwede kang magpalipat-lipat sa 4KB at 16KB mode pagkatapos ng isang pag-reboot lang. Madi-disable ang ilang feature sa mga mode na ito, kaya posibleng hindi gumana ang ilang application. Para ibalik sa production mode ang device, kakailanganin mong bumalik sa 4KB mode at pagkatapos ay i-lock ang bootloader, na magfa-factory reset sa device. Pagkatapos mag-boot ng device sa Android, i-disable ang pag-unlock ng OEM sa Mga opsyon ng developer. Mawa-wipe ang device at gagawing ext4 ang filesystem pagkatapos magkumpirma. Pagkatapos nito, bumalik para i-enable ulit ang 16KB."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Burahin ang lahat ng data"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Hindi na-reformat at na-wipe ang partition ng data sa ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Kinakailangan ang Pag-unlock ng Bootloader para sa 16KB Mode"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Required ang Pag-unlock ng Bootloader"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Kailangang naka-unlock ang bootloader sa device na ito bago magamit ang 16KB na opsyon ng developer. Hindi magagarantiya ang integridad ng software, at posibleng malagay sa panganib ang anumang data na naka-store sa telepono habang naka-unlock ang bootloader. Mawa-wipe ang lahat ng data at setting ng user kapag ina-activate ang 16KB mode. Kapag na-unlock na ang bootloader, kailangan ng dalawang pag-reboot para sa pag-activate ng 16KB na opsyon. Kapag nasa mode na ito ka na, puwede kang magpalipat-lipat sa 4KB at 16KB mode pagkatapos ng isang pag-reboot lang. Madi-disable ang ilang feature sa mga mode na ito, kaya posibleng hindi gumana ang ilang application. Para ibalik sa production mode ang device, kakailanganin mong bumalik sa 4KB mode at pagkatapos ay i-lock ang OEM/bootloader sa device (na magfa-factory reset nito). I-unlock ang bootloader at subukan ulit. Mahahanap mo ang mga tagubilin kung paano ito gawin sa <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Ginagamit ang 4KB page-agnostic mode"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Nasa 4KB mode ka ng page-agnostic mode. Hindi magagarantiya ang integridad ng software, at posibleng malagay sa panganib ang anumang data na naka-store sa telepono habang naka-unlock ang bootloader. Madi-disable ang ilang feature sa mga mode na ito, kaya posibleng hindi gumana ang ilang application. Para makabalik sa production mode, kailangan mong i-lock ang bootloader ng device. I-tap para magbasa pa."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Nasa 4KB mode ka ng page-agnostic mode. Hindi magagarantiya ang integridad ng software, at posibleng malagay sa panganib ang anumang data na naka-store sa telepono habang naka-unlock ang bootloader. Madi-disable ang ilang feature sa mga mode na ito, kaya posibleng hindi gumana ang ilang application. Para makabalik sa production mode, kailangan mong i-lock ang bootloader ng device. Ifa-factory reset nito ulit ang device at ire-restore ito sa mga setting sa production. Pagkatapos mag-boot ng device sa Android, i-disable ang pag-unlock ng OEM sa Mga opsyon ng developer. Kung hindi magbu-boot sa Android ang device o unstable ito, mag-flash ulit sa device ng mga pinakabagong factory image mula sa <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> o gamitin ang <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> at piliin ang \'I-wipe ang Device,\' \'I-lock ang Bootloader,\' at \'Sapilitang I-flash ang lahat ng partition.\'"</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Ginagamit ang 16KB page-agnostic mode"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Nasa 16KB mode ka ng page-agnostic mode. Hindi magagarantiya ang integridad ng software, at posibleng malagay sa panganib ang anumang data na naka-store sa telepono habang naka-unlock ang bootloader. Madi-disable ang ilang feature sa mga mode na ito, kaya posibleng hindi gumana ang ilang application. Para makabalik sa production mode, kailangan mong bumalik sa 4K mode at pagkatapos ay i-lock ang bootloader ng device. I-tap para magbasa pa."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Nasa 16KB mode ka ng page-agnostic mode. Hindi magagarantiya ang integridad ng software, at posibleng malagay sa panganib ang anumang data na naka-store sa telepono habang naka-unlock ang bootloader. Madi-disable ang ilang feature sa mga mode na ito, kaya posibleng hindi gumana ang ilang application. Para makabalik sa production mode, kailangan mong bumalik sa 4K mode at pagkatapos ay i-lock ang bootloader ng device. Ifa-factory reset nito ulit ang device at ire-restore ito sa mga setting sa production. Pagkatapos mag-boot ng device sa Android, i-disable ang pag-unlock ng OEM sa Mga opsyon ng developer. Kung hindi magbu-boot sa Android ang device o unstable ito, mag-flash ulit sa device ng mga pinakabagong factory image mula sa <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> o gamitin ang <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> at piliin ang \'I-wipe ang Device,\' \'I-lock ang Bootloader,\' at \'Sapilitang I-flash ang lahat ng partition.\'"</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Nasa 16KB mode ka ng page-agnostic mode. Hindi magagarantiya ang integridad ng software sa mode na ito, at posibleng malagay sa panganib ang anumang data na naka-store sa telepono habang naka-unlock ang bootloader. Madi-disable ang ilang feature sa mga mode na ito, kaya posibleng hindi gumana ang ilang application. Para makabalik sa production mode, kailangan mong bumalik sa 4KB mode at pagkatapos ay i-lock ang bootloader ng device. I-tap para magbasa pa."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Nasa 16KB mode ka ng page-agnostic mode. Hindi magagarantiya ang integridad ng software sa mode na ito, at posibleng malagay sa panganib ang anumang data na naka-store sa telepono habang naka-unlock ang bootloader. Madi-disable ang ilang feature sa mga mode na ito, kaya posibleng hindi gumana ang ilang application. Para makabalik sa production mode, kailangan mong bumalik sa 4KB mode at pagkatapos ay i-lock ang bootloader ng device. Ifa-factory reset nito ulit ang device at ire-restore ito sa mga setting sa production. Pagkatapos mag-boot ng device sa Android, i-disable ang OEM na pag-unlock sa Mga opsyon ng developer. Kung hindi magbu-boot sa Android ang device o unstable ito, mag-flash ulit sa device ng mga pinakabagong factory image mula sa <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> o gamitin ang <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> at piliin ang \'I-wipe ang Device,\' \'I-lock ang Bootloader,\' at \'Sapilitang I-flash ang lahat ng partition.\'"</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16KB Page-agnostic Mode"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Magbasa pa"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Tagapangasiwa ng ulat ng bug"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Gamitin ang pag-pin ng app"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Gamitin ang mga opsyon ng developer"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Gamitin ang serbisyo ng pag-print"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Payagan ang maraming user"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"payagan, maraming, user, pahintulot, marami"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"maramihan, mga user, mga profile, mga tao, mga account, lumipat, marami"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Gamitin ang wireless na pag-debug"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Piliin ang makikita mo sa iyong screen kapag naka-dock ang iyong tablet. Posibleng gumamit ng mas maraming enerhiya ang iyong device kapag gumagamit ng screen saver."</string>
<string name="customize_button_title" msgid="1110284655990203359">"I-customize"</string>
<string name="customize_button_description" msgid="7440248477266126231">"I-customize ang <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Kinakailangang mag-reboot para ma-enable ang freeform na suporta"</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Kinakailangang mag-reboot para sapilitang mailapat ang desktop mode sa mga pangalawang display."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Kailangang mag-reboot para ma-enable ang suporta sa legacy na freeform windowing."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Kailangang mag-reboot para mabago ang suporta sa freeform windowing."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Kailangang mag-reboot para sapilitang ma-enable ang freeform windowing sa mga pangalawang display."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Mag-reboot ngayon"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Mag-reboot sa ibang pagkakataon"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Spatial Audio"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Makinig sa stream"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Mag-scan ng QR code ng audio stream para makinig sa <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Hindi mae-edit ang password habang nagbabahagi. Para palitan ang password, i-off muna ang pag-share ng audio."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-tr/arrays.xml b/res/values-tr/arrays.xml
index 1253374..7d56d4c 100644
--- a/res/values-tr/arrays.xml
+++ b/res/values-tr/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Uyku vakti"</item>
+ <item msgid="4152450357280759894">"Araba kullanma"</item>
+ <item msgid="7096549258219399423">"Etkileyici"</item>
+ <item msgid="2760716776980432977">"Yönetilen"</item>
+ <item msgid="601734478369121764">"Yıldız"</item>
+ <item msgid="6243809315432780521">"Takvim"</item>
+ <item msgid="4913577903148415331">"Saat"</item>
+ <item msgid="3653377604690057780">"Sinema"</item>
+ <item msgid="3843711267408385410">"Çiçek"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 106f217..fdc1163 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"İşitme cihazı ayarları"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Kısayol, işitme cihazı uyumluluğu"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Hazır Ayar"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Odyoloğunuz tarafından programlanmış ön ayar yok"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Hazır ayar güncellenemedi"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Ses çıkışı"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Ses çıkışı hakkında"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Yüz ve <xliff:g id="WATCH">%s</xliff:g> eklendi"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Yüz, parmak izi ve <xliff:g id="WATCH">%s</xliff:g> eklendi"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Yüz, parmak izleri ve <xliff:g id="WATCH">%s</xliff:g> eklendi"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Kimlik Kontrolü açık olduğu için bu zorunludur"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Uzaktan Kimlik Doğrulayıcı Kilidini Açma"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Kol saati eklendi"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Kol saatinizi kurma"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Saat ile Kilit Açma hakkında daha fazla bilgi"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Kol saati ekle"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Kol saatini kaldır"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Parmak İzi ve Yüz Tanıma Kilidi"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Yüz Tanıma ve Parmak İzi Kilidi"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"İş profili için Yüz Tanıma ve Parmak İzi Kilidi"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Kurulum gerekiyor"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Yüz ve parmak izleri eklendi"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Uygulamaları yükleyin"</b>\n"Alanınızda gizli tutmak istediğiniz uygulamaları yükleyin"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Unutmayın"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Alanınızı kilitlediğinizde uygulamalar durur"</b>\n"Alanınızı kilitlediğinizde bu alandaki uygulamalar durdurulur ve size artık bildirim göndermez"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Özel alanlar, tıbbi uygulamalar gibi arka planda çalışması ve önemli bildirimler göndermesi gereken uygulamalar için uygun değildir. Bunun nedeni, alanınız kilitlendiğinde bildirimlerin ve arka plandaki etkinliğin durdurulmasıdır.\n\nÖzel alan kilitli olduğunda izin yöneticisi, gizlilik kontrol paneli ve diğer ayarlarda özel alanınızdaki uygulamalar görünmez.\n\nÖzel alanınız yeni bir cihaza taşınamaz. Başka bir cihazda kullanmak istiyorsanız ilgili cihazda yeni bir özel alan kurmanız gerekir.\n\nCihazınızı bilgisayara bağlayan veya cihazınıza zararlı uygulamalar yükleyen kişiler özel alanınıza erişebilir."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Özel alanlar, tıbbi uygulamalar gibi arka planda çalışması ve önemli bildirimler göndermesi gereken uygulamalar için uygun değildir. Bunun nedeni, alanınız kilitlendiğinde bildirimlerin ve arka plandaki etkinliğin durdurulmasıdır.\n\nÖzel alan kilitli olduğunda izin yöneticisi, gizlilik kontrol paneli ve diğer ayarlarda özel alandaki uygulamalar görünmez.\n\nÖzel alanınız yeni bir cihaza geri yüklenemez. Başka bir cihazda kullanmak istiyorsanız ilgili cihazda yeni bir alan kurmanız gerekir.\n\nCihazınızı bilgisayara bağlayan veya cihazınıza kötü amaçlı uygulamalar yükleyen kişiler özel alanınıza erişebilir."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Özel alan hakkında daha fazla bilgi"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Bu işlem birkaç dakika sürecek"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Özel alan kuruluyor…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Cihaz Yeniden Başlatılsın mı?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Ayrıntılı NFC günlük kaydı, yalnızca geliştirme amaçlıdır. Hata raporlarında, özel bilgiler içerebilen ek NFC verileri yer alır. Bu ayarı değiştirmek için cihazınızı yeniden başlatın."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Yeniden başlat"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Yayın"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"ayna"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Kablosuz görüntülemeyi etkinleştir"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Uyarlanabilir"</string>
<string name="brightness" msgid="6216871641021779698">"Parlaklık düzeyi"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Otomatik parlaklık"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Otomatik parlaklık hakkında"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Ekranınızın parlaklığı, bulunduğunuz ortama ve aktivitelerinize göre otomatik olarak ayarlanır. Otomatik parlaklık özelliğinin tercihlerinizi öğrenmesine yardımcı olmak için kaydırma çubuğunu manuel olarak hareket ettirebilirsiniz."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Açık"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Kapalı"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Seçenekler"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Erişilebilirlik"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Fiziksel klavye"</string>
- <string name="show_ime" msgid="4334255501724746849">"Ekran klavyesi kullan"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Fiziksel klavye etkin durumdayken ekranda tut"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Geri sekme tuşları"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Klavye, aynı tuşa <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms. içinde hızlı bir şekilde tekrarlanan basma işlemlerini yoksayar"</string>
<string name="slow_keys" msgid="2891452895499690837">"Yavaş tuşlar"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Kullanıcı tarafından <xliff:g id="LAYOUT_LABEL">%s</xliff:g> seçildi"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Konuşma"</string>
<string name="pointer_speed" msgid="7398649279282675718">"İşaretçi hızı"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Oyun Denetleyici"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Titreşimi yönlendir"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Bağlandığında oyun denetleyiciye titreşim gönder"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Yine de devam et"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"İptal"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Büyütme ayarları"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Tek parmakla kaydırma"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Büyüteci 1 parmağınızla hareket ettirin"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Ekranda gezinmek için parmağınızı sürükleyin"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Tek parmağınızı sürükleyerek büyütme alanını taşıyın."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"İki parmağınızı sürükleyerek büyütme alanını taşıyın."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Ekranın yalnızca bir kısmını büyütürken kullanılamaz"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Yakınlaştırmak için bir düğmeye dokunun"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"İçerikleri büyütmek için ekranı hızlıca yakınlaştırın"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Yakınlaştırmak için:</b><br/> {0,number,integer}. Büyütmeyi başlatmak için kısayolu kullanın<br/> {1,number,integer}. Ekrana dokunun<br/> {2,number,integer}. Ekranda gezinmek için 2 parmağınızı sürükleyin<br/> {3,number,integer}. Yakınlaştırmayı ayarlamak için 2 parmağınızla sıkıştırın<br/> {4,number,integer}. Büyütmeyi durdurmak için kısayolu kullanın<br/><br/> <b>Geçici bir süreliğine yakınlaştırmak için:</b><br/> {0,number,integer}. Büyütme yönteminin tam ekran olarak ayarlandığından emin olun<br/> {1,number,integer}. Büyütmeyi başlatmak için kısayolu kullanın<br/> {2,number,integer}. Ekranda herhangi bir yere dokunup basılı tutun<br/> {3,number,integer}. Ekranda gezinmek için parmağınızı sürükleyin<br/> {4,number,integer}. Büyütmeyi durdurmak için parmağınızı kaldırın"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Yakınlaştırmak için:</b><br/> {0,number,integer}. Büyütmeyi başlatmak için kısayol kullanın<br/> {1,number,integer}. Ekrana dokunun<br/> {2,number,integer}. Ekranda gezinmek için 2 parmağınızı sürükleyin<br/> {3,number,integer}. Yakınlaştırmayı ayarlamak için 2 parmağınızla sıkıştırın<br/> {4,number,integer}. Büyütmeyi durdurmak için kısayol kullanın<br/><br/> Ayrıca geçici olarak yakınlaştırabilir ve diğer işlemleri yapabilirsiniz."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Yakınlaştırmak için:</b><br/> {0,number,integer}. Büyütmeyi başlatmak için kısayol kullanın<br/> {1,number,integer}. Ekrana dokunun<br/> {2,number,integer}. Ekranda hareket etmek için 1 veya 2 parmağınızı sürükleyin<br/> {3,number,integer}. Yakınlaştırmayı ayarlamak için 2 parmağınızla sıkıştırın<br/> {4,number,integer}. Büyütmeyi durdurmak için kısayol kullanın<br/><br/> Ayrıca geçici olarak yakınlaştırabilir ve diğer işlemleri yapabilirsiniz."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Büyütme açıldığında ekranınızda yakınlaştırma yapabilirsiniz.\n\n"<b>"Yakınlaştırmak için"</b>", büyütmeyi başlatın, ardından ekranda herhangi bir yere dokunun.\n"<ul><li>"Kaydırmak için 2 veya daha fazla parmağınızı sürükleyin"</li>\n<li>"Yakınlaştırmayı ayarlamak için 2 veya daha fazla parmağınızı birbirine yaklaştırın"</li></ul>\n\n<b>"Geçici olarak yakınlaştırmak için"</b>", büyütmeyi başlatın, ardından ekranda herhangi bir yere dokunup basılı tutun.\n"<ul><li>"Ekranda hareket etmek için sürükleyin"</li>\n<li>"Uzaklaştırmak için parmağınızı çekin"</li></ul>\n\n"Klavyede veya gezinme çubuğundayken yakınlaştırma yapamazsınız."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Sayfa <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Erişilebilirlik düğmesi kısayolu"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Yalnızca önemli kişiler ve uygulamalardan gelen bildirimleri alın"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Etkinleştirme türünü seçin"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Süre"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Örnek: \"09:30 – 17:00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Takvim"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Örnek: \"Kişisel takvim\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Mod oluşturun"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Özel"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Kesintileri sınırlayın"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Rahatsız Etmeyin\'i açın"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Alarm ve medya sesleri kesintiye neden olabilir"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Programlar"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Programları sil"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Sil"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Düzenle"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Programlar"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Programla"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Takvim ekleyin"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Takviminizi kullanın"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Program"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Program ayarlama"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Program"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> sa. <xliff:g id="MINUTES">%2$d</xliff:g> dk."</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Otomatik olarak aç"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Program"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Telefonun sesini belirli zamanlarda kapat"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Rahatsız Etmeyin kurallarını ayarlayın"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Ses çıkaran kesintilere izin ver"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Görsel bildirimleri engelle"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Görsel sinyallere izin ver"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Alabileceğiniz bildirimler"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Konsantrasyonunuzu koruyun"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Diğer işlemler"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Ekran ayarları"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Görüntüleme seçenekleri"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"koyu temayı etkinleştir"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"İşletim sistemini ve uygulamaları, koyu arka plan üzerinde açık renkli metin kullanacak şekilde değiştirin. Böylece gözünüz yorulmaz ve bazı cihazlarda önemli ölçüde pil tasarrufu yapabilirsiniz"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Ekranda değişiklik yok}=1{{effect_1}}=2{{effect_1} ve {effect_2}}=3{{effect_1}, {effect_2} ve {effect_3}}other{{effect_1}, {effect_2} ve # ayar daha}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Kesintileri filtrele"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Kesintiler filtrelenmiyor"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Filtrelenen bildirimlerle ilgili ekran seçenekleri"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Rahatsız Etmeyin ayarı açık olduğunda"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Bildirimlerden sesli uyarı yok"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"bildirimi aç"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Bildirimin ertelenmesine izin ver"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Uygulama simgesinde bildirim noktası"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Bildirim paketleri"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Baloncuklar"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Baloncuklar"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Bu görüşmeyi baloncuk olarak göster"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Kategoriler"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Diğer"</string>
<string name="no_channels" msgid="4716199078612071915">"Bu uygulama herhangi bir bildirim yayınlamadı"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Kullanılmayan kategorileri göster"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Uygulamadaki ek ayarlar"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Kullanılmayan kategorileri göster"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Kullanılmayan kategorileri gizle"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Tümü"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Uygulamaların geçersiz kılmasına izin ver"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Kesintiye neden olabilecek uygulamalar"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Daha fazla uygulama seçin"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Saat {time} olana kadar bir saat boyunca yalnızca alarmlar seçeneğine geç}other{Saat {time} olana kadar # saat boyunca yalnızca alarmlar seçeneğine geç}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Yalnızca şu saate kadar alarmlara geç: <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Her zaman kes seçeneğine değiştir"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Yeniden adlandır"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Simgeyi değiştir"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Simgeyi değiştirme"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Uyarı"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Kapat"</string>
<string name="device_feedback" msgid="5351614458411688608">"Bu cihazla ilgili geri bildirim gönder"</string>
@@ -4029,7 +4085,7 @@
<string name="draw_overlay" msgid="7902083260500573027">"Diğer uyg. üzerinde göster"</string>
<string name="system_alert_window_settings" msgid="6458633954424862521">"Diğer uygulamaların üzerinde göster"</string>
<string name="permit_draw_overlay" msgid="4468994037192804075">"Diğer uygulamalar üzerinde gösterime izin ver"</string>
- <string name="allow_overlay_description" msgid="1607235723669496298">"Bu uygulamaya, kullandığınız diğer uygulamaların üzerinde gösterme izin verir. Bu uygulama, ekranda nereye dokunduğunuzu görebilecek veya ekranda görüntülenenleri değiştirebilecek."</string>
+ <string name="allow_overlay_description" msgid="1607235723669496298">"Bu uygulamaya, kullandığınız diğer uygulamaların üzerinde gösterim izni verir. Bu uygulama, ekranda nereye dokunduğunuzu görebilecek veya ekranda görüntülenenleri değiştirebilecek."</string>
<string name="media_routing_control_title" msgid="6402800638960066807">"Medya çıkışını değiştir"</string>
<string name="allow_media_routing_control" msgid="4907036637509360616">"Uygulamanın, medya çıkışını değiştirmesine izin verin"</string>
<string name="allow_media_routing_description" msgid="8343709701298051207">"Bu uygulamanın, diğer uygulamalardan ses veya video oynatabilecek bağlı cihazı seçmesine izin verin. İzin verildiği takdirde bu uygulama, kulaklık ve hoparlör gibi kullanılabilir cihazların listesine erişip ses veya video akışı ya da yayını için kullanılacak çıkış cihazını seçebilir."</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Kılıf"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Pil"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Ayarlar Paneli"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Masaüstü modunu zorunlu kıl"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"İkincil ekranlarda deneysel masaüstü modunu zorunlu kıl"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Serbest biçimli pencereleri etkinleştir"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Serbest biçimli pencere desteğini etkinleştir."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"İkincil ekranda serbest biçimli pencerelemeyi etkinleştir"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Serbest biçimli pencereleri yalnızca ikincil ekranda etkinleştir."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Çoklu pencerede yeniden boyutlandırılamayan uygulamalara izin ver"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Çoklu pencerede yeniden boyutlandırılamayan uygulamalara izin verir"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Zorunlu koyu modu geçersiz kıl"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"16 KB geliştirici seçeneğini kullanmadan önce bu cihazın veri bölümünün ext4\'e dönüştürülmesi gerekir. Bu modda yazılım bütünlüğü garanti edilemez ve bootloader\'ın kilidi açıkken telefonda saklanan veriler risk altında olabilir. 16 KB seçeneğini etkinleştirdikten sonra bir kez daha yeniden başlatma yapılması gerekir. Bu moddayken tek bir yeniden başlatma işlemiyle 4 KB ve 16 KB modları arasında geçiş yapabilirsiniz. Bu modlarda bazı özellikler devre dışı bırakılacağı için bazı uygulamalar çalışmayabilir. Cihazı üretim moduna döndürmek için 4 KB moduna geri dönmeniz ve bootloader\'ı kilitlemeniz gerekir. Bu durumda cihaz fabrika ayarlarına sıfırlanır. Cihaz başarılı bir şekilde Android\'de başlatıldıktan sonra Geliştirici seçeneklerinde OEM kilit açma özelliğini devre dışı bırakın. Onayınızın ardından cihaz temizlenecek ve dosya sistemi ext4 olarak değiştirilecektir. Bu işlem tamamlandıktan sonra lütfen geri gelerek 16 KB modunu tekrar etkinleştirin."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Tüm verileri sil"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Veriler temizlenemedi ve ext4 olarak yeniden biçimlendirilemedi."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16 KB modu için bootloader kilidinin açılması gerekir"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Bootloader Kilidinin Açılması Gerekiyor"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"16 KB geliştirici seçeneğini kullanmadan önce bu cihazın bootloader\'ının kilidinin açılması gerekir. Bu modda yazılım bütünlüğü garanti edilemez ve bootloader\'ın kilidi açıkken telefonda saklanan veriler risk altında olabilir. 16 KB modu etkinleştirildiğinde tüm kullanıcı verileri ve ayarlar silinir. Bootloader\'ın kilidi açıldıktan sonra 16 KB seçeneğinin etkinleştirilmesi için iki kez yeniden başlatma yapılması gerekir. Bu moddayken tek bir yeniden başlatma işlemiyle 4 KB ve 16 KB modları arasında geçiş yapabilirsiniz. Bu modlarda bazı özellikler devre dışı bırakılacağı için bazı uygulamalar çalışmayabilir. Cihazı üretim moduna döndürmek için 4 KB moduna geri dönmeniz ve cihazda OEM/bootloader kilidini etkinleştirmeniz gerekir. Bu durumda cihaz fabrika ayarlarına sıfırlanır. Lütfen bootloader\'ın kilidini açıp tekrar deneyin. Bu işlemle ilgili talimatları görmek için <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a> adresine gidin."</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"4 KB sayfadan bağımsız modunu kullanıyorsunuz"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Sayfadan bağımsız moddaki 4 KB modundasınız. Bu modda yazılım bütünlüğü garanti edilemez ve bootloader\'ın kilidi açıkken telefonda saklanan veriler risk altında olabilir. Bu modlarda bazı özellikler devre dışı bırakılacağı için bazı uygulamalar çalışmayabilir. Üretim moduna tekrar girmek için cihazın bootloader\'ını kilitlemeniz gerekir. Daha fazla bilgi için dokunun."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Sayfadan bağımsız moddaki 4 KB modundasınız. Bu modda yazılım bütünlüğü garanti edilemez ve bootloader\'ın kilidi açıkken telefonda saklanan veriler risk altında olabilir. Bu modlarda bazı özellikler devre dışı bırakılacağı için bazı uygulamalar çalışmayabilir. Üretim moduna tekrar girmek için cihazın bootloader\'ını kilitlemeniz gerekir. Bu durumda cihaz tekrar fabrika ayarlarına sıfırlanır ve üretim ayarlarına geri döner. Cihaz başarılı bir şekilde Android\'de başlatıldıktan sonra Geliştirici seçeneklerinde OEM kilit açma özelliğini devre dışı bırakın. Cihaz Android\'de başlatılamıyorsa veya kararsızsa cihazı <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> adresindeki en güncel fabrika ayarı görüntüleriyle yeniden yükleyin veya <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> adresine gidip \"Cihazı Temizle\", \"Bootloader\'ı Kilitle\" ve \"Tüm bölümleri zorla yükle\"yi seçin."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"16 KB sayfadan bağımsız modunu kullanıyorsunuz"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Sayfadan bağımsız moddaki 16 KB modundasınız. Bu modda yazılım bütünlüğü garanti edilemez ve bootloader\'ın kilidi açıkken telefonda saklanan veriler risk altında olabilir. Bu modlarda bazı özellikler devre dışı bırakılacağı için bazı uygulamalar çalışmayabilir. Üretim moduna tekrar girmek için 4 KB moduna geçtikten sonra cihazın bootloader\'ını kilitlemeniz gerekir. Daha fazla bilgi için dokunun."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Sayfadan bağımsız moddaki 16 KB modundasınız. Bu modda yazılım bütünlüğü garanti edilemez ve bootloader\'ın kilidi açıkken telefonda saklanan veriler risk altında olabilir. Bu modlarda bazı özellikler devre dışı bırakılacağı için bazı uygulamalar çalışmayabilir. Üretim moduna tekrar girmek için 4 KB moduna geçtikten sonra cihazın bootloader\'ını kilitlemeniz gerekir. Bu durumda cihaz tekrar fabrika ayarlarına sıfırlanır ve üretim ayarlarına geri döner. Cihaz başarılı bir şekilde Android\'de başlatıldıktan sonra Geliştirici seçeneklerinde OEM kilit açma özelliğini devre dışı bırakın. Cihaz Android\'de başlatılamıyorsa veya kararsızsa cihazı <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> adresindeki en güncel fabrika ayarı görüntüleriyle yeniden yükleyin veya <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> adresine gidip \"Cihazı Temizle\", \"Bootloader\'ı Kilitle\" ve \"Tüm bölümleri zorla yükle\"yi seçin."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Sayfadan bağımsız moddaki 16 KB modundasınız. Bu modda yazılım bütünlüğü garanti edilemez ve bootloader\'ın kilidi açıkken telefonda saklanan veriler risk altında olabilir. Bu modlarda bazı özellikler devre dışı bırakılacağı için bir takım uygulamalar çalışmayabilir. Üretim moduna tekrar girmek için 4 KB moduna geçtikten sonra cihazın bootloader\'ını kilitlemeniz gerekir. Daha fazla bilgi için dokunun."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Sayfadan bağımsız moddaki 16 KB modundasınız. Bu modda yazılım bütünlüğü garanti edilemez ve bootloader\'ın kilidi açıkken telefonda saklanan veriler risk altında olabilir. Bu modlarda bazı özellikler devre dışı bırakılacağı için bir takım uygulamalar çalışmayabilir. Üretim moduna tekrar girmek için 4 KB moduna geçtikten sonra cihazın bootloader\'ını kilitlemeniz gerekir. Bu durumda cihaz tekrar fabrika ayarlarına sıfırlanır ve üretim ayarlarına geri döner. Cihaz başarılı bir şekilde Android\'de başlatıldıktan sonra Geliştirici seçeneklerinde OEM kilit açma özelliğini devre dışı bırakın. Cihaz Android\'de başlatılamıyorsa veya kararsızsa cihazı <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> adresindeki en güncel fabrika ayarı görüntüleriyle yeniden yükleyin veya <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> adresine gidip \"Cihazı Temizle\", \"Bootloader\'ı Kilitle\" ve \"Tüm bölümleri zorla yükle\"yi seçin."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16 KB Sayfadan Bağımsız Mod"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Devamı"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Hata raporu işleyici"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Uygulama sabitlemeyi kullan"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Geliştirici seçeneklerini kullan"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Yazdırma hizmetini kullan"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Birden çok kullanıcıya izin ver"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"izin ver, çoklu, kullanıcı, izin birden fazla"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"birden fazla, kullanıcılar, profiller, kişiler, hesaplar, geçiş, birçok"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Kablosuz hata ayıklamayı kullan"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Tabletiniz yuvaya yerleştirildiğinde ekranınızda nelerin görünmesini istediğinizi seçin. Ekran koruyucu kullanıldığında cihazınız daha fazla enerji tüketebilir."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Özelleştir"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Özelleştir <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Serbest biçimli desteğin etkinleştirilmesi için yeniden başlatma gerekir."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"İkincil ekranlarda masaüstü modunu zorlamak için yeniden başlatma gerekir."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Eski serbest biçimli pencereleme desteğinin etkinleştirilmesi için yeniden başlatma gerekir."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Serbest biçimli pencereleme desteğini değiştirmek için yeniden başlatma gerekir."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"İkincil ekranlarda serbest biçimli pencerelemeyi zorlamak için yeniden başlatma gerekir."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Şimdi yeniden başlat"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Sonra yeniden başlat"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Üç Boyutlu Ses"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Yayını dinle"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> adlı cihazda dinlemek için ses yayını QR kodunu tarayın"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Şifre, paylaşım sırasında düzenlenemez. Şifreyi değiştirmek için önce ses paylaşımını kapatın."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-uk/arrays.xml b/res/values-uk/arrays.xml
index 3ac8a82..2399e53 100644
--- a/res/values-uk/arrays.xml
+++ b/res/values-uk/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Час сну"</item>
+ <item msgid="4152450357280759894">"Водіння"</item>
+ <item msgid="7096549258219399423">"Реалістичність"</item>
+ <item msgid="2760716776980432977">"Керованість"</item>
+ <item msgid="601734478369121764">"Зірка"</item>
+ <item msgid="6243809315432780521">"Календар"</item>
+ <item msgid="4913577903148415331">"Час"</item>
+ <item msgid="3653377604690057780">"Театр"</item>
+ <item msgid="3843711267408385410">"Квітка"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 7d1be2e..89a223c 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Налаштування слухового апарата"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Ярлик, сумісність зі слуховими апаратами"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Набір налаштувань"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Немає наборів налаштувань, запрограмованих вашим аудіологом"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Не вдалось оновити набір налаштувань"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Аудіовихід"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Про аудіовихід"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Додано обличчя та годинник \"<xliff:g id="WATCH">%s</xliff:g>\""</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Додано обличчя, відбиток пальця та годинник \"<xliff:g id="WATCH">%s</xliff:g>\""</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Додано обличчя, відбитки пальців і годинник \"<xliff:g id="WATCH">%s</xliff:g>\""</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Це потрібно, оскільки ввімкнено перевірку особи"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Розблокування (Remote Authenticator)"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Годинник додано"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Налаштуйте свій годинник"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Докладніше про розблокування годинником"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Додати годинник"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Вилучити годинник"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Розблокування відбитком пальця й фейс-контроль"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Фейс-контроль і розблокування відбитком пальця"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Фейс-контроль і відбиток пальця для роботи"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Потрібно налаштувати"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Обличчя й відбитки пальців додано"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Установіть додатки"</b>\n"Установіть додатки, які хочете приватно використовувати у своєму просторі"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Важливо"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Під час блокування простору додатки припиняють роботу"</b>\n"Якщо ви заблокуєте свій простір, включені в нього додатки припинять роботу й ви не отримуватимете сповіщень від них"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Приватні простори не підходять для додатків (наприклад, медичних), які мають працювати у фоновому режимі або надсилати важливі сповіщення. Це пов’язано з тим, що надсилання сповіщень і робота у фоновому режимі припиняються, коли ваш простір заблоковано.\n\nКоли приватний простір заблоковано, його додатки не відображаються в менеджері дозволів, на панелі керування дозволами й в інших налаштуваннях.\n\nПриватний простір не можна перенести на інший пристрій. Якщо ви хочете використовувати приватний простір на іншому пристрої, потрібно налаштувати новий.\n\nЯкщо хтось установить на вашому пристрої шкідливі додатки або підключить його до комп’ютера, то може отримати доступ до вашого приватного простору."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Приватні простори не підходять для додатків (наприклад, медичних), які мають працювати у фоновому режимі або надсилати важливі сповіщення. Це пов’язано з тим, що надсилання сповіщень і робота у фоновому режимі припиняються, коли ваш простір заблоковано.\n\nКоли приватний простір заблоковано, його додатки не відображатимуться в менеджері дозволів, на панелі керування дозволами й в інших налаштуваннях.\n\nПриватний простір не можна відновити на іншому пристрої. Якщо ви хочете використовувати приватний простір на іншому пристрої, потрібно налаштувати новий.\n\nЯкщо хтось установить на вашому пристрої шкідливі додатки або підключить його до комп’ютера, то може отримати доступ до вашого приватного простору."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Докладніше про приватний простір"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Це може зайняти кілька хвилин"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Налаштування приватного простору…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Перезапустити пристрій?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Ведення детальних журналів NFC призначене лише для розробки. Додаткові дані NFC включаються у звіти про помилки, які можуть містити приватну інформацію. Щоб змінити це налаштування, перезапустіть пристрій."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Перезапустити"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Трансляція"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"дзеркалювання"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Увімкнути бездротовий екран"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Адаптивні"</string>
<string name="brightness" msgid="6216871641021779698">"Рівень яскравості"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Адаптивна яскравість"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Про адаптивну яскравість"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Яскравість екрана автоматично пристосовується до середовища й ваших дій. Ви можете пересунути повзунок вручну, щоб відкоригувати яскравість за власним бажанням."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Увімкнено"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Вимкнено"</string>
@@ -1601,7 +1632,7 @@
<string name="about_settings_summary" msgid="4831942939227432513">"Переглянути правову інф-ю, стан, версію ПЗ"</string>
<string name="legal_information" msgid="7509900979811934843">"Правова інформація"</string>
<string name="manual" msgid="3651593989906084868">"Посібник"</string>
- <string name="regulatory_labels" msgid="5960251403367154270">"Сертифікації"</string>
+ <string name="regulatory_labels" msgid="5960251403367154270">"Нормативні етикетки"</string>
<string name="safety_and_regulatory_info" msgid="8285048080439298528">"Посібник із безпеки й нормативних вимог"</string>
<string name="copyright_title" msgid="83245306827757857">"Автор. право"</string>
<string name="license_title" msgid="8745742085916617540">"Ліцензія"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Опції"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Доступність"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Фізична клавіатура"</string>
- <string name="show_ime" msgid="4334255501724746849">"Використовувати екранну клавіатуру"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Залишати її на екрані, коли активна фізична клавіатура"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Ігнорувати повторне натискання"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Клавіатура ігнорує кілька натискань однієї клавіші протягом <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> мс"</string>
<string name="slow_keys" msgid="2891452895499690837">"Повільні клавіші"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Вибрано користувачем: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Мовлення"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Швидкість курсора"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Ігровий контролер"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Переспрямувати вібросигнал"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Надсилати вібросигнал на ігровий контролер, коли є з’єднання"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Усе одно продовжити"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Скасувати"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Налаштування збільшення"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Панорамування одним пальцем"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Переміщуйте лупу одним пальцем"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Проводьте одним пальцем, щоб переміщатись екраном"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Переміщуйте область збільшення, перетягуючи одним пальцем."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Переміщуйте область збільшення, перетягуючи двома пальцями."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Недоступно, коли збільшено лише частину екрана"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Торкніться кнопки, щоб збільшити вміст"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Щоб краще роздивитися вміст екрана, його можна наблизити."</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Щоб наблизити зображення:</b><br/> {0,number,integer}. Активуйте збільшення, скориставшись призначеною для цього кнопкою чи відповідним жестом.<br/> {1,number,integer}. Торкніться екрана.<br/> {2,number,integer}. Щоб перейти до іншої області на екрані, потягніть по ньому двома пальцями.<br/> {3,number,integer}. Зведіть або розведіть два пальці, щоб змінити масштаб.<br/> {4,number,integer}. Вимкніть збільшення, скориставшись призначеною для цього кнопкою чи відповідним жестом.<br/><br/> <b>Щоб ненадовго наблизити зображення:</b><br/> {0,number,integer}. Переконайтеся, що вибрано тип збільшення \"На весь екран\".<br/> {1,number,integer}. Активуйте збільшення, скориставшись призначеною для цього кнопкою чи відповідним жестом.<br/> {2,number,integer}. Натисніть і втримуйте будь-яке місце на екрані.<br/> {3,number,integer}. Щоб переглянути іншу область на екрані, пересуньте палець.<br/> {4,number,integer}. Підніміть палець, щоб припинити збільшення."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Для цього:</b><br/> {0,number,integer}. Активуйте збільшення, скориставшись призначеною для цього кнопкою чи відповідним жестом.<br/> {1,number,integer}. Торкніться екрана.<br/> {2,number,integer}. Щоб перейти до іншої області на екрані, проведіть по ньому двома пальцями.<br/> {3,number,integer}. Зведіть два пальці, щоб змінити масштаб.<br/> {4,number,integer}. Вимкніть збільшення за допомогою швидкої команди.<br/><br/> Ви також можете тимчасово збільшувати масштаб і не тільки."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Для цього:</b><br/> {0,number,integer}. Активуйте збільшення, скориставшись призначеною для цього кнопкою чи відповідним жестом.<br/> {1,number,integer}. Торкніться екрана.<br/> {2,number,integer}. Щоб перейти до іншої області на екрані, проведіть по ньому одним або двома пальцями.<br/> {3,number,integer}. Зведіть два пальці, щоб змінити масштаб.<br/> {4,number,integer}. Вимкніть збільшення за допомогою швидкої команди.<br/><br/> Ви також можете тимчасово збільшувати масштаб і не тільки."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Коли функцію збільшення ввімкнено, ви можете наближувати вміст на екрані.\n\n"<b>"Щоб наблизити вміст"</b>", увімкніть збільшення, а потім торкніться будь-якого місця на екрані.\n"<ul><li>"Щоб прокрутити вміст, проведіть по екрану принаймні двома пальцями"</li>\n<li>"Щоб змінити масштаб, стисніть або розведіть принаймні два пальці"</li></ul>\n\n<b>"Щоб тимчасово збільшити вміст"</b>", увімкніть збільшення, а потім натисніть і утримуйте будь-яке місце на екрані.\n"<ul><li>"Пересувайте палець, щоб переміщатись екраном"</li>\n<li>"Підніміть палець, щоб знову зменшити елемент"</li></ul>\n\n"Масштабування не підтримується на клавіатурі та панелі навігації."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Сторінка <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> з <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Швидка дія кнопкою функцій доступності"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Отримуйте сповіщення лише від важливих людей і додатків"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Вибрати тип активації"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Час"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Приклад: \"9:30 – 17:00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Календар"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Приклад: \"Особистий календар\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Створити режим"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Спеціальний"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Обмеження сповіщень"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Увімкнути режим \"Не турбувати\""</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Звуки будильників і медіа можуть переривати"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Розклад"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Видалити розклади"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Видалити"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Редагувати"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Розклад"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Розклад"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Додати календар"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Використовувати календар"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Розклад"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Налаштуйте розклад"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Розклад"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> год, <xliff:g id="MINUTES">%2$d</xliff:g> хв"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Вмикати автоматично"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Розклад"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Вимикати звук телефона в певний час"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Налаштувати правила режиму \"Не турбувати\""</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Дозволити сповіщення зі звуком"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Блокувати візуальні сповіщення"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Дозволити візуальні сигнали"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Сповіщення, які ви можете отримувати"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Не відволікайтесь"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Додаткові дії"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Налаштування дисплея"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Параметри відображення"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"увімкнути темну тему"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Змініть налаштування ОС і додатків, щоб використовувати світлий текст на темному фоні. Це може бути комфортніше для очей і допомагає суттєво економити заряд акумулятора на деяких пристроях."</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Немає змін параметрів відображення}=1{{effect_1}}=2{{effect_1} і {effect_2}}=3{{effect_1}, {effect_2} і {effect_3}}one{{effect_1}, {effect_2} і ще #}few{{effect_1}, {effect_2} і ще #}many{{effect_1}, {effect_2} і ще #}other{{effect_1}, {effect_2} і ще #}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Фільтрувати сповіщення"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Сповіщення не фільтруються"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Параметри відображення відфільтрованих сповіщень"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Коли ввімкнено режим \"Не турбувати\""</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Вимкнути звук сповіщень"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"відкрити сповіщення"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Дозволити відкладання сповіщень"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Сповіщення на значках додатків"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Пакети сповіщень"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Спливаючі чати"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Спливаючі чати"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Показувати цей чат у спливаючому сповіщенні"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Категорії"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Інше"</string>
<string name="no_channels" msgid="4716199078612071915">"Цей додаток не надсилав сповіщень"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Показати категорії, що не використовуються"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Розширені налаштування в додатку"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Показати категорії, що не використ."</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Сховати категорії, що не використ."</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Усі"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Дозволити додаткам замінювати режим \"Не турбувати\""</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Додатки, які можуть переривати"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Виберіть інші додатки"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Активувати режим \"Лише будильник\" на одну годину до {time}}one{Активувати режим \"Лише будильник\" на # годину до {time}}few{Активувати режим \"Лише будильник\" на # години до {time}}many{Активувати режим \"Лише будильник\" на # годин до {time}}other{Активувати режим \"Лише будильник\" на # години до {time}}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Активувати режим \"Лише будильник\" до <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Вибрати опцію \"Завжди надсилати\""</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Перейменувати"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Змінити значок"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Змінити значок"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Застереження"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Закрити"</string>
<string name="device_feedback" msgid="5351614458411688608">"Надіслати відгук про цей пристрій"</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Футляр"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Акумулятор"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Панель налаштувань"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Примусово застосувати режим робочого столу"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Примусово застосувати експериментальний режим робочого столу на додаткових екранах"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Увімкнути вікна змінного розміру"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Увімкнути підтримку вікон змінного розміру."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Увімкнути вікна змінного розміру на другому екрані"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Увімкнути вікна змінного розміру лише на додатковому екрані."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Дозволити немасштабовані додатки в багатоекранному режимі"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Дає змогу користуватися в багатоекранному режимі додатками, розмір яких не можна змінити"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Замінити примусовий темний режим"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Щоб використовувати режим для розробників зі сторінками розміром 16 КБ, розділ даних на цьому пристрої потрібно відформувати у файловій системі ext4. У цьому режимі цілісність програмного забезпечення не гарантується, і будь-які дані, що зберігаються на телефоні, поки завантажувач операційної системи розблоковано, можуть бути під загрозою. Після цього для активації режиму 16 КБ потрібно буде ще раз перезапустити пристрій. Коли ви перейдете в цей режим, то для зміни режиму розміру сторінки з 16 КБ на 4 КБ та навпаки пристрій потрібно буде перезапустити лише один раз. Деякі функції в цих режимах буде вимкнено, тому зможуть працювати не всі додатки. Щоб повернути пристрій у виробничий режим, вам буде потрібно повернутися в режим 4 КБ й заблокувати завантажувач операційної системи. Після цього налаштування пристрою буде скинуто. Коли ОС Android завантажиться, вимкніть розблокування завантажувача в параметрах розробника. Після підтвердження на пристрої буде очищено всі дані, а файлову систему буде змінено на ext4. Коли цей процес завершиться, знову ввімкніть режим із розміром сторінок 16 КБ."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Видалити всі дані"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Не вдалося очистити розділ даних і переформатувати на ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Для режиму 16 КБ потрібно розблокувати завантажувач ОС"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Потрібне розблокування завантажувача операційної системи"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Щоб використовувати режим для розробників зі сторінками розміром 16 КБ на цьому пристрої, необхідно розблокувати завантажувач операційної системи. У цьому режимі цілісність програмного забезпечення не гарантується, і будь-які дані, що зберігаються на телефоні, поки завантажувач операційної системи розблоковано, можуть бути під загрозою. Під час активації режиму 16 КБ усі дані й налаштування користувача буде очищено. Коли завантажувач операційної системи буде розблоковано, для активації режиму 16 КБ потрібно буде перезапустити пристрій двічі. Коли ви перейдете в цей режим, то для зміни режиму розміру сторінки з 16 КБ на 4 КБ та навпаки пристрій потрібно буде перезапустити лише один раз. Деякі функції в цих режимах буде вимкнено, тому зможуть працювати не всі додатки. Щоб повернути пристрій у виробничий режим, вам буде потрібно повернутися в режим 4 КБ й заблокувати завантажувач операційної системи. Після цього налаштування пристрою буде скинуто. Докладні вказівки наведено на сторінці <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Режим, незалежний від розміру сторінок, з ядром 4 КБ"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Ви працюєте в режимі, незалежному від розміру сторінок, з ядром 4 КБ. Цілісність програмного забезпечення не гарантується, і будь-які дані, що зберігаються на телефоні, поки завантажувач ОС розблоковано, можуть бути під загрозою. Деякі функції буде вимкнено, тому працюватимуть не всі додатки. Щоб повернутися у виробничий режим, заблокуйте завантажувач ОС пристрою."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Ви працюєте в режимі, незалежному від розміру сторінок, з ядром для сторінок 4 КБ. У цьому режимі цілісність програмного забезпечення не гарантується, і будь-які дані, що зберігаються на телефоні, поки завантажувач операційної системи розблоковано, можуть бути під загрозою. Деякі функції в цих режимах буде вимкнено, тому зможуть працювати не всі додатки. Щоб повернутися у виробничий режим, вам потрібно заблокувати завантажувач операційної системи пристрою. Тоді налаштування пристрою знову буде скинуто й відновляться виробничі налаштування. Коли ОС Android завантажиться на пристрій, вимкніть розблокування завантажувача в параметрах розробника. Якщо ОС Android не завантажується на пристрій або працює нестабільно, відновіть на пристрої останні заводські образи (завантаживши їх звідси: <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>) або перейдіть на сторінку <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> і виберіть \"Очистити пристрій\", \"Заблокувати завантажувач операційної системи\" й \"Примусово оновити всі розділи\"."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Режим, незалежний від розміру сторінок, з ядром 16 КБ"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Ви працюєте в режимі, незалежному від розміру сторінок, з ядром 16 КБ. Цілісність програмного забезпечення не гарантується, і будь-які дані, що зберігаються на телефоні, поки завантажувач ОС розблоковано, можуть бути під загрозою. Деякі функції буде вимкнено, тому працюватимуть не всі додатки. Щоб повернутися у виробничий режим, заблокуйте завантажувач ОС пристрою."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Ви працюєте в режимі, незалежному від розміру сторінок, з ядром для сторінок 16 КБ. У цьому режимі цілісність програмного забезпечення не гарантується, і будь-які дані, що зберігаються на телефоні, поки завантажувач операційної системи розблоковано, можуть бути під загрозою. Деякі функції в цих режимах буде вимкнено, тому зможуть працювати не всі додатки. Щоб повернутися у виробничий режим, вам потрібно знову перейти в режим 4 КБ й заблокувати завантажувач операційної системи пристрою. Тоді налаштування пристрою знову буде скинуто й відновляться виробничі налаштування. Коли ОС Android завантажиться, вимкніть розблокування завантажувача в параметрах розробника. Якщо ОС Android не завантажується або працює нестабільно, відновіть мікропрограму, завантаживши останні заводські образи на сайті <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> або перейдіть на сторінку <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> і виберіть \"Очистити пристрій\", \"Заблокувати завантажувач операційної системи\" й \"Примусово оновити всі розділи\"."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Ви працюєте в режимі, що не залежить від розміру сторінки, з ядром для сторінок 16 КБ. У цьому режимі цілісність програмного забезпечення не гарантується, і будь-які дані, що зберігаються на телефоні, поки завантажувач операційної системи розблоковано, можуть бути під загрозою. Деякі функції в цих режимах буде вимкнено, тому зможуть працювати не всі додатки. Щоб повернутися у виробничий режим, вам потрібно знову перейти в режим 4 КБ й заблокувати завантажувач операційної системи пристрою. Торкніться, щоб дізнатися більше."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Ви працюєте в режимі, що не залежить від розміру сторінки, з ядром для сторінок 16 КБ. У цьому режимі цілісність програмного забезпечення не гарантується, і будь-які дані, що зберігаються на телефоні, поки завантажувач операційної системи розблоковано, можуть бути під загрозою. Деякі функції в цих режимах буде вимкнено, тому зможуть працювати не всі додатки. Щоб повернутися у виробничий режим, вам потрібно знову перейти в режим 4 КБ й заблокувати завантажувач операційної системи пристрою. Тоді налаштування пристрою знову буде скинуто й відновляться виробничі налаштування. Коли ОС Android завантажиться на пристрій, вимкніть розблокування завантажувача в параметрах розробника. Якщо ОС Android не завантажується на пристрій або працює нестабільно, відновіть на пристрої останні заводські образи (завантаживши їх звідси: <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>) або перейдіть на сторінку <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> і виберіть \"Очистити пристрій\", \"Заблокувати завантажувач операційної системи\" й \"Примусово оновити всі розділи\"."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Режим, незалежний від розміру сторінок, з ядром для сторінок 16 КБ"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Докладніше"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Обробник звітів про помилки"</string>
@@ -5015,7 +5073,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Використовувати закріплення додатків"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Використовувати Параметри розробника"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Використовувати сервіс друку"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Дозволити кілька користувачів"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"дозволити, кілька, користувач, дозвіл, багато"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"кілька, користувачі, профілі, люди, облікові записи, змінити, багато"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Використовувати налагодження через Wi-Fi"</string>
@@ -5129,8 +5188,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Виберіть, що має відображатися на екрані, коли планшет у док-станції. Із заставкою ваш пристрій може споживати більше енергії."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Налаштувати"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Налаштувати <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Щоб увімкнути підтримку довільного формату, перезапустіть пристрій."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Щоб примусово застосувати режим робочого столу на додаткових екранах, перезапустіть пристрій."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Щоб увімкнути підтримку старого формату вікон змінного розміру, перезапустіть пристрій."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Щоб змінити підтримку вікон змінного розміру, перезапустіть пристрій."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Щоб примусово ввімкнути вікна змінного розміру на додаткових екранах, перезапустіть пристрій."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Перезапустити зараз"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Перезапустити пізніше"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Просторове звучання"</string>
@@ -5359,4 +5419,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Слухати потокове аудіо"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Відскануйте QR-код потокового аудіо, щоб слухати на пристрої \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\""</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Неможливо змінити пароль під час надсилання. Щоб змінити пароль, спершу вимкніть надсилання аудіо."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-ur/arrays.xml b/res/values-ur/arrays.xml
index 751e5ff..239a61c 100644
--- a/res/values-ur/arrays.xml
+++ b/res/values-ur/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"سونے کا وقت"</item>
+ <item msgid="4152450357280759894">"ڈرائیونگ"</item>
+ <item msgid="7096549258219399423">"عمیق"</item>
+ <item msgid="2760716776980432977">"زیر انتظام"</item>
+ <item msgid="601734478369121764">"ستارہ"</item>
+ <item msgid="6243809315432780521">"کیلنڈر"</item>
+ <item msgid="4913577903148415331">"وقت"</item>
+ <item msgid="3653377604690057780">"تھیٹر"</item>
+ <item msgid="3843711267408385410">"پھول"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index c52e398..4533859 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"سماعت کے آلے کی ترتیبات"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"شارٹ کٹ، سماعتی آلہ کی موافقت"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"پہلے سے ترتیب شدہ"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"آپ کے آڈیولوجسٹ کے ذریعہ کوئی پہلے سے ترتیب شدہ پروگرام نہیں ہے"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"پہلے سے ترتیب شدہ کو اپ ڈیٹ نہیں کر سکے"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"آڈیو کا آؤٹ پُٹ"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"آڈیو آؤٹ پٹ کے بارے میں"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"چہرہ اور <xliff:g id="WATCH">%s</xliff:g> شامل کیے گئے"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"چہرہ، فنگر پرنٹ اور <xliff:g id="WATCH">%s</xliff:g> شامل کیے گئے"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"چہرہ، فنگر پرنٹس اور <xliff:g id="WATCH">%s</xliff:g> شامل کیے گئے"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"یہ ضروری ہے کیونکہ شناخت چیک آن ہے"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator کو غیر مقفل کریں"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"گھڑی کو شامل کیا گیا"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"اپنی گھڑی سیٹ اپ کریں"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"واچ اَن لاک کے بارے میں مزید جانیں"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"گھڑی شامل کریں"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"گھڑی ہٹائیں"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"فنگر پرنٹ اور فیس انلاک"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"فیس اور فنگر پرنٹ اَن لاک"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"کام کے لیے فیس اور فنگر پرنٹ اَن لاک"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"سیٹ اپ درکار ہے"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"چہرے اور فنگر پرنٹس کو شامل کیا گیا"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"ایپس انسٹال کریں"</b>\n"وہ ایپس انسٹال کریں جنہیں آپ اپنی اسپیس میں نجی رکھنا چاہتے ہیں"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"یاد رکھیں"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"آپ کے اپنی اسپیس کو مقفل کرنے پر ایپس بند ہو جاتی ہیں"</b>\n"آپ کے اپنی اسپیس کو مقفل کرنے پر، آپ کی اسپیس میں موجود ایپس بند ہو جاتی ہیں اور آپ ان سے اطلاعات وصول نہیں کر سکیں گے"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"پرائیویٹ اسپیسز ان ایپس کے لیے موزوں نہیں ہیں جنہیں بیک گراؤنڈ میں چلانے یا طبی ایپس جیسی اہم اطلاعات بھیجنے کی ضرورت ہوتی ہے۔ اس کی وجہ یہ ہے کہ جب آپ کی اسپیس مقفل ہوتی ہے تو اطلاعات اور پس منظر کی سرگرمی روک دی جاتی ہے۔\n\nپرائیویٹ اسپیس مقفل ہونے پر، آپ کی پرائیویٹ اسپیس میں موجود ایپس اجازتوں کے مینیجر، پرائیویسی ڈیش بورڈ اور دیگر ترتیبات میں دکھائی نہیں دیں گی۔\n\nآپ کی پرائیویٹ اسپیس کو کسی نئے آلے پر منتقل نہیں کیا جا سکتا۔ اگر آپ اسے کسی دوسرے آلے پر استعمال کرنا چاہتے ہیں تو آپ کو ایک اور نجی اسپیس سیٹ اپ کرنے کی ضرورت ہوگی۔\n\nکوئی بھی جو آپ کے آلے کو کمپیوٹر سے منسلک کرتا ہے یا آپ کے آلے پر نقصان دہ ایپس انسٹال کرتا ہے وہ آپ کی نجی اسپیس تک رسائی حاصل کر سکتا ہے۔"</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"پرائیویٹ اسپیسز ان ایپس کے لیے موزوں نہیں ہیں جنہیں بیک گراؤنڈ میں چلانے یا طبی ایپس جیسی اہم اطلاعات بھیجنے کی ضرورت ہوتی ہے۔ اس کی وجہ یہ ہے کہ جب آپ کی اسپیس مقفل ہوتی ہے تو اطلاعات اور پس منظر کی سرگرمی روک دی جاتی ہے۔\n\nپرائیویٹ اسپیس مقفل ہونے پر، آپ کی پرائیویٹ اسپیس میں موجود ایپس اجازتوں کے مینیجر، پرائیویسی ڈیش بورڈ اور دیگر ترتیبات میں دکھائی نہیں دیں گی۔\n\nآپ کی پرائیویٹ اسپیس کو کسی نئے آلے پر بحال نہیں کیا جا سکتا۔ اگر آپ اسپیس کو کسی دوسرے آلے پر استعمال کرنا چاہتے ہیں تو آپ کو ایک اور اسپیس سیٹ اپ کرنے کی ضرورت پڑے گی۔\n\nآپ کے آلے کو کسی کمپیوٹر سے منسلک کرنے یا آپ کے آلے پر نقصان دہ ایپس انسٹال کرنے والا کوئی بھی شخص آپ کی پرائیویٹ اسپیس تک رسائی حاصل کر سکتا ہے۔"</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"پرائیویٹ اسپیس کے بارے میں مزید جانیں"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"اس میں کچھ وقت لگے گا"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"نجی اسپیس سیٹ اپ کی جا رہی ہے…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"آلہ ری اسٹارٹ کریں؟"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"تفصیلی NFC لاگنگ صرف ڈویلپمنٹ مقاصد کے لیے ہے۔ اضافی NFC ڈیٹا بگ رپورٹس میں شامل کیا جاتا ہے جس میں نجی معلومات شامل ہو سکتی ہیں۔ اس ترتیب کو تبدیل کرنے کے لیے اپنا آلہ ری اسٹارٹ کریں۔"</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"ری اسٹارٹ کریں"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"کاسٹ کریں"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"مرر"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"وائرلیس ڈسپلے فعال کریں"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"تغیر پذیر"</string>
<string name="brightness" msgid="6216871641021779698">"چمک کی سطح"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"تغیر پذیر چمک"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"تغیر پذیر چمک کے بارے میں"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"آپ کی اسکرین کی چمک خودکار طور پر آپ کے ماحول اور سرگرمیوں کے مطابق ہو جائے گی۔ آپ نئی ترجیحات جاننے میں تغیر پذیر چمک کی مدد کرنے کے لئے سلائیڈر کو دستی طور پر حرکت دے سکتے ہیں۔"</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"آن"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"آف"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"اختیارات"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"ایکسیسبیلٹی"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"فزیکل کی بورڈ"</string>
- <string name="show_ime" msgid="4334255501724746849">"آن اسکرین کی بورڈ کا استعمال کریں"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"جب فزیکل کی بورڈ فعال ہو تو اس کو اسکرین پر رکھیں"</string>
<string name="bounce_keys" msgid="7419450970351743904">"باؤنس کلیدیں"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"کی بورڈ <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms کے اندر ایک ہی کلید کو فوری طور پر بار بار دبائے جانے کو نظر انداز کرتا ہے"</string>
<string name="slow_keys" msgid="2891452895499690837">"سلو کلیدیں"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"صارف کا منتخب کردہ: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"اسپیچ"</string>
<string name="pointer_speed" msgid="7398649279282675718">"پوائنٹر کی رفتار"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"گیم کنٹرولر"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"وائبریشن کو ری ڈائریکٹ کریں"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"منسلک ہونے پر گیم کنٹرولر کو وائبریشن بھیجیں"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"بہر حال جاری رکھیں"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"منسوخ کریں"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"میگنیفکیشن کی ترتیبات"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"ایک انگلی سے پین کرنا"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"1 انگلی سے میگنیفائر کو حرکت دیں"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"اسکرین کے ارد گرد گھمانے کیلئے 1 انگلی سے گھسیٹیں"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"ایک انگلی گھسیٹ کر میگنیفیکیشن ایریا کو منتقل کریں۔"</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"دو انگلیوں کو گھسیٹ کر میگنیفیکیشن ایریا کو منتقل کریں۔"</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"اسکرین کے صرف میگنفائی کرنے والے حصے کے دوران دستیاب نہیں ہے"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"زوم کرنے کیلئے ایک بٹن پر تھپتھپائیں"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"مواد کو بڑا کرنے کے لیے اسکرین پر فوری طور پر زوم ان کریں"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>زوم ان کرنے کے لیے:</b><br/> {0,number,integer}۔ میگنیفکیشن شروع کرنے کے لیے شارٹ کٹ کا استعمال کریں<br/> {1,number,integer}۔ اسکرین پر تھپتھپائیں<br/> {2,number,integer}۔ اسکرین پر اِدھر اُدھر حرکت کرنے کے لیے 2 انگلیوں سے گھسیٹیں<br/> {3,number,integer}۔ زوم کو ایڈجسٹ کرنے کے لیے 2 انگلیوں سے چٹکی بھریں<br/> {4,number,integer}۔ میگنیفکیشن بند کرنے کے لیے شارٹ کٹ کا استعمال کریں<br/><br/> <b> عارضی طور پر زوم ان کرنے کے لیے:</b><br/> {0,number,integer}۔ یقینی بنائیں کہ آپ کی میگنیفیکیشن کی قسم فُل اسکرین پر سیٹ ہے<br/> {1,number,integer}۔ میگنیفکیشن شروع کرنے کے لیے شارٹ کٹ کا استعمال کریں<br/> {2,number,integer}۔ اسکرین پر کسی بھی جگہ پر ٹچ کریں اور دبائیں رکھیں<br/> {3,number,integer}۔ اسکرین پر اِدھر اُدھر حرکت کرنے کے لیے انگلی کو گھسیٹیں<br/> {4,number,integer}۔ میگنیفکیشن بند کرنے کے لیے انگلی اٹھائيں"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>زوم ان کرنے کے لیے:</b><br/> {0,number,integer}۔ میگنیفکیشن شروع کرنے کے لیے شارٹ کٹ کا استعمال کریں<br/> {1,number,integer}۔ اسکرین پر تھپتھپائیں<br/> {2,number,integer}۔ اسکرین پر اِدھر اُدھر حرکت کرنے کے لیے 2 انگلیوں سے گھسیٹیں<br/> {3,number,integer}۔ زوم کو ایڈجسٹ کرنے کے لیے 2 انگلیوں سے چٹکی بھریں<br/> {4,number,integer}۔ میگنیفکیشن کو بند کرنے کے لیے شارٹ کٹ استعمال کریں<br/><br/> آپ عارضی طور پر زوم ان بھی کر سکتے ہیں اور بہت کچھ کر سکتے ہیں۔"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>زوم ان کرنے کے لیے:</b><br/> {0,number,integer}۔ میگنیفکیشن شروع کرنے کے لیے شارٹ کٹ کا استعمال کریں<br/> {1,number,integer}۔ اسکرین پر تھپتھپائیں<br/> {2,number,integer}۔ اسکرین پر اِدھر اُدھر حرکت کرنے کے لیے 1 یا 2 انگلیوں سے گھسیٹیں<br/> {3,number,integer}۔ زوم کو ایڈجسٹ کرنے کے لیے 2 انگلیوں سے چٹکی بھریں<br/> {4,number,integer}۔ میگنیفکیشن کو بند کرنے کے لیے شارٹ کٹ استعمال کریں<br/><br/> آپ عارضی طور پر زوم ان بھی کر سکتے ہیں اور بہت کچھ کر سکتے ہیں۔"</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"جب میگنیفکیشن آن ہو، تو آپ اپنی اسکرین پر زوم ان کرسکتے ہیں۔\n\n"<b>"زوم کرنے کے لیے"</b>"، میگنیفکیشن شروع کریں، پھر اسکرین پر کہیں بھی تھپتھپائیں۔\n"<ul><li>" اسکرول کرنے کے لیے 2 یا زائد انگلیوں سے گھسیٹیں"</li>\n<li>"زوم ایڈجیسٹ کرنے کے لیے 2 یا زائد انگلیوں سے چٹکی بھریں"</li></ul>\n\n<b>"عارضی طور پر زوم کرنے کے لیے"</b>"، میگنیفکیشن شروع کریں، پھر اسکرین پر کہیں بھی ٹچ اور ہولڈ کریں۔\n"<ul><li>"اسکرین کے اردگرد منتقل کرنے کے لیے گھسیٹیں"</li>\n<li>"زوم آؤٹ کرنے کے لیے انگلی اٹھائیں"</li></ul>\n\n"آپ کی بورڈ یا نیویگیشن بار پر زوم ان نہیں کرسکتے۔"</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"صفحہ <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> از <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"ایکسیسبیلٹی بٹن کا شارٹ کٹ"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"صرف اہم لوگوں اور ایپس کی جانب سے اطلاعات حاصل کریں"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"فعالیت کی قسم منتخب کریں"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"وقت"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"جیسے \"9:30 – 5:00 PM\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"کیلنڈر"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"جیسے \"ذاتی کیلنڈر\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"موڈ تخلیق کریں"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"حسب ضرورت"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"مداخلتوں کی حد مقرر کریں"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'ڈسٹرب نہ کریں\' کو آن کریں"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"الارم اور میڈیا کی آوازیں رکاوٹ ڈال سکتی ہیں"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"شیڈولز"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"شیڈولز حذف کریں"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"حذف کریں"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"ترمیم کریں"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"شیڈولز"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"شیڈول کریں"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"شیڈول سیٹ کریں"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"شیڈول کریں"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> گھنٹہ، <xliff:g id="MINUTES">%2$d</xliff:g> منٹ"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"خودکار طور پر آن کریں"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"شیڈول"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"مخصوص اوقات میں فون خاموش کر دیں"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"\'ڈسٹرب نہ کریں\' اصول سیٹ کریں"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"آواز پیدا کرنے والی مداخلتوں کو اجازت دیں"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"بصری مداخلتیں مسدود کریں"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"بصری سگنلز کی اجازت دیں"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"وہ اطلاعات جو آپ تک پہنچ سکتی ہیں"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"فوکس رہیں"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"اضافی کارروائیاں"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"ڈسپلے کی ترتیبات"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"ڈسپلے کے اختیارات"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"گہری تھیم کو فعال کریں"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"تاریک پس منظر پر ہلکے رنگ کے ٹیکسٹ کو ترجیح دینے کے لیے OS اور ایپس کو سوئچ کریں۔ یہ آنکھوں کیلئے زیادہ آرام دہ ہوتا ہے اور کچھ آلات پر بیٹری کی کافی بچت کرتا ہے"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{ڈسپلے میں کوئی تبدیلی نہیں ہوئی}=1{{effect_1}}=2{{effect_1} اور {effect_2}}=3{{effect_1}، {effect_2} اور {effect_3}}other{{effect_1}، {effect_2} اور # مزید}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"مداخلتیں فلٹر کریں"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"کوئی مداخلت فلٹر نہیں کی گئی ہے"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"فلٹر شدہ اطلاعات کیلئے ڈسپلے کے اختیارات"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"جب \'ڈسٹرب نہ کریں\' آن ہو"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"اطلاعات کی کوئی آواز نہیں"</string>
@@ -3483,6 +3541,8 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"اطلاع کھولیں"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"اطلاع کی اسنوزنگ کی اجازت دیں"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"ایپ آئیکن پر اطلاعاتی ڈاٹ"</string>
+ <!-- no translation found for notification_bundles (3614044525822580826) -->
+ <skip />
<string name="notification_bubbles_title" msgid="5681506665322329301">"بلبلے"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"بلبلے"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"یہ گفتگو ببل کریں"</string>
@@ -3664,6 +3724,7 @@
<string name="notification_channels" msgid="1502969522886493799">"زمرے"</string>
<string name="notification_channels_other" msgid="18159805343647908">"دیگر"</string>
<string name="no_channels" msgid="4716199078612071915">"اس ایپ نے کوئی اطلاعات شائع نہیں کی ہیں"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"غیر استعمال شدہ زمرے دکھائیں"</string>
<string name="app_settings_link" msgid="6725453466705333311">"ایپ میں اضافی ترتیبات"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"غیر استعمال شدہ زمرے دکھائیں"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"غیر استعمال شدہ زمرے چھپائیں"</string>
@@ -3775,6 +3836,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"سبھی"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ایپس کو اوور رائیڈ کرنے کی اجازت دیں"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"ایپس جو مداخلت کر سکتی ہیں"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"مزید ایپس منتخب کریں"</string>
@@ -4799,8 +4862,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"کیس"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"بیٹری"</string>
<string name="settings_panel_title" msgid="346363079938069215">"ترتیبات پینل"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"ڈیسک ٹاپ موڈ فورس کریں"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ثانوی ڈسپلیز پر تجرباتی ڈیسک ٹاپ موڈ فورس کریں"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"فری فارم ونڈوز فعال کریں"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"فریفارم ونڈوز کے لیے سپورٹ کو فعال کریں۔"</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"دوسرے ڈسپلے پر فریفارم ونڈونگ کو فعال کریں"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"فریفارم ونڈوز کو صرف سیکنڈری ڈسپلے پر فعال کریں"</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"ملٹی ونڈو میں سائز کی ناقابل تبدیلی کو فعال کریں"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"ناقابل تبدیل سائز والی ایپس کو ملٹی ونڈو میں ہونے کی اجازت ہوتی ہے"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"force-dark کو اوور رائیڈ کریں"</string>
@@ -4868,14 +4933,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"16KB ڈویلپر اختیار استعمال کرنے سے پہلے اس آلہ کے ڈیٹا پارٹیشن کو ext4 میں تبدیل کرنے کی ضرورت ہے۔ اس موڈ میں سافٹ ویئر کی درستگی کی ضمانت نہیں دی جا سکتی ہے، اور بوٹ لوڈر کے غیر مقفل ہونے کے دوران فون پر اسٹور کردہ کوئی بھی ڈیٹا خطرے میں ہو سکتا ہے۔ 16KB اختیار کو فعال کرنے کے لیے اس کے بعد ایک اور ریبوٹ کی ضرورت ہوگی۔ اس موڈ میں آنے کے بعد آپ ایک ہی ریبوٹ میں 4KB اور 16KB موڈ کے درمیان سوئچ کر سکتے ہیں۔ ان موڈز میں کچھ خصوصیات غیر فعال ہو جائیں گی، اس لیے ہو سکتا ہے کچھ ایپلیکیشنز کام نہ کریں۔ آلہ کو پروڈکشن موڈ میں واپس کرنے کے لیے، آپ کو 4KB موڈ پر واپس جانا ہوگا اور پھر بوٹ لوڈر کو لاک کرنا ہوگا، جو فیکٹری آلہ کو ری سیٹ کرتا ہے۔ آلہ کے Android میں کامیابی کے ساتھ بوٹ ہونے کے بعد، ڈیولپر کے اختیارات میں OEM انلاکنگ کو غیر فعال کریں۔ آلہ کو صاف کر دیا جائے گا اور تصدیق کے بعد فائل سسٹم کو ext4 میں تبدیل کر دیا جائے گا۔ اس کے مکمل ہونے کے بعد، براہ کرم 16KB کو دوبارہ فعال کرنے کے لیے واپس آئیں۔"</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"سبھی ڈیٹا مٹائیں"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"ڈیٹا پارٹیشن کو ext4 پر دوبارہ فارمیٹ کرنے اور صاف کرنے میں ناکام۔"</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"16KB موڈ کے لیے بوٹ لوڈر انلاک درکار ہے"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"بوٹ لوڈر ان لاک درکار ہے"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"اس آلہ کو 16KB ڈویلپر اختیار استعمال کرنے سے پہلے بوٹ لوڈر کو غیر مقفل کرنے کی ضرورت ہے۔ اس موڈ میں سافٹ ویئر کی درستگی کی ضمانت نہیں دی جا سکتی ہے، اور بوٹ لوڈر کے غیر مقفل ہونے کے دوران فون پر اسٹور کردہ کوئی بھی ڈیٹا خطرے میں ہو سکتا ہے۔ 16KB موڈ کو فعال کرنے پر صارف کا تمام ڈیٹا اور ترتیبات صاف کر دی جائیں گی۔ بوٹ لوڈر غیر مقفل ہونے کے بعد 16KB اختیار کو چالو کرنے کے لیے دو بار ریبوٹس کی ضرورت ہوگی۔ اس موڈ میں آنے کے بعد آپ ایک ہی ریبوٹ میں 4KB اور 16KB موڈ کے درمیان سوئچ کر سکتے ہیں۔ ان موڈز میں کچھ خصوصیات غیر فعال ہو جائیں گی، اس لیے ہو سکتا ہے کچھ ایپلیکیشنز کام نہ کریں۔ آلہ کو پروڈکشن موڈ میں واپس کرنے کے لیے، آپ کو 4KB موڈ پر واپس جانا ہوگا اور پھر OEM/بوٹ لوڈر کو لاک کرنا ہوگا (جو آلہ کو فیکٹری ری سیٹ کرتا ہے)۔ براہ کرم بوٹ لوڈر کو غیر مقفل کریں اور دوبارہ کوشش کریں۔ آپ اسے کرنے کے طریقے سے متعلق ہدایات یہاں دیکھ سکتے ہیں: <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"4KB صفحہ ایگنوسٹک موڈ کا استعمال"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"آپ صفحہ ایگنوسٹک موڈ کے 4KB موڈ میں ہیں۔ اس موڈ میں سافٹ ویئر کی درستگی کی ضمانت نہیں دی جا سکتی ہے، اور بوٹ لوڈر کے غیر مقفل ہونے کے دوران فون پر اسٹور کردہ کوئی بھی ڈیٹا خطرے میں ہو سکتا ہے۔ ان موڈز میں کچھ خصوصیات غیر فعال ہو جائیں گی، اس لیے ہو سکتا ہے کچھ ایپلیکیشنز کام نہ کریں۔ پروڈکشن موڈ میں دوبارہ داخل ہونے کے لیے، آپ کو آلے کے بوٹ لوڈر کو مقفل کرنا ہوگا۔ مزید پڑھنے کیلئے تھپتھپائیں۔"</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"آپ صفحہ ایگنوسٹک موڈ کے 4KB موڈ میں ہیں۔ اس موڈ میں سافٹ ویئر کی درستگی کی ضمانت نہیں دی جا سکتی ہے، اور بوٹ لوڈر کے غیر مقفل ہونے کے دوران فون پر اسٹور کردہ کوئی بھی ڈیٹا خطرے میں ہو سکتا ہے۔ ان موڈز میں کچھ خصوصیات غیر فعال ہو جائیں گی، اس لیے ہو سکتا ہے کچھ ایپلیکیشنز کام نہ کریں۔ پروڈکشن موڈ میں دوبارہ داخل ہونے کے لیے، آپ کو آلے کے بوٹ لوڈر کو مقفل کرنا ہوگا۔ یہ آلہ کو دوبارہ فیکٹری ری سیٹ کر دے گا اور اسے پروڈکشن ترتیبات پر بحال کر دے گا۔ آلہ کے Android میں کامیابی کے ساتھ بوٹ ہونے کے بعد، ڈیولپر کے اختیارات میں OEM انلاکنگ کو غیر فعال کریں۔ اگر آلہ Android میں بوٹ ہونے میں ناکام ہو جاتا ہے یا غیر مستحکم ہو جاتا ہے، تو <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> سے تازہ ترین فیکٹری امیجز کے ساتھ آلہ کو دوبارہ فلیش کریں یا <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> استعمال کریں اور \'آلہ کو صاف کریں\'، \'بوٹ لوڈر کو مقفل کریں\' اور \'سبھی پارٹیشنز کو فورس فلیش کریں\' کو منتخب کریں۔"</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"16KB صفحہ ایگنوسٹک موڈ کا استعمال"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"آپ صفحہ ایگنوسٹک موڈ کے 16KB موڈ میں ہیں۔ اس موڈ میں سافٹ ویئر کی درستگی کی ضمانت نہیں دی جا سکتی ہے، اور بوٹ لوڈر کے غیر مقفل ہونے کے دوران فون پر اسٹور کردہ کوئی بھی ڈیٹا خطرے میں ہو سکتا ہے۔ ان موڈز میں کچھ خصوصیات غیر فعال ہو جائیں گی، اس لیے ہو سکتا ہے کچھ ایپلیکیشنز کام نہ کریں۔ پروڈکشن موڈ میں دوبارہ داخل ہونے کے لیے، آپ کو 4K موڈ پر واپس جانا ہوگا اور پھر آلہ کے بوٹ لوڈر کو مقفل کرنا ہوگا۔ مزید پڑھنے کیلئے تھپتھپائیں۔"</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"آپ صفحہ ایگنوسٹک موڈ کے 16KB موڈ میں ہیں۔ اس موڈ میں سافٹ ویئر کی درستگی کی ضمانت نہیں دی جا سکتی ہے، اور بوٹ لوڈر کے غیر مقفل ہونے کے دوران فون پر اسٹور کردہ کوئی بھی ڈیٹا خطرے میں ہو سکتا ہے۔ ان موڈز میں کچھ خصوصیات غیر فعال ہو جائیں گی، اس لیے ہو سکتا ہے کچھ ایپلیکیشنز کام نہ کریں۔ پروڈکشن موڈ میں دوبارہ داخل ہونے کے لیے، آپ کو 4K موڈ پر واپس جانا ہوگا اور پھر آلہ کے بوٹ لوڈر کو مقفل کرنا ہوگا۔ یہ آلہ کو دوبارہ فیکٹری ری سیٹ کر دے گا اور اسے پروڈکشن ترتیبات پر بحال کر دے گا۔ آلہ کے Android میں کامیابی کے ساتھ بوٹ ہونے کے بعد، ڈیولپر کے اختیارات میں OEM انلاکنگ کو غیر فعال کریں۔ اگر آلہ Android میں بوٹ ہونے میں ناکام ہو جاتا ہے یا غیر مستحکم ہو جاتا ہے، تو <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> سے تازہ ترین فیکٹری امیجز کے ساتھ آلہ کو دوبارہ فلیش کریں یا <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> استعمال کریں اور \'آلہ کو صاف کریں\'، \'بوٹ لوڈر کو مقفل کریں\' اور \'سبھی پارٹیشنز کو فورس فلیش کریں\' کو منتخب کریں۔"</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"آپ صفحہ ایگنوسٹک موڈ کے 16KB موڈ میں ہیں۔ اس موڈ میں سافٹ ویئر کی درستگی کی ضمانت نہیں دی جا سکتی، اور بوٹ لوڈر کے غیر مقفل ہونے کے دوران فون پر اسٹور کردہ کسی بھی ڈیٹا کو خطرہ لاحق ہو سکتا ہے۔ ان موڈز میں کچھ خصوصیات غیر فعال ہو جائیں گی، اسلئے ہو سکتا ہے کہ کچھ ایپلیکیشنز کام نہ کریں۔ پروڈکشن موڈ میں دوبارہ داخل ہونے کے لیے، آپ کو 4KB موڈ پر واپس جانا ہوگا اور پھر آلہ کے بوٹ لوڈر کو مقفل کرنا ہوگا۔ مزید پڑھنے کیلئے تھپتھپائیں۔"</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"آپ صفحہ ایگنوسٹک موڈ کے 16KB موڈ میں ہیں۔ اس موڈ میں سافٹ ویئر کی درستگی کی ضمانت نہیں دی جا سکتی، اور بوٹ لوڈر کے غیر مقفل ہونے کے دوران فون پر اسٹور کردہ کسی بھی ڈیٹا کو خطرہ لاحق ہو سکتا ہے۔ ان موڈز میں کچھ خصوصیات غیر فعال ہو جائیں گی، اسلئے ہو سکتا ہے کہ کچھ ایپلیکیشنز کام نہ کریں۔ پروڈکشن موڈ میں دوبارہ داخل ہونے کے لیے، آپ کو 4KB موڈ پر واپس جانا ہوگا اور پھر آلہ کے بوٹ لوڈر کو مقفل کرنا ہوگا۔ یہ آلہ کو دوبارہ فیکٹری ری سیٹ کر دے گا اور اسے پروڈکشن ترتیبات پر بحال کر دے گا۔ آلے کے Android میں کامیابی کے ساتھ بوٹ ہونے کے بعد، ڈویلپر کے اختیارات میں OEM انلاکنگ کو غیر فعال کریں۔ اگر آلہ Android میں بوٹ ہونے میں ناکام ہو جاتا ہے یا غیر مستحکم ہو جاتا ہے، تو <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> سے تازہ ترین فیکٹری امیجز کے ساتھ آلہ کو دوبارہ فلیش کریں یا <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> استعمال کریں اور \'آلہ کو صاف کریں\'، \'بوٹ لوڈر کو مقفل کریں\' اور \'سبھی پارٹیشنز کو فورس فلیش کریں\' کو منتخب کریں۔"</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16KB صفحہ ایگنوسٹک موڈ"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"مزید پڑھیں"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"بگ رپورٹ کا ہینڈلر"</string>
@@ -5007,7 +5072,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"ایپ کو پن کرنے کی سہولت کا استعمال کریں"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"ڈویلپر کے اختیارات کا استعمال کریں"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"پرنٹ سروس کا استعمال کریں"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"متعدد صارفین کو اجازت دیں"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"اجازت دیں، متعدد، صارف، اجازت، بہت سے"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"متعدد، صارفین، پروفائلز، لوگ، اکاؤنٹس، سوئچ، بہت کچھ"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"وائرلیس ڈیبگنگ کا استعمال کریں"</string>
@@ -5121,8 +5187,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"منتخب کریں کہ آپ کے ٹیبلیٹ کو ڈاک سے منسلک کئے جانے پر آپ کو اپنی اسکرین پر کیا دکھائی دے۔ اسکرین سیور کا استعمال کرنے پر آپ کا آلہ زیادہ توانائی استعمال کر سکتا ہے۔"</string>
<string name="customize_button_title" msgid="1110284655990203359">"حسب ضرورت بنائیں"</string>
<string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> کو حسب ضرورت بنائیں"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"فری فارم سپورٹ کو فعال کرنے کے لیے ریبوٹ درکار ہے۔"</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"سیکنڈری ڈسپلیز پر ڈیسک ٹاپ موڈ فورس کرنے کے لیے ریبوٹ درکار ہے۔"</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"legacy فریفارم ونڈونگ سپورٹ کو فعال کرنے کے لیے ریبوٹ درکار ہے۔"</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"فری فارم ونڈوئنگ سپورٹ تبدیل کرنے کے لیے ریبوٹ درکار ہے۔"</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"ثانوی ڈسپلیز پر زبردستی فری فارم ونڈوئینگ کے لیے ریبوٹ درکار ہے۔"</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"ابھی ریبوٹ کریں"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"بعد میں ریبوٹ کریں"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"اسپیشیئل آڈیو"</string>
@@ -5351,4 +5418,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"سلسلہ سنیں"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> کے ساتھ سننے کے لئے آڈیو سلسلے کا QR کوڈ اسکین کریں"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"اشتراک کے دوران پاس ورڈ میں ترمیم نہیں کر سکتے۔ پاس ورڈ تبدیل کرنے کے لئے پہلے آڈیو کا اشتراک بند کریں۔"</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-uz/arrays.xml b/res/values-uz/arrays.xml
index 39246f6..2fff628 100644
--- a/res/values-uz/arrays.xml
+++ b/res/values-uz/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Uyqu vaqti"</item>
+ <item msgid="4152450357280759894">"Avtomobilda"</item>
+ <item msgid="7096549258219399423">"Immersiv"</item>
+ <item msgid="2760716776980432977">"Boshqarilayotgan"</item>
+ <item msgid="601734478369121764">"Yulduzcha bilan belgilash"</item>
+ <item msgid="6243809315432780521">"Taqvim"</item>
+ <item msgid="4913577903148415331">"Vaqt"</item>
+ <item msgid="3653377604690057780">"Teatr"</item>
+ <item msgid="3843711267408385410">"Gul"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index f179e9a..4d11da6 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Eshitish qurilmasi sozlamalari"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Tezkor tugma, eshitish apparati bilan moslik"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Andoza"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Audiolog dasturlagan andozalar topilmadi"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Andoza yangilanmadi"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Audio chiqishi"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Audio chiqishi haqida"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Yuz va <xliff:g id="WATCH">%s</xliff:g> qoʻshildi"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Yuz, barmoq izi va <xliff:g id="WATCH">%s</xliff:g> qoʻshildi"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Yuz, barmoq izlari va <xliff:g id="WATCH">%s</xliff:g> qoʻshildi"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Bu shaxsni tasdiqlash yoniqligi uchun talab etiladi"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Masofaviy Authenticator qulfini ochish"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Soat kiritildi"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Soatingizni sozlang"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Soat bilan ochish haqida batafsil"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Soat kiritish"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Soatni olib tashlash"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Barmoq izi va yuz bilan ochish"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Yuz va barmoq izi bilan ochish"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ish uchun Yuz va Barmoq izi bilan ochish"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Sozlash talab etiladi"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Yuz va barmoq izlari kiritildi"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Ilovalarni oʻrnating"</b>\n"Makoningizda maxfiy saqlamoqchi boʻlgan ilovalarni oʻrnating."</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Yodda tuting"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Makonni qulflaganingizda ilovalar toʻxtatiladi"</b>\n"Makoningizni qulflaganingizda xonadagi ilovalar toʻxtatiladi va ulardan bildirishnomalar olmaysiz"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Maxfiy makon fonda ishlaydigan yoki tibbiy ilovalar kabi muhim bildirishnoma yuboradigan ilovalar uchun muvofiq emas. Chunki, makon qulflanganda bildirishnomalar va fondagi jarayonlar toʻxtatiladi.\n\nMaxfiy makon qulflanganda undagi ilovalar ruxsatlar menejeri, maxfiylik paneli va boshqa sozlamalarda chiqmaydi.\n\nMaxfiy makon boshqa qurilmaga oʻtkazilmaydi. Boshqa qurilmada ishlatish uchun boshqa maxfiy joy sozlanishi kerak.\n\nQurilmani kompyuterga ulash yoki unga zararli ilova oʻrnatish ruxsati bor shaxslar maxfiy makonga ruxsat olishi mumkin."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Maxfiy makon fonda ishlaydigan yoki tibbiy ilovalar kabi muhim bildirishnoma yuboradigan ilovalar uchun muvofiq emas. Chunki, makon qulflanganda bildirishnomalar va fondagi jarayonlar toʻxtatiladi.\n\nMaxfiy makon qulflanganda undagi ilovalar ruxsatlar menejeri, maxfiylik paneli va boshqa sozlamalarda chiqmaydi.\n\nMaxfiy makon boshqa qurilmaga tiklanmaydi. Boshqa qurilmada ishlatish uchun boshqa makon sozlashingiz kerak boʻladi.\n\nQurilmangizni kompyuterga ulagan yoki qurilmangizga zararli ilovalarni oʻrnatgan har bir kishi maxfiy makoningizga kirishi mumkin."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Maxfiy makon haqida batafsil"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Bu bir necha daqiqa vaqt oladi"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Maxfiy joy sozlanmoqda…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Qurilma qayta ishga tushirilsinmi?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Tafsilotli NFC jurnali faqat ishlab chiqish maqsadlari uchun moʻljallangan. Qoʻshimcha NFC maʼlumotlari shaxsiy maʼlumotlar bor xato hisobotlariga kiritilgan. Bu sozlamani oʻzgartirish uchun qurilmangizni qayta ishga tushiring."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Qayta yoqish"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Translatsiya"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"koʻzgu"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Simsiz monitorni yoqish"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Moslashuvchan"</string>
<string name="brightness" msgid="6216871641021779698">"Yorqinlik darajasi"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Moslashuvchan yorqinlik"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Adaptiv yorqinlik haqida"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Ekran yorqinligi muhit va harakatlaringizga qarab avtomatik moslanadi. Yorqinlikni o‘zingizga moslashtirish uchun slayderni qo‘lda surib sozlashingiz mumkin."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Yoniq"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Oʻchiq"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Variantlar"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Qulayliklar"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Tashqi klaviatura"</string>
- <string name="show_ime" msgid="4334255501724746849">"Ekrandagi klaviaturadan foydalanish"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Tashqi klaviatura ulanganida ekranda chiqib turadi"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Qayta bosishni nazorat qilish"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms ichida tugmalar takroriy bosilsa, eʼtiborsiz qoldiriladi"</string>
<string name="slow_keys" msgid="2891452895499690837">"Sekin tugmalar"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Foydalanuvchi tanlagan: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Nutq"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Kursor tezligi"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"O‘yin qurilmasi"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Tebranishni uzatish"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"O‘yin qurilmasi ulanganda tebranish yuborish"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Baribir davom ettirilsin"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Bekor qilish"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Kattalashtirish sozlamalari"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Bitta barmoq bilan sudrash"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Lupani 1 barmoq bilan suring"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Ekranda kezish uchun 1 barmoqni sudrang"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Kattalashtirish hududini bitta barmoq bilan suring."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Kattalashtirish hududini ikkita barmoq bilan suring."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Faqat ekran qismini kattalashtirishda ishlamaydi"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Kattalashtirish uchun tugmani bosing"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Kontentni kattaroq koʻrish uchun ekranni tezkor yaqinlashtiring"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Kattalashtirish uchun:</b><br/> {0,number,integer}. Kattalashtirish tugmasini bosing<br/> {1,number,integer}. Ekranga bosing<br/> {2,number,integer}. Ekranni 2 ta barmoq bilan suring<br/> {3,number,integer}. Moslash uchun 2 ta barmoq bilan chimding<br/> {4,number,integer}. Yakunlash uchun kattalashtirish tugmasini bosing<br/><br/><b>Vaqtincha kattalashtirish uchun:</b><br/> {0,number,integer}. Kattalashtirish rejimi butun ekranga tatbiq etilganiga ishonch hosil qiling.<br/> {1,number,integer}. Kattalashtirish tugmasini bosing<br/> {2,number,integer}. Ekranning istalgan qismini bosib turing<br/> {3,number,integer}. Ekranni barmoq bilan suring<br/> {4,number,integer}. Yakunlash uchun barmoqni ekrandan oling"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Yaqinlashtirish:</b><br/> {0,number,integer}. Kattalashtirish tugmasini bosing<br/> {1,number,integer}. Ekranga bosing<br/> {2,number,integer}. Ekranda kezish uchun 2 barmoq bilan suring<br/> {3,number,integer}. Moslash uchun 2 barmoq bilan chimding<br/> {4,number,integer}. Kattalashtirishni toʻxtatish tugmasini bosing<br/><br/> Vaqtinchalik yaqinlashtirish va hokazolar ham mumkin."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Yaqinlashtirish:</b><br/> {0,number,integer}. Kattalashtirish tugmasini bosing<br/> {1,number,integer}. Ekranga bosing<br/> {2,number,integer}. Ekranda kezish uchun 1 yoki 2 barmoq bilan suring<br/> {3,number,integer}. Moslash uchun 2 barmoq bilan chimding<br/> {4,number,integer}. Kattalashtirishni toʻxtatish tugmasini bosing<br/><br/> Vaqtinchalik yaqinlashtirish va hokazolar ham mumkin."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Agar kattalashtirish yoqilsa, ekrandagi maʼlumotlarni kattalashtirish mumkin.\n\n"<b>"Kattalashtirish"</b>" uchun zum tugmasini bosib, ekranning istalgan joyini bosing.\n"<ul><li>"Siljitish uchun bir nechta barmogʻingiz bilan suring"</li>\n<li>"Masshtabini oʻzgartirish uchun bir nechta barmogʻingizni jipslashtiring"</li></ul>\n\n<b>"Vaqtinchalik kattalashtirish uchun"</b>" zum tugmasini bosib, ekranning istalgan joyini bosing va ushlab turing.\n"<ul><li>"Ekran boʻylab harakatlanish uchun suring"</li>\n<li>"Oʻz holatiga qaytarish uchun barmoqni qoʻyib yuboring"</li></ul>\n\n"Klaviatura yoki navigatsiya paneli orqali kattalashtirib boʻlmaydi."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Sahifa: <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> / <xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Qulayliklar tugmasi buyrugʻi"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Faqat muhim odamlar va ilovalardan bildirishnomalarni olish"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Faollashtirish turini tanlash"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Vaqt"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Misol: \"9:30 – 17:00\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Taqvim"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Misol: \"Shaxsiy taqvim\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Rejim yarating"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Maxsus"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Bildirishnomalarni kamaytirish"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Bezovta qilinmasin rejimini yoqing"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Bezovta qilinmasin rejimi signal va media tovushlari uchun ishlamaydi"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Jadvallar"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Jadvallarni oʻchirish"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Oʻchirish"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Tahrirlash"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Jadvallar"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Jadval"</string>
@@ -3339,12 +3394,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Taqvim qoʻshish"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Taqvimingizdan foydalanish"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Jadval"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Jadval tuzing"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Jadval"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> soat <xliff:g id="MINUTES">%2$d</xliff:g> daqiqa"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Avtomatik yoqish"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Jadval"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Muayyan vaqtlarda ovozsiz qilish"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Bezovta qilmaslik qoidalari"</string>
@@ -3354,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Tovush chiqarishga ruxsat"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Vizual bildirishnomalarni bloklash"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Vizual signallarga ruxsat"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Sizga kelishi mumkin bildirishnomalar"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Diqqatni jamlang"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Qoʻshimcha amallar"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Ekran sozlamalari"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Ekran parametrlari"</string>
@@ -3371,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"tungi mavzuni yoqish"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Operatsion tizim va ilovalar sozlamalarini qorongʻi fonda yorqin matn chiqarish tanlovi bilan almashtiring, bunda koʻzlar qiynalmaydi va ayrim qurilmalarda batareya sezilarli tejaladi"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Ekran oʻzgarishlarsiz}=1{{effect_1}}=2{{effect_1} va {effect_2}}=3{{effect_1}, {effect_2} va {effect_3}}other{{effect_1}, {effect_2} va yana # ta}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Tanaffuslarni filtrlash"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Hech qanday tanaffus filtrlanmagan"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Bildirishnomalarni filtrlab chiqarish parametrlari"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Bezovta qilinmasin rejimida"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Bildirishnomalar tovushsiz keladi"</string>
@@ -3486,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"bildirishnomani ochish"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Bildirishnomalarni keyinga qoldirish"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Ilova belgisi ustida bildirishnoma belgisi"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Bildirishnoma jamlanmalari"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Bulutchalar"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bulutchalar"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Bu suhbatni bulutchaga chiqarish"</string>
@@ -3667,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Turkumlar"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Boshqa"</string>
<string name="no_channels" msgid="4716199078612071915">"Bu ilova hech qanday bildirishnoma joylamagan"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Nofaol turkumlarni chiqarish"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Ilovadagi boshqa sozlamalar"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Nofaol turkumlarni chiqarish"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Nofaol turkumlarni berkitish"</string>
@@ -3778,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Hammasi"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Ilovalarga Bezovta qilinmasin rejimiga amal qilmasligiga ruxsat berish"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Bezovta qilinmasin rejimi ishlamaydigan ilovalar"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Boshqa ilovalarni tanlang"</string>
@@ -3814,12 +3873,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Signallarni faqat {time} ga bir soat qolgungacha faol qilish}other{Signallarni faqat {time} ga # soat qolgungacha faol qilish}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"“Faqat signallar” rejimini <xliff:g id="FORMATTEDTIME">%1$s</xliff:g> gacha faol bo‘ladigan qilib yoqish"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Har doim bezovta qilinaversin"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Qayta nomlash"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Belgini oʻzgartirish"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Belgini oʻzgartirish"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Diqqat"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Yopish"</string>
<string name="device_feedback" msgid="5351614458411688608">"Qurilma haqida fikr-mulohaza"</string>
@@ -4290,7 +4346,7 @@
<string name="system_navigation_title" msgid="4890381153527184636">"Navigatsiya rejimi"</string>
<string name="swipe_up_to_switch_apps_title" msgid="6677266952021118342">"2 tugmali navigatsiya"</string>
<string name="swipe_up_to_switch_apps_summary" msgid="1415457307836359560">"Bir ilovadan boshqasiga almashish uchun bosh ekran tugmasi ustida tepaga suring. Barcha ilovalarni koʻrish uchun yana tepaga suring. Avvalgi ekranga qaytish uchun esa Orqaga tugmasini bosing."</string>
- <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Xavfsizlik va favqulodda holatlar"</string>
+ <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Jismoniy xavfsizlik va favqulodda holatlar"</string>
<string name="emergency_dashboard_summary" msgid="401033951074039302">"Favqulodda yordam, tibbiy axborot, ogohlantiruvlar"</string>
<string name="edge_to_edge_navigation_title" msgid="714427081306043819">"Ishorali navigatsiya"</string>
<string name="edge_to_edge_navigation_summary" msgid="818109176611921504">"Bosh ekranga qaytish uchun ekranning pastidan tepaga qarab suring. Bir ilovadan boshqasiga oʻtish uchun pastdan tepaga surib, bosib turing va qoʻyib yuboring. Orqaga qaytish uchun chap yoki oʻng burchakdan teskari tomonga suring."</string>
@@ -4805,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Quvvatlash gʻilofi"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Batareya"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Sozlamalar paneli"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Desktop rejimini majburiy ochish"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Ikkilamchi displeylarda tajribaviy desktop rejimini majburiy ochish"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Erkin shakldagi oynalarni yoqish"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Erkin shakldagi oynalar uchun dastaklashni yoqish"</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Ikkinchi ekranda erkin shakldagi oynalarni yoqish"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Faqat ikkinchi ekranda erkin shakldagi oynalarni yoqish"</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Koʻp oynali hajmi oʻzgarmas ilovalarni yoqish"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Hajmi oʻzgarmas ilovalar koʻp oynali rejimda ochilishiga ruxsat beradi."</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Tungi mavzuni yoqish ustidan yozadi"</string>
@@ -4874,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"16KB dasturchi variantidan foydalanishdan oldin ushbu qurilmaning maʼlumotlar boʻlimi ext4 tizimiga oʻgirilishi kerak. Ushbu rejimda dasturning yaxlitligini kafolatlab boʻlmaydi va bootloader qulfdan chiqarilganda telefonda saqlangan har qanday maʼlumotlar xavf ostida qolishi mumkin. 16 KB rejim faollashtirilgandan keyin yana bir marta qayta yoqishni talab qiladi. Ushbu rejimga almashtirganingizdan keyin bir marta qayta yoqish bilan 4 KB va 16 KB rejimlari orasida almashtirishingiz mumkin. Ayrim funksiyalar bu rejimlarda faolsizlantiriladi, shu sababdan ayrim ilovalar ishlamasligi mumkin. Qurilmani ishchi rejimiga qaytarish uchun siz 4 KB rejimiga qaytishingiz va qurilmani zavod sozlamalariga qaytaradigan bootloaderni qulflashingiz kerak. Qurilma Android tizimiga muvaffaqiyatli yuklangandan keyin Dasturchi sozlamalarida OEM qulfini ochish funksiyasini faolsizlantiring. Tasdiqlangandan keyin qurilma tozalanadi va fayl ext4 tizimiga oʻzgartiriladi. Buni tugatgandan keyin 16 KB rejimni qayta yoqish uchun qaytib keling."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Hamma narsani tozalash"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"ext4 tizimida qayta formatlanmadi va axborot segmentlari tozalanmadi."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Bootloader qulfini ochish 16 KB rejimi uchun talab qilinadi"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Bootloader qulfini ochish zarur"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"16 KB dasturchi variantidan foydalanishdan oldin bu qurilma bootloaderni qulfdan chiqarishi kerak. Ushbu rejimda dasturning yaxlitligini kafolatlab boʻlmaydi va bootloader qulfdan chiqarilganda telefonda saqlangan har qanday maʼlumotlar xavf ostida qolishi mumkin. 16 KB rejimi faollashtirilganda barcha foydalanuvchi maʼlumotlari va sozlamalari tozalab tashlanadi. Bootloader qulfdan chiqarilgandan keyin 16 KB rejimni faollashtirish uchun ikki marta qayta yoqish kerak boʻladi. Ushbu rejimga almashtirganingizdan keyin bir marta qayta yoqish bilan 4 KB va 16 KB rejimlari orasida almashtirishingiz mumkin. Ayrim funksiyalar bu rejimlarda faolsizlantiriladi, shu sababdan ayrim ilovalar ishlamasligi mumkin. Qurilmani ishchi rejimiga qaytarish uchun siz 4 KB rejimiga qaytishingiz va qurilmani zavod sozlamalariga qaytaradigan OEM/bootloaderni qulflashingiz kerak. Bootloaderni qulfdan chiqaring va qaytadan urining. Buni qanday qilish haqida koʻrsatmalar bilan <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a> sahifasi orqali tanishib chiqishingiz mumkin."</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Sahifadan mustaqil 4 KB rejimdan foydalanilmoqda"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Siz sahifadan mustaqil 4 KB rejimdasiz. Ushbu rejimda dasturning yaxlitligini kafolatlab boʻlmaydi va bootloader qulfdan chiqarilganda telefonda saqlangan har qanday maʼlumotlar xavf ostida qolishi mumkin. Ayrim funksiyalar bu rejimlarda faolsizlantiriladi, shu sababdan ayrim ilovalar ishlamasligi mumkin. Ishchi rejimiga qayta kirish uchun qurilmaning bootloaderini qulflashingiz kerak. Batafsil axborot olish uchun bosing."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Siz sahifadan mustaqil 4 KB rejimdasiz. Ushbu rejimda dasturning yaxlitligini kafolatlab boʻlmaydi va bootloader qulfdan chiqarilganda telefonda saqlangan har qanday maʼlumotlar xavf ostida qolishi mumkin. Ayrim funksiyalar bu rejimlarda faolsizlantiriladi, shu sababdan ayrim ilovalar ishlamasligi mumkin. Ishchi rejimiga qayta kirish uchun qurilmaning bootloaderini qulflashingiz kerak. Bu qurilmani zavod sozlamalariga qaytaradi va uni ishchi sozlamalariga qaytaradi. Qurilma Android tizimiga muvaffaqiyatli yuklangandan keyin Dasturchi sozlamalarida OEM qulfini ochish funksiyasini faolsizlantiring. Agar qurilma Android tizimiga yuklanmasa yoki barqaror ishlamasa, qurilmani eng oxirgi dasturning asl tasvirini <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> orqali olib qayta yuklang yoki <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ishlating va “Qurilmani tozalash”, “Bootloaderni qulflash” va “Barcha boʻlimlarni majburiy fleshlash” bandlarini tanlang."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Sahifadan mustaqil 16 KB rejimdan foydalanilmoqda"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Siz sahifadan mustaqil 16 KB rejimdasiz. Ushbu rejimda dasturning yaxlitligini kafolatlab boʻlmaydi va bootloader qulfdan chiqarilganda telefonda saqlangan har qanday maʼlumotlar xavf ostida qolishi mumkin. Ayrim funksiyalar bu rejimlarda faolsizlantiriladi, shu sababdan ayrim ilovalar ishlamasligi mumkin. Ishchi rejimiga qayta kirish uchun siz 4K rejimiga qaytishingiz va keyin qurilmaning bootloaderini qulflashingiz kerak. Batafsil axborot olish uchun bosing."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Siz sahifadan mustaqil 16 KB rejimdasiz. Ushbu rejimda dasturning yaxlitligini kafolatlab boʻlmaydi va bootloader qulfdan chiqarilganda telefonda saqlangan har qanday maʼlumotlar xavf ostida qolishi mumkin. Ayrim funksiyalar bu rejimlarda faolsizlantiriladi, shu sababdan ayrim ilovalar ishlamasligi mumkin. Ishchi rejimiga qayta kirish uchun siz 4K rejimiga qaytishingiz va keyin qurilmaning bootloaderini qulflashingiz kerak. Bu qurilmani zavod sozlamalariga qaytaradi va uni ishchi sozlamalariga qaytaradi. Qurilma Android tizimiga muvaffaqiyatli yuklangandan keyin Dasturchi sozlamalarida OEM qulfini ochish funksiyasini faolsizlantiring. Agar qurilma Android tizimiga yuklanmasa yoki barqaror ishlamasa, qurilmani eng oxirgi dasturning asl tasvirini <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> orqali olib qayta yuklang yoki <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ishlating va “Qurilmani tozalash”, “Bootloaderni qulflash” va “Barcha boʻlimlarni majburiy fleshlash” bandlarini tanlang."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Siz sahifadan mustaqil 16 KB rejimdasiz. Ushbu rejimda dasturning yaxlitligini kafolatlab boʻlmaydi va bootloader qulfdan chiqarilganda telefonda saqlangan har qanday maʼlumotlar xavf ostida qolishi mumkin. Ayrim funksiyalar bu rejimlarda faolsizlantiriladi, shu sababdan ayrim ilovalar ishlamasligi mumkin. Ishchi rejimiga qayta kirish uchun siz 4 KB rejimiga qaytishingiz va keyin qurilmaning bootloaderini qulflashingiz kerak. Batafsil axborot olish uchun bosing."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Siz sahifadan mustaqil 16 KB rejimdasiz. Ushbu rejimda dasturning yaxlitligini kafolatlab boʻlmaydi va bootloader qulfdan chiqarilganda telefonda saqlangan har qanday maʼlumotlar xavf ostida qolishi mumkin. Ayrim funksiyalar bu rejimlarda faolsizlantiriladi, shu sababdan ayrim ilovalar ishlamasligi mumkin. Ishchi rejimiga qayta kirish uchun siz 4 KB rejimiga qaytishingiz va keyin qurilmaning bootloaderini qulflashingiz kerak. Bu qurilmani zavod sozlamalariga qaytaradi va uni ishchi sozlamalariga qaytaradi. Qurilma Android tizimiga muvaffaqiyatli yuklangandan keyin Dasturchi sozlamalarida OEM qulfini ochish funksiyasini faolsizlantiring. Agar qurilma Android tizimiga yuklanmasa yoki barqaror ishlamasa, qurilmani eng oxirgi dasturning asl tasvirini <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> orqali olib qayta yuklang yoki <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> ishlating va “Qurilmani tozalash”, “Bootloaderni qulflash” va “Barcha boʻlimlarni majburiy fleshlash” bandlarini tanlang."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16 KB sahifadan mustaqil rejim"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Batafsil"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Xatoliklarni xabar qilish vositasi"</string>
@@ -5013,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Ilovani mahkamlashdan foydalanish"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Dasturchi sozlamalaridan foydalanish"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Chop etish xizmatidan foydalanish"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Bir nechta foydalanuvchiga ruxsat berish"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"ruxsat, bir nechta, foydalanuvchi, ruxsat berish, koʻp"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"bir nechta, foydalanuvchilar, profillar, odamlar, hisoblar, almashtirish, koʻp"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Wi-Fi orqali debagging"</string>
@@ -5127,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Planshet dokka joylanganda ekranda nima chiqishini tanlang. Ekranda lavhasi chiqsa, qurilmangiz koʻproq quvvat sarflashi mumkin."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Moslash"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Moslash: <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Erkin shakllarni yoqish uchun qayta ishga tushirish zarur."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Ikkilamchi displeylar majburan ish stoli rejimida ishlashi uchun qayta ishga tushirish zarur."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Eskirgan erkin shakldagi oynalarni dastaklashni yoqish uchun qayta yoqish talab etiladi."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Erkin shakldagi oynalarni dastaklashni oʻzgartirish uchun qayta yoqish talab etiladi."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Erkin shakldagi oynalarni ikkilamchi displeylarda majburan ochish uchun qayta yoqish talab etiladi."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Hozir qayta ishga tushirish"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Keyinroq qayta ishga tushirish"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Qamrovli ovoz"</string>
@@ -5357,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Oqimga ulanish"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> qurilmasi bilan birga tinglash uchun audio oqim QR kodini skanerlang"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Parol ulashuv vaqtida tahrirlanmaydi. Parolni oʻzgartirish uchun audio ulashuvni faolsizlantiring."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-vi/arrays.xml b/res/values-vi/arrays.xml
index ae3def9..34ed335 100644
--- a/res/values-vi/arrays.xml
+++ b/res/values-vi/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Giờ đi ngủ"</item>
+ <item msgid="4152450357280759894">"Lái xe"</item>
+ <item msgid="7096549258219399423">"Sống động"</item>
+ <item msgid="2760716776980432977">"Được quản lý"</item>
+ <item msgid="601734478369121764">"Sao"</item>
+ <item msgid="6243809315432780521">"Lịch"</item>
+ <item msgid="4913577903148415331">"Thời gian"</item>
+ <item msgid="3653377604690057780">"Nhà hát"</item>
+ <item msgid="3843711267408385410">"Hoa"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 911fb9c..c69156c 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Cài đặt thiết bị trợ thính"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Phím tắt, khả năng tương thích với thiết bị trợ thính"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Chế độ đặt sẵn"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Không có chế độ đặt sẵn do chuyên gia thính học lập trình"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Không cập nhật được giá trị đặt trước"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Đầu ra âm thanh"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Giới thiệu về đầu ra âm thanh"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Đã thêm khuôn mặt và <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Đã thêm khuôn mặt, vân tay và <xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Đã thêm khuôn mặt, vân tay và <xliff:g id="WATCH">%s</xliff:g>"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Điều này là cần thiết vì tính năng Kiểm tra danh tính đang bật"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Mở khoá từ xa bằng Authenticator"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Đã thêm đồng hồ"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Thiết lập đồng hồ"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Tìm hiểu thêm về tính năng Mở khoá bằng đồng hồ"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Thêm đồng hồ"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Xoá đồng hồ"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Mở khoá bằng vân tay và Mở khoá bằng khuôn mặt"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Mở khóa bằng khuôn mặt và vân tay"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Mở khoá bằng khuôn mặt và vân tay cho công việc"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Cần thiết lập"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Đã thêm khuôn mặt và các vân tay"</string>
@@ -575,7 +577,7 @@
<string name="private_space_new_lock_message" msgid="3117703578905489206">"Bạn sẽ cần nhập mã PIN, hình mở khoá hoặc mật khẩu của thiết bị trên màn hình tiếp theo"</string>
<string name="private_space_auto_lock_title" msgid="8663409382910601261">"Tự động khoá không gian riêng tư"</string>
<string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Bạn có thể tự động khoá không gian riêng tư của mình nếu không sử dụng thiết bị trong một khoảng thời gian"</string>
- <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Mỗi khi khoá thiết bị"</string>
+ <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Mỗi khi thiết bị khoá"</string>
<string name="private_space_auto_lock_after_inactivity" msgid="7107814517866649733">"5 phút sau thời gian chờ khoá màn hình"</string>
<string name="private_space_auto_lock_after_device_restart" msgid="288755768725895029">"Chỉ sau khi khởi động lại thiết bị"</string>
<string name="private_space_hide_page_title" msgid="3364639176511877414">"Ẩn không gian riêng tư"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Cài đặt ứng dụng"</b>\n"Cài đặt những ứng dụng bạn muốn giữ riêng tư trong không gian của mình"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Lưu ý"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Các ứng dụng sẽ bị dừng khi bạn khoá không gian của mình"</b>\n"Khi bạn khoá không gian của mình, các ứng dụng trong đó sẽ bị dừng và bạn sẽ không nhận được thông báo từ các ứng dụng đó"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Không gian riêng tư không phù hợp với những ứng dụng cần chạy trong nền hoặc gửi các thông báo quan trọng, chẳng hạn như ứng dụng về sức khoẻ. Điều này là do các thông báo và hoạt động trong chế độ nền sẽ dừng lại khi không gian của bạn bị khoá.\n\nKhi không gian riêng tư của bạn bị khoá, các ứng dụng trong không gian này sẽ không xuất hiện trong trình quản lý quyền, bảng tổng quan về quyền riêng tư và những chế độ cài đặt khác.\n\nBạn không thể chuyển không gian riêng tư của mình sang một thiết bị mới. Nếu muốn dùng không gian đó trên một thiết bị khác, bạn sẽ cần thiết lập một không gian riêng tư khác.\n\nBất cứ ai kết nối thiết bị của bạn với một máy tính hoặc cài đặt các ứng dụng gây hại trên thiết bị này đều có thể truy cập vào không gian riêng tư của bạn."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Không gian riêng tư không phù hợp với những ứng dụng cần chạy trong nền hoặc gửi các thông báo quan trọng, chẳng hạn như ứng dụng về sức khoẻ. Điều này là do các thông báo và hoạt động trong chế độ nền sẽ dừng lại khi không gian của bạn bị khoá.\n\nKhi không gian riêng tư của bạn bị khoá, các ứng dụng trong không gian này sẽ không xuất hiện trong trình quản lý quyền, bảng tổng quan về quyền riêng tư và những chế độ cài đặt khác.\n\nBạn không thể khôi phục không gian riêng tư của mình sang một thiết bị mới. Nếu muốn dùng không gian đó trên một thiết bị khác, bạn sẽ cần thiết lập một không gian khác.\n\nBất cứ ai kết nối thiết bị của bạn với một máy tính hoặc cài đặt các ứng dụng độc hại trên thiết bị này đều có thể truy cập vào không gian riêng tư của bạn."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Tìm hiểu thêm về không gian riêng tư"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Quá trình này sẽ mất vài phút"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Đang thiết lập không gian riêng tư…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Khởi động lại thiết bị?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Chế độ ghi nhật ký chi tiết về Giao tiếp phạm vi gần (NFC) chỉ dành cho mục đích phát triển. Dữ liệu bổ sung về NFC sẽ được đưa vào báo cáo lỗi. Dữ liệu này có thể chứa thông tin riêng tư. Hãy khởi động lại thiết bị để thay đổi chế độ cài đặt này."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Khởi động lại"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Truyền"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"phản chiếu"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Bật hiển thị không dây"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Thích ứng"</string>
<string name="brightness" msgid="6216871641021779698">"Độ sáng"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Độ sáng thích ứng"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Giới thiệu về độ sáng thích ứng"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Độ sáng màn hình sẽ tự động điều chỉnh theo môi trường và hoạt động của bạn. Bạn có thể di chuyển thanh trượt theo cách thủ công để giúp tính năng độ sáng thích ứng học các lựa chọn ưu tiên của bạn."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Đang bật"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Tắt"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Tuỳ chọn"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Hỗ trợ tiếp cận"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Bàn phím vật lý"</string>
- <string name="show_ime" msgid="4334255501724746849">"Sử dụng bàn phím ảo"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Hiện bàn phím ảo trên màn hình trong khi bàn phím vật lý đang hoạt động"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Phím nảy"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Bàn phím sẽ bỏ qua các lần nhấn nhanh liên tục cùng một phím trong <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> mili giây"</string>
<string name="slow_keys" msgid="2891452895499690837">"Phím chậm"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Người dùng đã chọn: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Lời nói"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Tốc độ con trỏ"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Trình điều khiển trò chơi"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Chuyển hướng rung"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Chuyển hướng rung sang bộ điều khiển trò chơi khi được kết nối."</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Vẫn tiếp tục"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Huỷ"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Cài đặt phóng to"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"Di chuyển vùng phóng to bằng một ngón tay"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Di chuyển kính lúp bằng 1 ngón tay"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Kéo 1 ngón tay để di chuyển xung quanh màn hình."</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Di chuyển vùng phóng to bằng cách kéo một ngón tay."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Di chuyển vùng phóng to bằng cách kéo hai ngón tay."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Không dùng được khi chỉ phóng to một phần màn hình"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Nhấn vào nút để thu phóng"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Nhanh chóng phóng to màn hình để hiển thị nội dung lớn hơn"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Cách phóng to:</b><br/> {0,number,integer}. Dùng phím tắt để bắt đầu phóng to<br/> {1,number,integer}. Nhấn vào màn hình<br/> {2,number,integer}. Kéo 2 ngón tay để di chuyển xung quanh màn hình<br/> {3,number,integer}. Chụm 2 ngón tay để điều chỉnh mức thu phóng<br/> {4,number,integer}. Dùng phím tắt để dừng phóng to<br/><br/> <b>Cách phóng to tạm thời:</b><br/> {0,number,integer}. Hãy nhớ đặt kiểu phóng to thành toàn màn hình<br/> {1,number,integer}. Dùng phím tắt để bắt đầu phóng to<br/> {2,number,integer}. Chạm và giữ một vị trí bất kỳ trên màn hình<br/> {3,number,integer}. Kéo ngón tay để di chuyển xung quanh màn hình<br/> {4,number,integer}. Nhấc ngón tay lên để dừng phóng to"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Cách phóng to:</b><br/> {0,number,integer}. Dùng lối tắt để bắt đầu phóng to<br/> {1,number,integer}. Nhấn vào màn hình<br/> {2,number,integer}. Kéo 2 ngón tay để di chuyển xung quanh màn hình<br/> {3,number,integer}. Chụm 2 ngón tay để điều chỉnh mức thu phóng<br/> {4,number,integer}. Dùng lối tắt để dừng phóng to<br/><br/> Bạn có thể dùng tính năng phóng to tạm thời cùng nhiều tính năng khác."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Cách phóng to:</b><br/> {0,number,integer}. Dùng lối tắt để bắt đầu phóng to<br/> {1,number,integer}. Nhấn vào màn hình<br/> {2,number,integer}. Kéo 1 hoặc 2 ngón tay để di chuyển xung quanh màn hình<br/> {3,number,integer}. Chụm 2 ngón tay để điều chỉnh mức thu phóng<br/> {4,number,integer}. Dùng lối tắt để dừng phóng to<br/><br/> Bạn có thể dùng tính năng phóng to tạm thời cùng nhiều tính năng khác."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Khi tính năng phóng to đang bật, bạn có thể phóng to trên màn hình.\n\n"<b>"Để thu phóng"</b>", hãy mở tính năng phóng to rồi nhấn vào vị trí bất kỳ trên màn hình.\n"<ul><li>"Kéo 2 hoặc nhiều ngón tay để cuộn"</li>\n<li>"Chụm 2 hoặc nhiều ngón tay để điều chỉnh mức thu phóng"</li></ul>\n\n<b>"Để thu phóng tạm thời"</b>", hãy mở tính năng phóng to rồi chạm và giữ vị trí bất kỳ trên màn hình.\n"<ul><li>"Kéo để di chuyển quanh màn hình"</li>\n<li>"Nhấc ngón tay để thu nhỏ"</li></ul>\n\n"Bạn không thể phóng to trên bàn phím hoặc thanh điều hướng."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Trang <xliff:g id="CURRENT_PAGE">%1$d</xliff:g>/<xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Phím tắt cho nút hỗ trợ tiếp cận"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Chỉ nhận thông báo của những người và ứng dụng quan trọng"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Chọn loại quy trình kích hoạt"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Thời gian"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Ví dụ: \"9:30 – 5:00 CH\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Lịch"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Ví dụ: \"Lịch cá nhân\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Tạo một chế độ"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Tuỳ chỉnh"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Hạn chế bị gián đoạn"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Bật chế độ Không làm phiền"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Chuông báo và âm thanh đa phương tiện có thể làm gián đoạn"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Lịch biểu"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Xóa lịch biểu"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Xóa"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Chỉnh sửa"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Lịch biểu"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Lịch biểu"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Đặt lịch biểu"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Lịch biểu"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> tiếng <xliff:g id="MINUTES">%2$d</xliff:g> phút"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Tự động bật"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Lên lịch"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Tắt tiếng điện thoại vào thời gian nhất định"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Đặt quy tắc Không làm phiền"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Cho phép các hoạt động phát ra âm thanh có thể làm gián đoạn"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Ngăn gián đoạn hình ảnh"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Cho phép tín hiệu hình ảnh"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Những thông báo mà bạn có thể nhận được"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Luôn tập trung"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Thao tác khác"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Chế độ cài đặt màn hình"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Lựa chọn hiển thị"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"bật giao diện tối"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Chuyển đổi hệ điều hành và ứng dụng để ưu tiên dùng văn bản sáng trên nền tối, chế độ này có thể dễ nhìn hơn và giúp tiết kiệm pin đáng kể trên một số thiết bị"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Không thay đổi chế độ hiển thị}=1{{effect_1}}=2{{effect_1} và {effect_2}}=3{{effect_1}, {effect_2} và {effect_3}}other{{effect_1}, {effect_2} và # chế độ khác}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Lọc hoạt động gây gián đoạn"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Chưa lọc hoạt động gây gián đoạn nào"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Các lựa chọn hiển thị đối với thông báo được lọc"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Khi chế độ Không làm phiền đang bật"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Không phát âm thanh khi có thông báo"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"mở thông báo"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Cho phép tạm hoãn thông báo"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Dấu chấm thông báo trên biểu tượng ứng dụng"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Gói thông báo"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Bong bóng"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bong bóng"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Hiện cuộc trò chuyện này ở dạng bong bóng"</string>
@@ -3591,7 +3650,7 @@
<string name="nls_feature_read_summary" msgid="1064698238110273593">"Ứng dụng này có thể đọc các thông báo của bạn, bao gồm cả thông tin cá nhân như người liên hệ, tin nhắn và ảnh."</string>
<string name="nls_feature_reply_title" msgid="7925455553821362039">"Trả lời tin nhắn"</string>
<string name="nls_feature_reply_summary" msgid="4492543411395565556">"Ứng dụng này có thể trả lời tin nhắn và thao tác với các nút trong thông báo, bao gồm cả tạm ẩn hoặc loại bỏ thông báo và trả lời cuộc gọi."</string>
- <string name="nls_feature_settings_title" msgid="8208164329853194414">"Thay đổi các chế độ cài đặt"</string>
+ <string name="nls_feature_settings_title" msgid="8208164329853194414">"Thay đổi chế độ cài đặt"</string>
<string name="nls_feature_settings_summary" msgid="3770028705648985689">"Ứng dụng này có thể bật hoặc tắt chế độ Không làm phiền và thay đổi các chế độ cài đặt liên quan."</string>
<string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Nếu bạn tắt quyền truy cập thông báo của <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>, quyền truy cập chế độ Không làm phiền cũng có thể bị tắt."</string>
<string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Tắt"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Danh mục"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Khác"</string>
<string name="no_channels" msgid="4716199078612071915">"Ứng dụng này chưa đăng bất kỳ thông báo nào"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Hiện các danh mục không dùng đến"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Chế độ cài đặt bổ sung trong ứng dụng"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Hiện các danh mục không dùng"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Ẩn các danh mục không dùng"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Tất cả"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Cho phép ứng dụng ghi đè"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Những ứng dụng có thể làm gián đoạn chế độ Không làm phiền"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Chọn ứng dụng khác"</string>
@@ -4023,7 +4085,7 @@
<string name="draw_overlay" msgid="7902083260500573027">"Hiện trên các ứng dụng khác"</string>
<string name="system_alert_window_settings" msgid="6458633954424862521">"Hiện trên các ứng dụng khác"</string>
<string name="permit_draw_overlay" msgid="4468994037192804075">"Cho phép hiện trên các ứng dụng khác"</string>
- <string name="allow_overlay_description" msgid="1607235723669496298">"Cho phép ứng dụng này hiển thị trên các ứng dụng khác mà bạn đang dùng. Ứng dụng này có thể xem vị trí mà bạn nhấn vào hoặc thay đổi nội dung hiển thị trên màn hình."</string>
+ <string name="allow_overlay_description" msgid="1607235723669496298">"Cho phép ứng dụng này hiện trên các ứng dụng khác mà bạn đang dùng. Ứng dụng này có thể xem vị trí mà bạn nhấn vào hoặc thay đổi nội dung hiển thị trên màn hình."</string>
<string name="media_routing_control_title" msgid="6402800638960066807">"Thay đổi đầu ra đa phương tiện"</string>
<string name="allow_media_routing_control" msgid="4907036637509360616">"Cho ứng dụng chuyển đổi đầu ra đa phương tiện"</string>
<string name="allow_media_routing_description" msgid="8343709701298051207">"Cho phép ứng dụng này chọn thiết bị được kết nối sẽ phát âm thanh hoặc video từ các ứng dụng khác. Nếu được cho phép, ứng dụng này sẽ truy cập được danh sách thiết bị hiện có (như tai nghe và loa), và có thể chọn thiết bị đầu ra nào sẽ được dùng để phát trực tuyến hoặc truyền âm thanh hoặc video."</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Hộp sạc"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Pin"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Bảng Cài đặt"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Buộc chạy chế độ máy tính"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Buộc chạy chế độ máy tính thử nghiệm trên màn hình phụ"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Bật cửa sổ có thể đổi kích thước"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Bật tính năng hỗ trợ cửa sổ có thể đổi kích thước."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Bật kết xuất c.sổ hiện tại có thể đổi k.thước trên màn hình phụ"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Chỉ bật cửa sổ có thể đổi kích thước trên màn hình phụ."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Bật tùy chọn không thay đổi kích thước trong nhiều cửa sổ"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Cho phép các ứng dụng không thể thay đổi kích thước xuất hiện trong nhiều cửa sổ"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Vô hiệu hoá tính năng buộc dùng chế độ tối"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Bạn phải chuyển đổi phân vùng dữ liệu của thiết bị này sang ext4 thì mới có thể dùng tuỳ chọn 16 KB cho nhà phát triển. Ở chế độ này, tính toàn vẹn của phần mềm không được đảm bảo, đồng thời mọi dữ liệu lưu trữ trên điện thoại này có thể gặp rủi ro trong khi trình tải khởi động được mở khoá. Nếu kích hoạt chế độ 16 KB, bạn sẽ phải khởi động lại một lần nữa sau lần này. Khi đã ở chế độ này, bạn chỉ cần khởi động lại một lần là có thể chuyển qua lại giữa chế độ 4 KB và 16 KB. Một số tính năng bị tắt ở các chế độ này nên có thể một vài ứng dụng sẽ không hoạt động. Để đặt lại thiết bị về chế độ cài đặt gốc, bạn cần quay lại chế độ 4 KB rồi khoá trình tải khởi động (thao tác này sẽ đặt lại thiết bị về trạng thái ban đầu). Sau khi thiết bị khởi động thành công vào Android, hãy tắt chế độ mở khoá OEM trong Tuỳ chọn cho nhà phát triển. Sau khi bạn xác nhận, dữ liệu trên thiết bị sẽ được xoá sạch và hệ thống tệp sẽ được thay đổi thành ext4. Sau khi quá trình này hoàn thành, vui lòng quay lại để bật lại chế độ 16 KB."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Xoá hết dữ liệu"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Không định dạng lại được phân vùng dữ liệu về ext4 và không xoá sạch được phân vùng dữ liệu."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Cần mở khoá trình tải khởi động để dùng chế độ 16 KB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Cần mở khoá trình tải khởi động"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Bạn cần phải mở khoá trình tải khởi động cho thiết bị này thì mới dùng được tuỳ chọn 16 KB cho nhà phát triển. Ở chế độ này, tính toàn vẹn của phần mềm không được đảm bảo, đồng thời mọi dữ liệu lưu trữ trên điện thoại này có thể gặp rủi ro trong khi trình tải khởi động được mở khoá. Tất cả dữ liệu người dùng và các chế độ cài đặt sẽ bị xoá sạch khi bạn kích hoạt chế độ 16 KB. Sau khi trình tải khởi động được mở khoá, bạn cần khởi động lại 2 lần thì mới kích hoạt được chế độ 16 KB. Khi đã ở chế độ này, bạn chỉ cần khởi động lại một lần là có thể chuyển qua lại giữa chế độ 4 KB và 16 KB. Một số tính năng bị tắt ở các chế độ này nên có thể một vài ứng dụng sẽ không hoạt động. Để đặt lại thiết bị về chế độ cài đặt gốc, bạn cần quay lại chế độ 4 KB, sau đó khoá OEM/trình tải khởi động (thao tác này sẽ đặt lại thiết bị về trạng thái ban đầu). Hãy mở khoá trình tải khởi động rồi thử lại. Bạn có thể xem hướng dẫn về cách thực hiện việc này tại <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Dùng chế độ 4 KB của chế độ không xác định kích thước trang"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Bạn đang ở chế độ 4 KB của chế độ không xác định kích thước trang. Ở chế độ này, tính toàn vẹn của phần mềm không được đảm bảo, đồng thời mọi dữ liệu lưu trữ trên điện thoại này có thể gặp rủi ro trong khi trình tải khởi động được mở khoá. Một số tính năng bị tắt ở các chế độ này nên có thể một vài ứng dụng sẽ không hoạt động. Để đặt lại thiết bị về chế độ cài đặt gốc, bạn phải khoá trình tải khởi động của thiết bị. Hãy nhấn để đọc thêm."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Bạn đang ở chế độ 4 KB của chế độ không phụ thuộc kích thước trang. Ở chế độ này, tính toàn vẹn của phần mềm không được đảm bảo, đồng thời mọi dữ liệu lưu trữ trên điện thoại này có thể gặp rủi ro trong khi trình tải khởi động được mở khoá. Một số tính năng bị tắt ở các chế độ này nên có thể một vài ứng dụng sẽ không hoạt động. Để đặt lại thiết bị về chế độ cài đặt gốc, bạn phải khoá trình tải khởi động của thiết bị. Thao tác này sẽ đặt lại thiết bị về trạng thái ban đầu và khôi phục các chế độ cài đặt gốc. Sau khi thiết bị khởi động thành công vào Android, hãy tắt chế độ mở khoá OEM trong Tuỳ chọn cho nhà phát triển. Nếu thiết bị không khởi động vào Android hoặc không ổn định, hãy cài đặt ROM lại cho thiết bị với hình ảnh gốc mới nhất từ <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> hoặc sử dụng <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> rồi chọn \"Wipe Device\" (Xoá thiết bị), \"Lock Bootloader\" (Khoá trình tải khởi động) và \"Force Flash all partitions\" (Buộc cài đặt ROM cho mọi phân vùng)."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Dùng chế độ 16 KB của chế độ không phụ thuộc kích thước trang"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Bạn đang ở chế độ 16 KB của chế độ không xác định kích thước trang. Ở chế độ này, tính toàn vẹn của phần mềm không được đảm bảo, đồng thời mọi dữ liệu lưu trữ trên điện thoại này có thể gặp rủi ro trong khi trình tải khởi động được mở khoá. Một số tính năng bị tắt ở các chế độ này nên có thể một vài ứng dụng sẽ không hoạt động. Để đặt lại thiết bị về chế độ cài đặt gốc, bạn phải quay lại chế độ 4K rồi khoá trình tải khởi động của thiết bị. Hãy nhấn để đọc thêm."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Bạn đang ở chế độ 16 KB của chế độ không phụ thuộc kích thước trang. Ở chế độ này, tính toàn vẹn của phần mềm không được đảm bảo, đồng thời mọi dữ liệu lưu trữ trên điện thoại này có thể gặp rủi ro trong khi trình tải khởi động được mở khoá. Một số tính năng bị tắt ở các chế độ này nên có thể một vài ứng dụng sẽ không hoạt động. Để đặt lại thiết bị về chế độ cài đặt gốc, bạn phải quay lại chế độ 4K rồi khoá trình tải khởi động của thiết bị. Thao tác này sẽ đặt lại thiết bị về trạng thái ban đầu và khôi phục các chế độ cài đặt gốc. Sau khi thiết bị khởi động thành công vào Android, hãy tắt chế độ mở khoá OEM trong Tuỳ chọn cho nhà phát triển. Nếu thiết bị không khởi động vào Android hoặc không ổn định, hãy cài đặt ROM lại cho thiết bị với hình ảnh gốc mới nhất từ <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> hoặc sử dụng <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> rồi chọn \"Wipe Device\" (Xoá thiết bị), \"Lock Bootloader\" (Khoá trình tải khởi động) và \"Force Flash all partitions\" (Buộc cài đặt ROM cho mọi phân vùng)."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Bạn đang ở chế độ 16KB của chế độ không phụ thuộc vào kích thước trang. Ở chế độ này, tính toàn vẹn của phần mềm không được đảm bảo, đồng thời mọi dữ liệu lưu trữ trên điện thoại này có thể gặp rủi ro trong khi trình tải khởi động được mở khoá. Một số tính năng bị tắt ở những chế độ này nên có thể một vài ứng dụng sẽ không hoạt động được. Để đặt lại thiết bị về chế độ cài đặt gốc, bạn phải chuyển lại về chế độ 4K rồi khoá trình tải khởi động của thiết bị. Hãy nhấn để đọc thêm."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Bạn đang ở chế độ 16KB của chế độ không phụ thuộc vào kích thước trang. Ở chế độ này, tính toàn vẹn của phần mềm không được đảm bảo, đồng thời mọi dữ liệu lưu trữ trên điện thoại này có thể gặp rủi ro trong khi trình tải khởi động được mở khoá. Một số tính năng bị tắt ở những chế độ này nên có thể một vài ứng dụng sẽ không hoạt động được. Để đặt lại thiết bị về chế độ cài đặt gốc, bạn phải chuyển lại về chế độ 4K rồi khoá trình tải khởi động của thiết bị. Thao tác này sẽ đặt lại thiết bị về trạng thái ban đầu và khôi phục các chế độ cài đặt gốc. Sau khi thiết bị khởi động thành công vào Android, hãy tắt chế độ mở khoá OEM trong Tuỳ chọn cho nhà phát triển. Nếu thiết bị không khởi động vào Android hoặc không ổn định, hãy cài đặt ROM lại cho thiết bị với hình ảnh gốc mới nhất từ <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> hoặc sử dụng <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> rồi chọn \"Xoá dữ liệu thiết bị\", \"Khoá trình tải khởi động\" và \"Buộc cài đặt ROM cho mọi phân vùng\"."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Chế độ 16 KB của chế độ không xác định kích thước trang"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Đọc thêm"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Trình xử lý báo cáo lỗi"</string>
@@ -5007,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Sử dụng tính năng ghim ứng dụng"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Sử dụng tùy chọn cho nhà phát triển"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Dùng dịch vụ in"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Cho phép nhiều người dùng"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"cho phép, nhiều, người dùng"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"nhiều, người dùng, hồ sơ, mọi người, tài khoản, chuyển"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Sử dụng tính năng gỡ lỗi qua Wi-Fi"</string>
@@ -5121,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Chọn nội dung bạn sẽ thấy trên màn hình khi máy tính bảng được cắm vào đế sạc. Thiết bị có thể tiêu hao nhiều năng lượng hơn khi bạn dùng trình bảo vệ màn hình."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Tuỳ chỉnh"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Tuỳ chỉnh <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Cần phải khởi động lại để bật tuỳ chọn hỗ trợ dạng tự do."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Cần phải khởi động lại để buộc chạy chế độ máy tính trên màn hình phụ."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Bạn cần phải khởi động lại để bật tính năng hỗ trợ kết xuất cửa sổ hiện tại có thể đổi kích thước (cũ)."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Bạn cần phải khởi động lại để thay đổi tính năng hỗ trợ kết xuất cửa sổ có thể đổi kích thước."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Bạn cần phải khởi động lại để buộc bật chế độ kết xuất cửa sổ có thể đổi kích thước trên màn hình phụ."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Khởi động lại ngay"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Khởi động lại sau"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Âm thanh không gian"</string>
@@ -5351,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Nghe luồng âm thanh"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Hãy dùng <xliff:g id="DEVICE_NAME">%1$s</xliff:g> để quét mã QR của luồng âm thanh mà bạn muốn nghe"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Không thể chỉnh sửa mật khẩu trong khi chia sẻ. Để đổi mật khẩu, trước tiên hãy tắt tính năng chia sẻ âm thanh."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-zh-rCN/arrays.xml b/res/values-zh-rCN/arrays.xml
index 0d02501..f01a72c 100644
--- a/res/values-zh-rCN/arrays.xml
+++ b/res/values-zh-rCN/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"睡眠时间"</item>
+ <item msgid="4152450357280759894">"驾车"</item>
+ <item msgid="7096549258219399423">"沉浸"</item>
+ <item msgid="2760716776980432977">"受管理"</item>
+ <item msgid="601734478369121764">"星形"</item>
+ <item msgid="6243809315432780521">"日历"</item>
+ <item msgid="4913577903148415331">"时间"</item>
+ <item msgid="3653377604690057780">"剧院"</item>
+ <item msgid="3843711267408385410">"花朵"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index cd85112..02ed183 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"助听装置设置"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"快捷键、助听器兼容性"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"预设"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"您的听觉矫正专家未设定任何预设"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"无法更新预设"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"音频输出"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"音频输出简介"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"已添加面孔和“<xliff:g id="WATCH">%s</xliff:g>”"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"已添加面孔、指纹和“<xliff:g id="WATCH">%s</xliff:g>”"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"已添加面孔、指纹和“<xliff:g id="WATCH">%s</xliff:g>”"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"由于开启了身份验证,因此需要提供此信息"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"远程身份验证器解锁"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"已添加手表"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"设置手表"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"详细了解“手表解锁”功能"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"添加手表"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"移除手表"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"指纹解锁和人脸解锁"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"人脸解锁和指纹解锁"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"用于工作资料的人脸解锁和指纹解锁"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"需要设置"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"已添加面孔和多个指纹"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"安装应用"</b>\n"将您不想公开的应用安装在私密空间中"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"注意事项"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"锁定您的私密空间后,应用将停止运行"</b>\n"在您锁定自己的私密空间后,其中的应用将停止运行,您也不会再收到来自这些应用的通知"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"私密空间不适合需要在后台运行或发送重要通知的应用,如医疗应用。这是因为,当私密空间处于锁定状态时,通知和后台活动将停止运行。\n\n私密空间处于锁定状态时,私密空间中的应用不会显示在权限管理器、隐私信息中心和其他设置中。\n\n私密空间无法转移到新设备。若要在其他设备上使用私密空间,您需要在该设备上再设置一个私密空间。\n\n如果有人将您的设备连接到电脑,或在您的设备上安装了有害应用,他们或许能够访问您的私密空间。"</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"私密空间不适合需要在后台运行或发送重要通知的应用,如医疗应用。这是因为,当私密空间处于锁定状态时,通知和后台活动将停止运行。\n\n私密空间处于锁定状态时,私密空间中的应用不会显示在权限管理器、隐私信息中心和其他设置中。\n\n私密空间无法恢复到新设备。若要在其他设备上使用私密空间,您需要在该设备上再设置一个私密空间。\n\n如果有人将您的设备连接到电脑,或在您的设备上安装了恶意应用,他们或许能够访问您的私密空间。"</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"详细了解私密空间"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"这将需要一点时间"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"正在设置私密空间…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"要重启设备吗?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"详细 NFC 日志记录仅用于开发目的。错误报告中包含其他 NFC 数据,其中可能包含私密信息。如需更改此设置,请重启设备。"</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"重启"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"投屏"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"镜像"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"开启无线显示"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"自适应"</string>
<string name="brightness" msgid="6216871641021779698">"亮度"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"自适应亮度"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"自适应亮度简介"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"系统会根据您的环境和活动自动调节屏幕亮度。您可以手动移动滑块,帮助“自适应亮度”功能了解您偏好的亮度。"</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"已开启"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"已关闭"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"选项"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"无障碍功能"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"实体键盘"</string>
- <string name="show_ime" msgid="4334255501724746849">"使用屏幕键盘"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"连接到实体键盘时,在屏幕上显示一个虚拟键盘"</string>
<string name="bounce_keys" msgid="7419450970351743904">"防抖键"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"键盘会忽略 <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> 毫秒内快速重复按下同一按键的操作"</string>
<string name="slow_keys" msgid="2891452895499690837">"慢速键"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"用户选择的布局:<xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"语音"</string>
<string name="pointer_speed" msgid="7398649279282675718">"指针速度"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"游戏控制器"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"重定向振动"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"连接后将振动传到游戏控制器"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"仍然继续"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"取消"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"放大设置"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"一根手指平移"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"用 1 根手指拖动即可移动放大区域"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"用 1 根手指拖动即可在画面上四处移动"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"拖动一根手指即可移动放大区域。"</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"拖动两根手指即可移动放大区域。"</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"如果仅放大局部屏幕,则无法使用此功能"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"点按按钮即可放大"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"快速放大屏幕,更清晰地查看内容"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>如需放大屏幕,请执行以下操作:</b><br/> {0,number,integer}. 使用快捷方式启动放大功能<br/> {1,number,integer}. 点按屏幕<br/> {2,number,integer}. 拖动双指在屏幕上四处移动<br/> {3,number,integer}. 张合双指以调整缩放比例<br/> {4,number,integer}. 使用快捷方式停止放大功能<br/><br/> <b>如需暂时放大屏幕,请执行以下操作:</b><br/> {0,number,integer}. 确保已将放大类型设为“全屏”<br/> {1,number,integer}. 使用快捷方式启动放大功能<br/> {2,number,integer}. 轻触并按住屏幕上的任意位置<br/> {3,number,integer}. 拖动单指在屏幕上四处移动<br/> {4,number,integer}. 抬起手指以停止放大功能"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>如需放大画面,请按以下步骤操作:</b><br/>{0,number,integer}. 使用快捷手势开始放大<br/> {1,number,integer}. 点按画面<br/> {2,number,integer}. 拖动 2 指在画面上四处移动<br/> {3,number,integer}. 张合 2 指以调整缩放比例<br/> {4,number,integer}. 使用快捷手势停止放大<br/><br/> 您还可以暂时放大画面及执行其他操作。"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>如需放大画面,请按以下步骤操作:</b><br/>{0,number,integer}. 使用快捷手势开始放大<br/> {1,number,integer}. 点按画面<br/> {2,number,integer}. 拖动 1 或 2 根手指在画面上四处移动<br/> {3,number,integer}. 张合 2 指以调整缩放比例<br/> {4,number,integer}. 使用快捷手势停止放大<br/><br/> 您还可以暂时放大画面及执行其他操作。"</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"开启放大功能后,您就可以放大屏幕上的内容。\n\n"<b>"要放大内容"</b>",请先启动放大功能,然后点按屏幕上的任意位置。\n"<ul><li>"拖动双指或多指即可进行滚动"</li>\n<li>"张合双指或多指即可调整缩放级别"</li></ul>\n\n<b>"要暂时性放大内容"</b>",请先启动放大功能,然后轻触并按住屏幕上的任意位置。\n"<ul><li>"拖动手指即可在屏幕上四处移动"</li>\n<li>"松开手指即可缩小回原来的状态"</li></ul>\n\n"您无法针对键盘或导航栏使用放大功能。"</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"第 <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> 页,共 <xliff:g id="NUM_PAGES">%2$d</xliff:g> 页"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"“无障碍”按钮快捷方式"</string>
@@ -2183,7 +2221,7 @@
<string name="accessibility_shortcut_description" msgid="2184693606202133549">"允许在屏幕锁定时开启功能快捷方式。同时按住两个音量键几秒钟即可开启。"</string>
<string name="accessibility_button_title" msgid="5251235485581552614">"“无障碍”按钮"</string>
<string name="accessibility_button_gesture_title" msgid="3573456209050374139">"“无障碍”按钮和手势"</string>
- <string name="accessibility_button_intro_text" msgid="80993874471745687">"在任意屏幕画面上都能快速使用无障碍功能"</string>
+ <string name="accessibility_button_intro_text" msgid="80993874471745687">"在任意界面上都能快速使用无障碍功能"</string>
<string name="accessibility_button_about_title" msgid="3581116105084067926">"关于“无障碍”按钮"</string>
<string name="accessibility_button_gesture_about_title" msgid="8468987303602865536">"关于“无障碍”按钮和无障碍功能启动手势"</string>
<string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"详细了解“无障碍”按钮和无障碍功能启动手势"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"仅接收来自重要联系人和重要应用的通知"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"选择激活类型"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"时间"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"例如:“上午 9:30 至下午 5:00”"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"日历"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"例如:“个人日历”"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"创建模式"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"自定义"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"限制打扰"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"开启勿扰模式"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"闹钟和媒体音效例外"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"时间表"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"删除时间表"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"删除"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"修改"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"时间表"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"时间表"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"设置时间表"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"时间表"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> 小时 <xliff:g id="MINUTES">%2$d</xliff:g> 分钟"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"自动开启"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"时间表"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"在特定的时间将手机设为静音"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"设置“勿扰”规则"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"可以发出声音的例外项"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"屏蔽视觉打扰"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"允许视觉信号"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"您可以收到的通知"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"保持专注"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"其他操作"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"显示设置"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"显示选项"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"启用深色主题"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"将操作系统和应用设置切换到首选深色背景配浅色文本,这样可以减轻眼睛负担,并且在某些设备上能够显著节省电池电量"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{无显示变化}=1{{effect_1}}=2{{effect_1}和{effect_2}}=3{{effect_1}、{effect_2}和{effect_3}}other{{effect_1}、{effect_2}和另外 # 个}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"滤除干扰"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"未滤除任何干扰"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"针对已过滤通知的显示选项"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"开启勿扰模式时"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"不发出通知提示音"</string>
@@ -3483,6 +3541,8 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"打开通知"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"允许显示通知延后选项"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"应用图标上的通知圆点"</string>
+ <!-- no translation found for notification_bundles (3614044525822580826) -->
+ <skip />
<string name="notification_bubbles_title" msgid="5681506665322329301">"消息气泡"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"消息气泡"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"以消息气泡形式显示此对话"</string>
@@ -3664,6 +3724,7 @@
<string name="notification_channels" msgid="1502969522886493799">"类别"</string>
<string name="notification_channels_other" msgid="18159805343647908">"其他"</string>
<string name="no_channels" msgid="4716199078612071915">"此应用未发布任何通知"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"显示未使用的类别"</string>
<string name="app_settings_link" msgid="6725453466705333311">"应用中的其他设置"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"显示未使用的类别"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"隐藏未使用的类别"</string>
@@ -3775,6 +3836,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"全部"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"允许应用覆盖"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"例外的应用"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"选择更多应用"</string>
@@ -4799,8 +4862,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"充电盒"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"电池"</string>
<string name="settings_panel_title" msgid="346363079938069215">"设置面板"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"强制使用桌面模式"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"在辅助显示屏上强制使用桌面模式这一实验性功能"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"启用可自由调整的窗口"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"实现对可自由调整的窗口的支持。"</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"在第二显示器上启用可自由调整的窗口"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"仅在第二显示器上启用可自由调整的窗口。"</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"允许以多窗口模式显示不可调整大小的应用"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"允许通过多窗口模式显示不可调整大小的应用"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"覆盖“强制启用 SmartDark 功能”的设置"</string>
@@ -4868,14 +4933,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"需要先将此设备的数据分区转换成 ext4,然后才能使用 16KB 开发者选项。在该模式下,无法保证软件完整性;而且在引导加载程序处于解锁状态时,存储在手机上的所有数据都可能会面临风险。在此之后,需要再重启设备一次,才能启用 16KB 选项。进入该模式后,您只需重启设备 1 次便可在 4KB 模式和 16KB 模式之间来回切换。在这些模式下,某些功能会被停用,所以某些应用可能无法正常运作。如果想让设备返回到生产模式,您需要切换回 4KB 模式并锁定引导加载程序,这样就会将设备恢复出厂设置。待设备成功启动到 Android 系统后,在开发者选项中停用 OEM 解锁。当您确认后,设备上的所有数据都会被擦除,而且文件系统会被更改为 ext4。完成以上步骤后,请再次返回启用 16KB 模式。"</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"清除所有数据"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"未能擦除数据分区并重新格式化为 ext4。"</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"必须解锁引导加载程序,才能使用 16KB 模式"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"必须解锁引导加载程序"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"需要先为此设备解锁引导加载程序,然后才能使用 16KB 开发者选项。在该模式下,无法保证软件完整性;而且在引导加载程序处于解锁状态时,存储在手机上的所有数据都可能会面临风险。启用 16KB 模式后,所有用户数据及设置都会被擦除。待引导加载程序解锁后,需要进行 2 次重新启动才能启用 16KB 选项。进入该模式后,您只需重启设备 1 次便可在 4KB 模式和 16KB 模式之间来回切换。在这些模式下,某些功能会被停用,所以某些应用可能无法正常运作。如果想让设备返回到生产模式,您将需要切换回 4KB 模式并锁定 OEM/引导加载程序,这样就会将设备恢复出厂设置。请解锁引导加载程序,然后重试。如要查看详细操作说明,请访问:<a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"正在使用 4KB 页面通用模式"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"您正处于 4KB 页面通用模式。在该模式下,无法保证软件完整性;而且在引导加载程序处于解锁状态时,存储在手机上的所有数据都可能会面临风险。在这些模式下,某些功能会被停用,所以某些应用可能无法正常运作。如果想重新进入生产模式,您必须锁定设备的引导加载程序。点按即可了解详情。"</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"您正处于 4KB 页面通用模式。在该模式下,无法保证软件完整性;而且在引导加载程序处于解锁状态时,存储在手机上的所有数据都可能会面临风险。在这些模式下,某些功能会被停用,所以某些应用可能无法正常运作。如果想重新进入生产模式,您必须锁定设备的引导加载程序。这样会再次将设备恢复出厂设置,使其还原为生产设置。待设备成功启动到 Android 系统后,在开发者选项中停用 OEM 解锁。如果设备未能启动到 Android 系统或不稳定,请使用最新出厂映像 (<a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>) 重新刷写设备,或者前往 <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> 选择“擦除设备数据”>“锁定引导加载程序”>“强制刷写所有分区”。"</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"目前使用 16KB 页面通用模式"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"您正处于 16KB 页面通用模式。在该模式下,无法保证软件完整性;而且在引导加载程序处于解锁状态时,存储在手机上的所有数据都可能会面临风险。在这些模式下,某些功能会被停用,所以某些应用可能无法正常运作。如果想重新进入生产模式,您必须切换回 4KB 模式并锁定设备的引导加载程序。点按即可了解详情。"</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"您正处于 16KB 页面通用模式。在该模式下,无法保证软件完整性;而且在引导加载程序处于解锁状态时,存储在手机上的所有数据都可能会面临风险。在这些模式下,某些功能会被停用,所以某些应用可能无法正常运作。如果想重新进入生产模式,您必须切换回 4KB 模式并锁定设备的引导加载程序。这样会再次将设备恢复出厂设置,使其还原为生产设置。待设备成功启动到 Android 系统后,请在开发者选项中停用 OEM 解锁功能。如果设备未能启动到 Android 系统或不稳定,请使用最新出厂映像 (<a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>) 重新刷写设备,或者前往 <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> 并选择“Wipe Device”“Lock Bootloader”和“Force Flash all partitions”。"</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"您正处于 16KB 页面通用模式。在该模式下,无法保证软件完整性;而且在引导加载程序处于解锁状态时,存储在手机上的所有数据都可能会面临风险。在这些模式下,某些功能会被停用,所以某些应用可能无法正常运作。如果想重新进入生产模式,您必须切换回 4KB 模式并锁定设备的引导加载程序。点按即可了解详情。"</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"您正处于 16KB 页面通用模式。在该模式下,无法保证软件完整性;而且在引导加载程序处于解锁状态时,存储在手机上的所有数据都可能会面临风险。在这些模式下,某些功能会被停用,所以某些应用可能无法正常运作。如果想重新进入生产模式,您必须切换回 4KB 模式并锁定设备的引导加载程序。这样会再次将设备恢复出厂设置,使其还原为生产设置。待设备成功启动到 Android 系统后,在开发者选项中停用 OEM 解锁。如果设备未能启动到 Android 系统或不稳定,请使用最新出厂映像 (<a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>) 重新刷写设备,或者前往 <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> 选择“擦除设备数据”>“锁定引导加载程序”>“强制刷写所有分区”。"</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16KB 页面通用模式"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"了解详情"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Bug 报告处理程序"</string>
@@ -5007,14 +5072,15 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"使用“固定应用”"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"启用开发者选项"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"使用打印服务"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"允许多人设备共用"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"允许, 多位, 用户, 许可, 多个, allow, multiple, user, permit, many"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"多个, 用户, 个人资料, 人员, 账号, 切换, 很多, multiple, users, profiles, people, accounts, switch, many"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"使用“无线调试”"</string>
<string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"使用“显卡驱动程序偏好设置”"</string>
<string name="night_light_main_switch_title" msgid="3428298022467805219">"启用护眼模式"</string>
<string name="nfc_main_switch_title" msgid="6295839988954817432">"使用 NFC"</string>
- <string name="adaptive_brightness_main_switch_title" msgid="2681666805191642737">"使用自适应亮度"</string>
+ <string name="adaptive_brightness_main_switch_title" msgid="2681666805191642737">"启用自适应亮度"</string>
<string name="wifi_calling_main_switch_title" msgid="4070224008346815634">"使用“WLAN 通话”"</string>
<string name="default_see_all_apps_title" msgid="7481113230662612178">"查看所有应用"</string>
<string name="smart_forwarding_title" msgid="8368634861971949799">"智能转接"</string>
@@ -5121,8 +5187,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"选择平板电脑插入基座时屏幕上显示的内容。使用屏保时,设备可能会比较耗电。"</string>
<string name="customize_button_title" msgid="1110284655990203359">"自定义"</string>
<string name="customize_button_description" msgid="7440248477266126231">"自定义“<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>”"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"您必须重新启动设备,才能启用任意形式的支持。"</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"您必须重新启动设备,才能在辅助屏幕上强制使用桌面模式。"</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"必须重新启动,才能实现对旧版可自由调整的窗口的支持。"</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"必须重新启动,才能更改可自由调整的窗口的支持功能。"</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"必须重新启动,才能在第二显示器上强制启用可自由调整的窗口。"</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"立即重新启动"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"稍后重新启动"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"空间音频"</string>
@@ -5351,4 +5418,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"收听音频流"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"扫描音频流二维码即可通过“<xliff:g id="DEVICE_NAME">%1$s</xliff:g>”收听"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"分享期间无法修改密码。若要更改密码,请先关闭“音频分享”功能。"</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-zh-rHK/arrays.xml b/res/values-zh-rHK/arrays.xml
index d1f74d6..28c71fb 100644
--- a/res/values-zh-rHK/arrays.xml
+++ b/res/values-zh-rHK/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"睡眠時間"</item>
+ <item msgid="4152450357280759894">"駕駛"</item>
+ <item msgid="7096549258219399423">"身歷其境"</item>
+ <item msgid="2760716776980432977">"受管理"</item>
+ <item msgid="601734478369121764">"星星"</item>
+ <item msgid="6243809315432780521">"日曆"</item>
+ <item msgid="4913577903148415331">"時間"</item>
+ <item msgid="3653377604690057780">"劇院"</item>
+ <item msgid="3843711267408385410">"花"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 9bfa92e..eb21e82 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"助聽器設定"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"捷徑、助聽器兼容性"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"預設"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"沒有聽力師的預設設定"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"無法更新預設"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"音訊輸出裝置"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"關於音訊輸出"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"已新增面孔和<xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"已新增面孔、指紋和<xliff:g id="WATCH">%s</xliff:g>"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"已新增面孔、指紋和<xliff:g id="WATCH">%s</xliff:g>"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"「身分檢查」功能已開啟,因此需要執行此步驟"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator 解鎖"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"已新增手錶"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"設定手錶"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"進一步瞭解「手錶解鎖」"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"新增手錶"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"移除手錶"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"指紋及面孔解鎖"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"面孔和指紋解鎖"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"用於工作設定檔的面孔和指紋解鎖"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"需要設定"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"已新增面孔和指紋"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"安裝應用程式"</b>\n"在私人空間中安裝你想設定為私人的應用程式"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"注意事項"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"應用程式在私人空間鎖定後停止運作"</b>\n"私人空間鎖定後,當中的應用程式會停止運作,因此你不會收到這些應用程式的通知"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"私人空間不適用於需要在背景執行或傳送重要通知的應用程式,例如醫療應用程式。因為當空間鎖定時,通知和背景活動亦會隨之停止。\n\n私人空間鎖定時,當中的應用程式不會在權限管理工具、私隱資訊主頁和其他設定中顯示。\n\n私人空間無法移至新裝置。如要在其他裝置上使用私人空間,請重新設定。\n\n如果有人將裝置連接電腦,或在裝置上安裝有害的應用程式,或許能存取你的私人空間。"</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"私人空間不適用於需要在背景執行或傳送重要通知的應用程式,例如醫療應用程式。因為當空間鎖定時,通知和背景活動亦會隨之停止。\n\n私人空間鎖定時,當中的應用程式不會在權限管理工具、私隱資訊主頁和其他設定中顯示。\n\n私人空間無法在新裝置上還原。如要在其他裝置上使用私人空間,請重新設定。\n\n如果有人將裝置連接電腦,或在裝置上安裝惡意應用程式,或許可存取你的私人空間。"</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"進一步瞭解私人空間"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"過程需時數分鐘"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"正在設定私人空間…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"要重新啟動裝置嗎?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"詳細 NFC 記錄僅適用於開發用途。錯誤報告中有其他 NFC 資料,可能包含私人資料。重新啟動裝置即可變更此設定。"</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"重新啟動"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"投放"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"鏡像"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"啟用無線螢幕分享"</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"自動調整"</string>
<string name="brightness" msgid="6216871641021779698">"亮度"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"自動調校光暗"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"關於自動調校光暗"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"系統會根據你所在的環境和活動自動調校螢幕光暗。你可以移動滑桿,幫助自動調校光暗功能瞭解你偏好的亮度。"</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"開"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"關閉"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"選項"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"無障礙功能"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"實體鍵盤"</string>
- <string name="show_ime" msgid="4334255501724746849">"使用屏幕鍵盤"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"當實體鍵盤處於連接狀態時,保持在畫面上顯示"</string>
<string name="bounce_keys" msgid="7419450970351743904">"篩選鍵"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"鍵盤會忽略在 <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> 毫秒內快速重覆按下同一按鍵的動作"</string>
<string name="slow_keys" msgid="2891452895499690837">"緩慢鍵"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"已選取使用者:<xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"語音"</string>
<string name="pointer_speed" msgid="7398649279282675718">"游標速度"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"遊戲控制器"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"產生震動"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"連接時令遊戲控制器產生震動"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"仍要繼續"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"取消"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"放大設定"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"單指平移"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"以 1 隻手指移動放大鏡"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"拖曳 1 隻手指便可在螢幕上移動"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"拖曳一隻手指即可移動放大範圍。"</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"拖曳兩隻手指即可移動放大範圍。"</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"無法用於只放大部分畫面"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"輕按按鈕即可縮放"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"快速放大螢幕畫面中的內容"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>放大螢幕畫面:</b><br/> {0,number,integer}. 用捷徑開始放大<br/> {1,number,integer}. 輕按螢幕<br/> {2,number,integer}. 用兩指拖曳畫面即可四處移動<br/> {3,number,integer}. 用兩指縮放即可調整縮放比例<br/> {4,number,integer}. 用捷徑即可停止放大<br/><br/><b>暫時放大螢幕畫面:</b><br/> {0,number,integer}. 確定放大類型已設為全螢幕<br/> {1,number,integer}. 用捷徑開始放大<br/> {2,number,integer}. 按住畫面上任何地方<br/> {3,number,integer}. 用兩指拖曳畫面即可四處移動<br/> {4,number,integer}. 提起手指即可停止放大"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>按照下列步驟放大螢幕畫面:</b><br/> {0,number,integer}。用快速鍵啟用放大功能<br/> {1,number,integer}。輕按螢幕<br/> {2,number,integer}。拖曳 2 指就可以在畫面上移動<br/> {3,number,integer}。用 2 指縮放就可以調整縮放程度<br/> {4,number,integer}。以快速鍵停用放大功能<br/><br/>你亦可以暫時放大畫面及執行其他操作。"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>按照下列步驟放大螢幕畫面:</b><br/> {0,number,integer}。用快速鍵啟用放大功能<br/> {1,number,integer}。輕按螢幕<br/> {2,number,integer}。拖曳 1 指或 2 指就可以在畫面上移動<br/> {3,number,integer}.用 2 指縮放就可以調整縮放程度<br/> {4,number,integer}。以快速鍵停用放大功能<br/><br/>你亦可以暫時放大畫面及執行其他操作。"</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"開啟放大功能後,你可放大畫面。\n\n"<b>"如要縮放"</b>",請開啟放大功能,然後輕按螢幕任何地方。\n"<ul><li>"用 2 隻或多隻手指拖曳,即可捲動螢幕"</li>\n<li>"用 2 隻或多隻手指縮放,即可調整縮放程度"</li></ul>\n\n<b>"如要暫時縮放"</b>",請開啟放大功能,再按住螢幕任何地方。\n"<ul><li>"拖曳即可在螢幕上移動"</li>\n<li>"提起手指即可縮小至原大"</li></ul>\n\n"你無法在鍵盤或導覽列上使用放大功能。"</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g> 頁中嘅第 <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> 頁"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"無障礙功能按鈕捷徑"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"只接收重要聯絡人和應用程式的通知"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"選擇啟用類型"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"時間"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"例如:「上午 9:30 至下午 5:00」"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"日曆"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"例如:「個人日曆」"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"建立模式"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"自訂"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"減少干擾"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"開啟「請勿騷擾」模式"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"鬧鐘和媒體音效可打擾"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"時間表"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"刪除時間表"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"刪除"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"編輯"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"時間表"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"預定時間"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"設定時間表"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"時間表"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> 小時 <xliff:g id="MINUTES">%2$d</xliff:g> 分鐘"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"自動開啟"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"預定時間"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"在特定時間將手機設為靜音"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"設定「請勿騷擾」規則"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"允許發出音效的干擾"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"封鎖視覺干擾"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"允許視覺訊號"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"可收到的通知"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"保持專注"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"更多操作"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"顯示設定"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"顯示選項"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"啟用深色主題背景"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"將 OS 和應用程式偏好設定切換成「淺色文字配搭深色背景」。此設定或許可減少眼睛疲勞,且在部分裝置上還能節省大量電力"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{沒有顯示變更}=1{{effect_1}}=2{{effect_1}和{effect_2}}=3{{effect_1}、{effect_2}和{effect_3}}other{{effect_1}、{effect_2}和另外 # 個設定}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"過濾干擾"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"不會過濾任何干擾"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"用來篩選通知的顯示選項"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"開啟「請勿騷擾」模式時"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"不發出音效通知"</string>
@@ -3483,6 +3541,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"開啟通知"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"允許通知延後"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"應用程式圖示上的通知圓點"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"通知組合"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"對話氣泡"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"對話氣泡"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"以對話氣泡顯示此對話"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"類別"</string>
<string name="notification_channels_other" msgid="18159805343647908">"其他"</string>
<string name="no_channels" msgid="4716199078612071915">"此應用程式未發佈任何通知"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"顯示未使用的類別"</string>
<string name="app_settings_link" msgid="6725453466705333311">"應用程式中的其他設定"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"顯示未使用的類別"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"隱藏未使用的類別"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"全部"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"允許應用程式取代「請勿騷擾」"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"例外可打擾的應用程式"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"選擇更多應用程式"</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"耳機盒"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"電池"</string>
<string name="settings_panel_title" msgid="346363079938069215">"設定面板"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"強制執行桌面模式"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"在次要顯示屏強制執行實驗版桌面模式"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"啟用自由形態視窗"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"啟用自由形態視窗的支援功能。"</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"在次要螢幕上啟用自由形態視窗"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"只在次要螢幕上啟用自由形態視窗"</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"允許多重視窗模式顯示無法調整大小的應用程式"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"允許透過多重視窗模式顯示無法調整大小的應用程式"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"蓋過強制深色模式"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"你需要先將此裝置的資料分區轉換為 ext4,才能使用 16 KB 開發人員選項。在此模式中無法保證軟件完整性,在啟動程式解鎖時,儲存在手機上的任何資料都可能面臨風險。在此之後需要再重新啟動一次,才能啟用 16 KB 選項。當你處於此模式時,可以在 4 KB 和 16 KB 模式之間來回切換,每次切換都要重新啟動一次。在這類模式中,部分功能會停用,因此部分應用程式無法運作。如要將裝置返回實際工作環境模式,你需要切換回 4 KB 模式並鎖定啟動程式,然後裝置就會回復原廠設定。裝置成功啟動 Android 後,請在開發人員選項中停用 OEM 解鎖設定。裝置資料將會抹除,檔案系統會在確認後變更為 ext4。完成此步驟之後,請再次返回啟用 16 KB。"</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"清除所有資料"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"無法重新格式化並將資料分區抹除,變更為 ext4 檔案系統。"</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"需要解鎖啟動程式才可使用 16 KB 模式"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"需要解鎖啟動程式"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"你需要先將此裝置的啟動程式解鎖,才能使用 16 KB 開發人員選項。在此模式中無法保證軟件完整性,在啟動程式解鎖時,儲存在手機上的任何資料都可能面臨風險。啟用 16 KB 模式時,所有使用者資料和設定都將抹除。啟動程式解鎖後需要經過兩次重新啟動,才能啟用 16 KB 選項。當你處於此模式時,可以在 4 KB 和 16 KB 模式之間來回切換,每次切換都要重新啟動一次。在這類模式中,部分功能會停用,因此部分應用程式無法運作。如要將裝置返回實際工作環境模式,你需要切換回 4 KB 模式,然後原始設備製造商 (OEM)/啟動程式就會鎖定裝置 (此操作會將裝置回復原廠設定)。請解鎖啟動程式,然後再試一次。如需有關的操作指示,請瀏覽 <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"使用 4 KB 頁面通用模式"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"你目前處於頁面通用模式的 4 KB 模式。在此模式中無法保證軟件完整性,在啟動程式解鎖時,儲存在手機上的任何資料都可能面臨風險。在這類模式中,部分功能會停用,因此部分應用程式無法運作。如要再次進入實際工作環境模式,你必須鎖定裝置的啟動程式。輕按即可閱讀更多。"</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"你目前處於頁面通用模式的 4 KB 模式。在此模式中無法保證軟件完整性,在啟動程式解鎖時,儲存在手機上的任何資料都可能面臨風險。在這類模式中,部分功能會停用,因此部分應用程式無法運作。如要再次進入實際工作環境模式,你必須鎖定裝置的啟動程式。此操作會再次將裝置回復原廠設定,並將裝置還原為實際工作環境設定。裝置成功啟動 Android 後,請在開發人員選項中停用 OEM 解鎖設定。如裝置無法啟動 Android 或不穩定,請透過以下其中一種方式更新裝置:使用 <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> 中的最新原廠映像,或使用 <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> 工具,只要選取 [抹除裝置資料]、[鎖定啟動程式] 及 [強制更新所有分區] 即可。"</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"使用 16 KB 頁面通用模式"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"你目前處於頁面通用模式的 16 KB 模式。在此模式中無法保證軟件完整性,在啟動程式解鎖時,儲存在手機上的任何資料都可能面臨風險。在這類模式中,部分功能會停用,因此部分應用程式無法運作。如要再次進入實際工作環境模式,你必須切換回 4 KB 模式,然後鎖定裝置的啟動程式。輕按即可閱讀更多。"</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"你目前處於頁面通用模式的 16 KB 模式。在此模式中無法保證軟件完整性,在啟動程式解鎖時,儲存在手機上的任何資料都可能面臨風險。在這類模式中,部分功能會停用,因此部分應用程式無法運作。如要再次進入實際工作環境模式,你必須切換回 4 KB 模式,然後鎖定裝置的啟動程式。此操作會再次將裝置回復原廠設定,並將裝置還原為實際工作環境設定。裝置成功啟動 Android 後,請在開發人員選項中停用 OEM 解鎖設定。如裝置無法啟動 Android 或不穩定,請透過以下其中一種方式更新裝置:使用 <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> 中的最新原廠映像,或使用 <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> 工具,只要選取 [抹除裝置資料]、[鎖定啟動程式] 及 [強制更新所有分區] 即可。"</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"你目前處於頁面通用模式的 16 KB 模式。在此模式中無法保證軟件完整性,在啟動程式解鎖時,儲存在手機上的任何資料都可能面臨風險。在這類模式中,部分功能會停用,因此部分應用程式無法運作。如要再次進入實際工作環境模式,你必須切換回 4 KB 模式,然後鎖定裝置的啟動程式。輕按即可閱讀更多。"</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"你目前處於頁面通用模式的 16 KB 模式。在此模式中無法保證軟件完整性,在啟動程式解鎖時,儲存在手機上的任何資料都可能面臨風險。在這類模式中,部分功能會停用,因此部分應用程式無法運作。如要再次進入實際工作環境模式,你必須切換回 4 KB 模式,然後鎖定裝置的啟動程式。此操作會再次將裝置回復原廠設定,並將裝置還原為實際工作環境設定。裝置成功啟動 Android 後,請在開發人員選項中停用 OEM 解鎖設定。如裝置無法啟動 Android 或不穩定,請透過以下其中一種方式更新裝置:使用 <a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a> 中的最新原廠映像,或使用 <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> 工具,只要選取 [抹除裝置資料]、[鎖定啟動程式] 及 [強制更新所有分區] 即可。"</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16 KB 頁面通用模式"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"閱讀更多"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"錯誤報告處理常式"</string>
@@ -5007,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"使用「固定應用程式」功能"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"使用開發人員選項"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"使用列印服務"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"允許多位使用者"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"允許, 多個, 使用者, 批准, 很多"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"多位, 使用者, 個人檔案, 人, 帳戶, 切換, 多人"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"使用「無線偵錯」功能"</string>
@@ -5121,8 +5186,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"選擇平板電腦放上插座時螢幕上顯示的內容。如果裝置使用螢幕保護程式,可能會比較耗電。"</string>
<string name="customize_button_title" msgid="1110284655990203359">"自訂"</string>
<string name="customize_button_description" msgid="7440248477266126231">"自訂<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"你需要重新開機,才能啟用任意形式的支援。"</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"你需要重新開機,才能在次要螢幕上強制執行桌面模式。"</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"必須重新開機,才能啟用舊的自由形態視窗支援功能"</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"必須重新開機,才能變更自由形態視窗的支援功能。"</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"必須重新開機,才能在次要螢幕上強制執行自由形態視窗。"</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"立即重新開機"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"稍後重新開機"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"空間音訊"</string>
@@ -5351,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"收聽串流"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"使用「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」掃瞄音訊串流 QR 碼即可收聽"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"分享音訊期間無法編輯密碼。如要變更密碼,請先關閉音訊分享功能。"</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-zh-rTW/arrays.xml b/res/values-zh-rTW/arrays.xml
index f6df39d..c40e6cd 100644
--- a/res/values-zh-rTW/arrays.xml
+++ b/res/values-zh-rTW/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"就寢時間"</item>
+ <item msgid="4152450357280759894">"開車"</item>
+ <item msgid="7096549258219399423">"沉浸"</item>
+ <item msgid="2760716776980432977">"受管理"</item>
+ <item msgid="601734478369121764">"星星"</item>
+ <item msgid="6243809315432780521">"日曆"</item>
+ <item msgid="4913577903148415331">"時間"</item>
+ <item msgid="3653377604690057780">"劇院"</item>
+ <item msgid="3843711267408385410">"花朵"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index ff33d36..a2fa876 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"助聽器設定"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"捷徑、助聽器相容性"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"預設設定"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"沒有由聽力師預設的設定"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"無法更新預設設定"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"音訊輸出裝置"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"關於音訊輸出"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"已新增臉孔和「<xliff:g id="WATCH">%s</xliff:g>」"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"已新增臉孔、指紋和「<xliff:g id="WATCH">%s</xliff:g>」"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"已新增臉孔、指紋和「<xliff:g id="WATCH">%s</xliff:g>」"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"身分檢查已開啟,因此必須進行生物特徵辨識驗證"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Remote Authenticator 解鎖"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"已新增智慧手錶"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"設定智慧手錶"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"進一步瞭解「智慧手錶解鎖」功能"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"新增智慧手錶"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"移除智慧手錶"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"指紋與人臉解鎖"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"人臉和指紋解鎖"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"人臉和指紋解鎖 (工作資料夾)"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"需要設定"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"已新增臉孔和指紋"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"安裝應用程式"</b>\n"在空間中安裝想保密的應用程式"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"注意事項"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"應用程式會在空間鎖定後停止運作"</b>\n"空間鎖定之後,當中的應用程式將停止運作,你不會收到這些應用程式的通知"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"私人空間不適合用於需要在背景執行或傳送重要通知的應用程式,例如醫療應用程式。因為當空間鎖定時,通知和背景活動也會隨之停止。\n\n私人空間鎖定時,其中的應用程式不會顯示在權限管理工具、隱私資訊主頁和其他設定中。\n\n私人空間無法移到新裝置。如要在其他裝置上使用私人空間,請重新設定。\n\n如果有人將裝置接上電腦,或在裝置上安裝有害的應用程式,或許能夠存取你的私人空間。"</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"私人空間不適合用於需要在背景執行或傳送重要通知的應用程式,例如醫療應用程式。因為當空間鎖定時,通知和背景活動也會隨之停止。\n\n私人空間鎖定時,其中的應用程式不會顯示在權限管理工具、隱私資訊主頁和其他設定中。\n\n私人空間無法在新裝置上還原。如要在其他裝置上使用私人空間,請重新設定。\n\n如果有人將裝置接上電腦,或在裝置上安裝惡意應用程式,或許能夠存取你的私人空間。"</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"進一步瞭解私人空間"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"請稍待片刻"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"正在設定私人空間…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"要重新啟動裝置嗎?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"詳細 NFC 記錄僅適用於開發用途。錯誤報告中含有其他 NFC 資料,其中可能包含私人資訊。重新啟動裝置即可變更這項設定。"</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"重新啟動"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"投放"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"鏡像"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"啟用無線螢幕分享"</string>
@@ -1192,7 +1222,8 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"自動調整"</string>
<string name="brightness" msgid="6216871641021779698">"亮度"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"自動調整亮度"</string>
- <string name="auto_brightness_description" msgid="6807117118142381193">"系統會根據你的所在環境和從事的活動自動調整螢幕亮度。你可以手動移動滑桿,協助自動調整亮度功能記憶你所偏好的亮度。"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"關於自動調整亮度"</string>
+ <string name="auto_brightness_description" msgid="6807117118142381193">"系統會根據你所在的環境和從事的活動,自動調整螢幕亮度。你也可以移動滑桿,協助自動調整亮度功能記憶你偏好的亮度。"</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"開啟"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"關閉"</string>
<string name="display_white_balance_title" msgid="2624544323029364713">"螢幕白平衡"</string>
@@ -1897,8 +1928,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"選項"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"無障礙"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"實體鍵盤"</string>
- <string name="show_ime" msgid="4334255501724746849">"使用螢幕小鍵盤"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"使用實體鍵盤時仍繼續顯示螢幕小鍵盤"</string>
<string name="bounce_keys" msgid="7419450970351743904">"彈回鍵"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"鍵盤會忽略在 <xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> 毫秒內快速重覆按下同一按鍵的動作"</string>
<string name="slow_keys" msgid="2891452895499690837">"延遲感應鍵"</string>
@@ -1972,6 +2001,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"使用者選取:<xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"語音"</string>
<string name="pointer_speed" msgid="7398649279282675718">"游標速度"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"遊戲控制器"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"產生震動"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"連接時使遊戲控制器產生震動"</string>
@@ -2094,7 +2129,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"仍要繼續"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"取消"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"放大功能設定"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"單指平移"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"用 1 指移動放大鏡"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"用 1 指在畫面上拖曳放大區域"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"拖曳單指即可移動放大區域。"</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"拖曳雙指即可移動放大區域。"</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"只放大部分畫面時無法使用"</string>
@@ -2118,6 +2154,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"輕觸按鈕即可縮放"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"快速放大螢幕畫面中的內容"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>放大螢幕畫面的方法如下:</b><br/> {0,number,integer}. 使用捷徑啟動放大功能<br/> {1,number,integer}. 輕觸螢幕<br/> {2,number,integer}. 拖曳 2 指即可四處移動畫面<br/> {3,number,integer}. 使用 2 指撥動即可調整縮放等級<br/> {4,number,integer}. 使用捷徑關閉放大功能<br/><br/> <b>暫時放大螢幕畫面的方法如下:</b><br/> {0,number,integer}. 確認放大類型已設為全螢幕<br/> {1,number,integer}. 使用捷徑啟動放大功能<br/> {2,number,integer}. 按住螢幕上的任一處<br/> {3,number,integer}. 拖曳手指即可四處移動畫面<br/> {4,number,integer}. 移開手指即可關閉放大功能"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>放大畫面的方法如下:</b><br/>{0,number,integer}. 使用捷徑啟動放大功能<br/>{1,number,integer}. 輕觸螢幕<br/>{2,number,integer}. 用 2 指在畫面上拖曳放大區域<br/>{3,number,integer}. 用 2 指撥動調整縮放等級<br/>{4,number,integer}. 使用捷徑關閉放大功能<br/><br/>你也可以暫時放大畫面及執行其他操作。"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>放大畫面的方法如下:</b><br/>{0,number,integer}. 使用捷徑啟動放大功能<br/>{1,number,integer}. 輕觸螢幕<br/>{2,number,integer}. 用 1 或 2 指在畫面上拖曳放大區域<br/> {3,number,integer}. 用 2 指撥動調整縮放等級<br/>{4,number,integer}. 使用捷徑關閉放大功能<br/><br/>你也可以暫時放大畫面及執行其他操作。"</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"放大功能啟用後,你可以放大畫面上的內容。\n\n"<b>"如要進行縮放"</b>",請開啟放大功能,然後輕觸畫面上的任何位置。\n"<ul><li>"使用兩指或多指以拖曳的方式捲動畫面"</li>\n<li>"使用兩指或多指撥動以調整縮放大小"</li></ul>\n\n<b>"如要暫時放大畫面"</b>",請開啟放大功能,然後按住畫面上的任何位置。\n"<ul><li>"使用手指拖曳可瀏覽畫面的不同部分"</li>\n<li>"放開手指即可縮小"</li></ul>\n\n"你無法放大鍵盤和導覽列部分。"</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"第 <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> 頁,共 <xliff:g id="NUM_PAGES">%2$d</xliff:g> 頁"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"無障礙工具按鈕捷徑"</string>
@@ -2189,7 +2227,7 @@
<string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"進一步瞭解無障礙工具按鈕和手勢"</string>
<string name="accessibility_button_intro" msgid="2601976470525277903">"請使用無障礙工具按鈕。手勢無法搭配三按鈕操作機制。"</string>
<string name="accessibility_button_summary" msgid="8510939012631455831">"快速使用無障礙功能"</string>
- <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"<b>詳細步驟</b><br/> {0,number,integer}. 開啟無障礙設定<br/> {1,number,integer}. 選取功能並輕觸捷徑<br/> {2,number,integer}. 選擇是否要透過按鈕或手勢執行該功能<br/>"</string>
+ <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"<b>詳細步驟</b><br/> {0,number,integer}. 開啟無障礙設定<br/> {1,number,integer}. 選取功能並輕觸捷徑<br/> {2,number,integer}. 選擇你要用按鈕或手勢來啟動該功能<br/>"</string>
<string name="accessibility_button_description" msgid="7669538706120092399">"<b>詳細步驟</b><br/> {0,number,integer}. 開啟無障礙設定<br/> {1,number,integer}. 選取功能並輕觸捷徑<br/> {2,number,integer}. 選擇要用來執行該功能的按鈕<br/>"</string>
<string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"使用按鈕或手勢"</string>
<string name="accessibility_button_location_title" msgid="7182107846092304942">"位置"</string>
@@ -3314,7 +3352,7 @@
<string name="live_caption_title" msgid="8617086825712756983">"即時字幕"</string>
<string name="live_caption_summary" msgid="2898451867595161809">"自動產生媒體字幕"</string>
<string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"有線耳機"</string>
- <string name="spatial_audio_text" msgid="8201387855375146000">"相容媒體裝置可提供更有臨場感的音效"</string>
+ <string name="spatial_audio_text" msgid="8201387855375146000">"相容媒體裝置音效更具臨場感"</string>
<string name="spatial_summary_off" msgid="8272678804629774378">"已關閉"</string>
<string name="spatial_summary_on_one" msgid="6239933399496282994">"已開啟/<xliff:g id="OUTPUT_DEVICE">%1$s</xliff:g>"</string>
<string name="spatial_summary_on_two" msgid="4526919818832483883">"已開啟/<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g>和<xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
@@ -3326,12 +3364,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"僅接收重要聯絡人和應用程式的通知"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"選取啟動類型"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"時間"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"例如:「上午 9:30 – 下午 5:00」"</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"日曆"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"例如:「個人日曆」"</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"建立模式"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"自訂"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"降低干擾"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"開啟「零打擾」模式"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"鬧鐘和媒體音效例外"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"排程"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"刪除排程"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"刪除"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"編輯"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"排程"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"排程"</string>
@@ -3342,6 +3397,7 @@
<string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"設定時間表"</string>
<string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"安排時間"</string>
<string name="zen_mode_schedule_duration" msgid="299332195675875111">"<xliff:g id="HOURS">%1$d</xliff:g> 小時 <xliff:g id="MINUTES">%2$d</xliff:g> 分鐘"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"自動開啟"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"排程"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"在特定時間將手機設為靜音"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"設定「零打擾」規則"</string>
@@ -3351,7 +3407,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"允許發出音效的干擾"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"封鎖視覺干擾"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"允許視覺信號"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"可收到的通知"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"保持專注"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"其他動作"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"顯示設定"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"顯示選項"</string>
@@ -3368,6 +3424,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"啟用深色主題"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"將作業系統和應用程式偏好設定切換成「淺色文字搭配深色背景」。這項設定或許可以降低眼睛負擔,而且在某些裝置上還能節省大量電力"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{沒有顯示變更}=1{{effect_1}}=2{{effect_1}和{effect_2}}=3{{effect_1}、{effect_2}和{effect_3}}other{{effect_1}、{effect_2}和另外 # 個設定}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"篩選干擾"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"不篩選任何干擾"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"如何顯示已過濾的通知"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"開啟「零打擾」模式時"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"不發出通知音效"</string>
@@ -3458,7 +3516,7 @@
<string name="conversation_notifs_category" msgid="2549844862379963273">"對話"</string>
<string name="general_notification_header" msgid="3669031068980713359">"管理"</string>
<string name="app_notification_field" msgid="3208079070539894909">"應用程式通知"</string>
- <string name="app_notification_field_summary" msgid="5981393613897713471">"控管個別應用程式的通知"</string>
+ <string name="app_notification_field_summary" msgid="5981393613897713471">"管理個別應用程式的通知"</string>
<string name="advanced_section_header" msgid="6478709678084326738">"一般"</string>
<string name="profile_section_header" msgid="4970209372372610799">"工作通知"</string>
<string name="profile_section_header_for_advanced_privacy" msgid="8385775428904838579">"工作資料夾"</string>
@@ -3472,7 +3530,7 @@
<string name="asst_importance_reset_summary" msgid="684794589254282667">"重設使用者變更的重要設定,並允許通知助理優先處理"</string>
<string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"建議採取的動作和回覆"</string>
<string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"自動顯示建議採取的動作和回覆"</string>
- <string name="notification_history_summary" msgid="5434741516307706892">"顯示近期通知和已延後的通知"</string>
+ <string name="notification_history_summary" msgid="5434741516307706892">"顯示近期和延後的通知"</string>
<string name="notification_history" msgid="8663811361243456201">"通知記錄"</string>
<string name="notification_history_toggle" msgid="9093762294928569030">"使用通知記錄"</string>
<string name="notification_history_off_title_extended" msgid="853807652537281601">"通知記錄已關閉"</string>
@@ -3481,8 +3539,9 @@
<string name="history_toggled_on_summary" msgid="9034278971358282728">"近期通知和已延後的通知會顯示在這裡"</string>
<string name="notification_history_view_settings" msgid="5269317798670449002">"查看通知設定"</string>
<string name="notification_history_open_notification" msgid="2655071846911258371">"開啟通知"</string>
- <string name="snooze_options_title" msgid="2109795569568344617">"允許顯示通知延後選項"</string>
- <string name="notification_badging_title" msgid="5469616894819568917">"應用程式圖示上的通知圓點"</string>
+ <string name="snooze_options_title" msgid="2109795569568344617">"顯示延後通知"</string>
+ <string name="notification_badging_title" msgid="5469616894819568917">"顯示應用程式圖示的通知圓點"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"通知組合"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"對話框"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"對話框"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"以對話框形式顯示這個對話"</string>
@@ -3503,7 +3562,7 @@
<string name="bubble_app_setting_bubble_conversation" msgid="1461981680982964285">"開啟這個對話的對話框功能"</string>
<string name="swipe_direction_ltr" msgid="5137180130142633085">"向右滑動即可關閉,向左滑動即可顯示選單"</string>
<string name="swipe_direction_rtl" msgid="1707391213940663992">"向左滑動即可關閉,向右滑動即可顯示選單"</string>
- <string name="silent_notifications_status_bar" msgid="6113307620588767516">"在狀態列隱藏設為靜音的通知"</string>
+ <string name="silent_notifications_status_bar" msgid="6113307620588767516">"在狀態列隱藏靜音通知"</string>
<string name="notification_pulse_title" msgid="8013178454646671529">"閃爍燈光"</string>
<string name="lock_screen_notifications_title" msgid="2876323153692406203">"隱私設定"</string>
<string name="lockscreen_bypass_title" msgid="6519964196744088573">"略過螢幕鎖定畫面"</string>
@@ -3515,10 +3574,10 @@
<string name="lock_screen_notifs_title" msgid="3412042692317304449">"螢幕鎖定畫面通知"</string>
<string name="lock_screen_notifs_show_all_summary" msgid="4226586018375762117">"顯示對話通知、預設通知和已設為靜音的通知"</string>
<string name="lock_screen_notifs_show_all" msgid="1300418674456749664">"顯示對話通知、預設通知和已設為靜音的通知"</string>
- <string name="lock_screen_notifs_show_alerting" msgid="6584682657382684566">"隱藏已設為靜音的對話和通知"</string>
+ <string name="lock_screen_notifs_show_alerting" msgid="6584682657382684566">"隱藏設為靜音的對話和通知"</string>
<string name="lock_screen_notifs_show_none" msgid="1941044980403067101">"不要顯示任何通知"</string>
<string name="lock_screen_notifs_redact" msgid="9024158855454642296">"敏感通知"</string>
- <string name="lock_screen_notifs_redact_summary" msgid="1395483766035470612">"鎖定時顯示敏感內容"</string>
+ <string name="lock_screen_notifs_redact_summary" msgid="1395483766035470612">"螢幕鎖定時顯示敏感內容"</string>
<string name="lock_screen_notifs_redact_work" msgid="3833920196569208430">"敏感工作資料夾通知"</string>
<string name="lock_screen_notifs_redact_work_summary" msgid="3238238380405430156">"鎖定時顯示敏感工作資料夾內容"</string>
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"顯示所有通知內容"</string>
@@ -3576,9 +3635,9 @@
<string name="notifications_sent_weekly" msgid="7895656213187555346">"{count,plural, =1{每週約 # 則通知}other{每週約 # 則通知}}"</string>
<string name="notifications_sent_never" msgid="9081278709126812062">"永遠不要"</string>
<string name="manage_notification_access_title" msgid="4154723216570646451">"閱讀、回覆及控制通知"</string>
- <string name="manage_notification_access_summary" msgid="2907135226478903997">"控管可以讀取通知的應用程式和裝置"</string>
+ <string name="manage_notification_access_summary" msgid="2907135226478903997">"管理可讀取通知的應用程式和裝置"</string>
<string name="work_profile_notification_access_blocked_summary" msgid="8643809206612366067">"管理員已禁止存取工作資料夾通知"</string>
- <string name="notification_assistant_title" msgid="5889201903272393099">"加強型通知"</string>
+ <string name="notification_assistant_title" msgid="5889201903272393099">"進階通知"</string>
<string name="notification_assistant_summary" msgid="1957783114840908887">"接收建議的操作、回覆等內容"</string>
<string name="no_notification_assistant" msgid="2533323397091834096">"無"</string>
<string name="no_notification_listeners" msgid="2839354157349636000">"最近沒有已安裝的應用程式要求「通知」存取權。"</string>
@@ -3664,6 +3723,7 @@
<string name="notification_channels" msgid="1502969522886493799">"類別"</string>
<string name="notification_channels_other" msgid="18159805343647908">"其他"</string>
<string name="no_channels" msgid="4716199078612071915">"這個應用程式未發布任何通知"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"顯示未使用的類別"</string>
<string name="app_settings_link" msgid="6725453466705333311">"應用程式中的其他設定"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"顯示未使用的類別"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"隱藏未使用的類別"</string>
@@ -3775,6 +3835,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"全部"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"允許應用程式覆寫"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"例外的應用程式"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"選取更多應用程式"</string>
@@ -4020,10 +4082,10 @@
<string name="ignore_optimizations_off_desc" msgid="3324571675983286177">"建議使用以延長電池續航力"</string>
<string name="app_list_preference_none" msgid="1635406344616653756">"無"</string>
<string name="work_profile_usage_access_warning" msgid="3477719910927319122">"即使關閉此應用程式的使用記錄存取功能,你的管理員仍可存取工作資料夾中應用程式的數據用量"</string>
- <string name="draw_overlay" msgid="7902083260500573027">"顯示在其他應用程式上層"</string>
- <string name="system_alert_window_settings" msgid="6458633954424862521">"顯示在其他應用程式上層"</string>
- <string name="permit_draw_overlay" msgid="4468994037192804075">"允許顯示在其他應用程式上層"</string>
- <string name="allow_overlay_description" msgid="1607235723669496298">"允許這個應用程式顯示在畫面上層,遮住其他的應用程式。該應用程式將可知道你輕觸的位置或變更畫面上顯示的內容。"</string>
+ <string name="draw_overlay" msgid="7902083260500573027">"重疊顯示於其他應用程式上方"</string>
+ <string name="system_alert_window_settings" msgid="6458633954424862521">"重疊顯示於其他應用程式上方"</string>
+ <string name="permit_draw_overlay" msgid="4468994037192804075">"允許重疊顯示於其他應用程式上方"</string>
+ <string name="allow_overlay_description" msgid="1607235723669496298">"允許這個應用程式重疊顯示在其他正在使用的應用程式上方。這個應用程式將能偵測你輕觸的位置,或變更畫面上顯示的內容。"</string>
<string name="media_routing_control_title" msgid="6402800638960066807">"變更媒體輸出"</string>
<string name="allow_media_routing_control" msgid="4907036637509360616">"允許應用程式切換媒體輸出"</string>
<string name="allow_media_routing_description" msgid="8343709701298051207">"允許這個應用程式選擇要使用哪一部連結的裝置播放其他應用程式的音訊或影片。如果允許,這個應用程式可以存取清單中的可用裝置 (例如耳機和音箱),並選擇要使用哪一部輸出裝置串流播放或投放音訊或影片。"</string>
@@ -4039,7 +4101,7 @@
<string name="media_management_apps_description" msgid="8000565658455268524">"如果允許,這個應用程式就能直接修改或刪除使用其他應用程式建立的媒體檔案,不用事先取得你的同意。應用程式必須先獲得權限才能存取檔案和媒體。"</string>
<string name="keywords_media_management_apps" msgid="7499959607583088690">"媒體, 檔案, 管理, 管理員, 編輯, 編輯器, 應用程式, 程式"</string>
<string name="keywords_vr_listener" msgid="902737490270081131">"vr 虛擬實境 接聽器 音響 小幫手 服務"</string>
- <string name="overlay_settings" msgid="2030836934139139469">"顯示在其他應用程式上層"</string>
+ <string name="overlay_settings" msgid="2030836934139139469">"重疊顯示於其他應用程式上方"</string>
<string name="filter_overlay_apps" msgid="2483998217116789206">"具備權限的應用程式"</string>
<string name="app_permission_summary_allowed" msgid="1155115629167757278">"允許"</string>
<string name="app_permission_summary_not_allowed" msgid="2673793662439097900">"不允許"</string>
@@ -4799,8 +4861,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"充電盒"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"電池"</string>
<string name="settings_panel_title" msgid="346363079938069215">"設定面板"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"強制使用桌面模式"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"在次要顯示器上強制使用桌面模式實驗性功能"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"啟用自由形式視窗"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"啟用自由形式視窗支援功能。"</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"在第二個螢幕上啟用自由形式視窗功能"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"只在第二個螢幕上啟用自由形式視窗功能。"</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"允許多視窗模式顯示無法調整大小的應用程式"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"允許透過多視窗模式顯示無法調整大小的應用程式"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"覆寫強制使用深色模式的功能"</string>
@@ -4868,14 +4932,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"必須先將這部裝置的資料分區轉換為 ext4,才能使用 16KB 開發人員選項。此模式無法保證軟體完整性,且系統啟動載入程式解鎖時,手機上的資料可能面臨風險。在此之後還必須再重新啟動一次,才能啟用 16KB 選項。當你處於此模式時,可以在 4KB 和 16KB 模式之間來回切換,每次切換都要重新啟動一次。在這類模式中,部分功能會停用,因此有些應用程式可能無法運作。如要返回實際工作環境模式,必須切換回 4KB 模式並鎖定系統啟動載入程式,裝置就會恢復原廠設定。裝置成功啟動 Android 系統後,請在開發人員選項中停用 OEM 解鎖設定。裝置資料將會抹除,檔案系統會在確認後變更為 ext4。完成此步驟之後,請再次返回啟用 16KB。"</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"清除所有資料"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"無法抹除資料分區並重新格式化為 ext4。"</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"如要啟用 16KB 模式,需解鎖系統啟動載入程式"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"必須解鎖系統啟動載入程式"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"必須先將這部裝置的系統啟動載入程式解鎖,才能使用 16KB 開發人員選項。此模式無法保證軟體完整性,且系統啟動載入程式解鎖時,手機上的資料可能面臨風險。啟用 16KB 模式時,所有使用者資料和設定都將抹除。系統啟動載入程式解鎖後,需要經過兩次重新啟動,才能啟用 16KB 選項。當你處於此模式時,可以在 4KB 和 16KB 模式之間來回切換,每次切換都要重新啟動一次。在這類模式中,部分功能會停用,因此有些應用程式可能無法運作。如要返回實際工作環境模式,必須切換回 4KB 模式,OEM/系統啟動載入程式就會鎖定裝置,裝置也將恢復原廠設定。請解鎖系統啟動載入程式,然後再試一次。操作方法如以下網址說明:<a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"目前使用 4KB 可變頁面模式"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"你目前處於可變頁面模式的 4KB 模式。此模式無法保證軟體完整性,且系統啟動載入程式解鎖時,手機上的資料可能面臨風險。在這類模式中,部分功能會停用,因此有些應用程式可能無法運作。如要再次進入實際工作環境模式,你必須鎖定裝置的系統啟動載入程式。輕觸即可閱讀更多內容。"</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"你目前處於可變頁面模式的 4KB 模式。此模式無法保證軟體完整性,且系統啟動載入程式解鎖時,手機上的資料可能面臨風險。在這類模式中,部分功能會停用,因此有些應用程式可能無法運作。如要再次進入實際工作環境模式,你必須鎖定裝置的系統啟動載入程式。這樣做會使裝置再次恢復原廠設定,並將裝置還原為實際工作環境設定。裝置成功啟動 Android 系統後,請在開發人員選項中停用 OEM 解鎖設定。如果裝置無法啟動 Android 或狀態不穩,可透過以下任一方式重新刷新裝置:使用最新原廠映像檔 (<a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>) 或 <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> 工具,依序選取「Wipe Device」、「Lock Bootloader」和「Force Flash all partitions」。"</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"目前使用 16KB 可變頁面模式"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"你目前處於可變頁面模式的 16KB 模式。此模式無法保證軟體完整性,且系統啟動載入程式解鎖時,手機上的資料可能面臨風險。在這類模式中,部分功能會停用,因此有些應用程式可能無法運作。如要再次進入實際工作環境模式,你必須切換回 4K 模式,然後鎖定裝置的系統啟動載入程式。輕觸即可閱讀更多內容。"</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"你目前處於可變頁面模式的 16KB 模式。此模式無法保證軟體完整性,且系統啟動載入程式解鎖時,手機上的資料可能面臨風險。在這類模式中,部分功能會停用,因此有些應用程式可能無法運作。如要再次進入實際工作環境模式,你必須切換回 4K 模式,然後鎖定裝置的系統啟動載入程式。這樣做會使裝置再次恢復原廠設定,並將裝置還原為實際工作環境設定。裝置成功啟動 Android 系統後,請在開發人員選項中停用 OEM 解鎖設定。如果裝置無法啟動 Android 或狀態不穩,可透過以下任一方式重新刷新裝置:使用最新原廠映像檔 (<a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>) 或 <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> 工具,依序選取「Wipe Device」、「Lock Bootloader」和「Force Flash all partitions」。"</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"你目前處於可變頁面模式的 16KB 模式。此模式無法保證軟體完整性,且系統啟動載入程式解鎖時,手機上的資料可能會有風險。在這類模式中,部分功能會停用,因此有些應用程式可能無法運作。如要再次進入實際工作環境模式,必須切換回 4KB 模式,然後鎖定裝置的系統啟動載入程式。輕觸即可閱讀完整內容。"</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"你目前處於可變頁面模式的 16KB 模式。此模式無法保證軟體完整性,且系統啟動載入程式解鎖時,手機上的資料可能會有風險。在這類模式中,部分功能會停用,因此有些應用程式可能無法運作。如要再次進入實際工作環境模式,必須切換回 4KB 模式,然後鎖定裝置的系統啟動載入程式。這樣做會使裝置再次恢復原廠設定,並還原為實際工作環境設定。裝置成功啟動 Android 系統後,請停用「開發人員選項」中的「OEM 解鎖」設定。如果裝置無法啟動 Android 或狀態不穩,可透過以下任一方式重新刷新裝置:使用最新原廠映像檔 (<a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>),或前往 <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> 使用工具,依序選取「Wipe Device」、「Lock Bootloader」和「Force Flash all partitions」。"</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"16KB 可變頁面模式"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"閱讀完整內容"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"錯誤報告處理常式"</string>
@@ -5007,7 +5071,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"使用應用程式固定功能"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"使用開發人員選項"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"使用列印服務"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"允許多位使用者"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"允許, 多位, 使用者, 許可, 數位"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"多位, 使用者, 個人資料, 人, 帳戶, 切換, 多人"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"使用無線偵錯功能"</string>
@@ -5121,12 +5186,13 @@
<string name="dream_setup_description" msgid="7508547154038580296">"選擇平板電腦插入座架時螢幕上要顯示的內容。請注意,如果裝置使用螢幕保護程式,可能會比較耗電。"</string>
<string name="customize_button_title" msgid="1110284655990203359">"自訂"</string>
<string name="customize_button_description" msgid="7440248477266126231">"自訂「<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>」"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"必須重新啟動才能啟用任意形式的支援。"</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"必須重新啟動才能在次要螢幕上強制執行桌面模式。"</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"必須重新啟動,才能啟用舊版自由形式視窗支援功能。"</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"必須重新啟動,才能變更自由形式視窗支援功能。"</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"必須重新啟動,才能強制在第二個螢幕上使用自由形式視窗功能。"</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"立即重新啟動"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"稍後重新啟動"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"空間音訊"</string>
- <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"相容媒體裝置可提供更有臨場感的音效"</string>
+ <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"相容媒體裝置音效更具臨場感"</string>
<string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"頭部追蹤"</string>
<string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"音訊會隨著你轉動頭部而變化,因此聽起來更自然"</string>
<string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"同步處理手機的權限"</string>
@@ -5351,4 +5417,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"聆聽串流"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"使用「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」掃描音訊串流 QR code 即可聆聽"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"分享期間無法編輯密碼。如要變更密碼,請先關閉音訊分享功能。"</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values-zu/arrays.xml b/res/values-zu/arrays.xml
index f5b168f..85fd081 100644
--- a/res/values-zu/arrays.xml
+++ b/res/values-zu/arrays.xml
@@ -498,13 +498,17 @@
<!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
<!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
<!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:0 (6386593780953863398) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:1 (4152450357280759894) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:2 (7096549258219399423) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:3 (2760716776980432977) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:4 (601734478369121764) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:5 (6243809315432780521) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:6 (4913577903148415331) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:7 (3653377604690057780) -->
- <!-- no translation found for zen_mode_icon_options_descriptions:8 (3843711267408385410) -->
+ <string-array name="zen_mode_icon_options_descriptions">
+ <item msgid="6386593780953863398">"Isikhathi sokulala"</item>
+ <item msgid="4152450357280759894">"Ukushayela"</item>
+ <item msgid="7096549258219399423">"Okugxilile"</item>
+ <item msgid="2760716776980432977">"Kuphethwe"</item>
+ <item msgid="601734478369121764">"Inkanyezi"</item>
+ <item msgid="6243809315432780521">"Ikhalenda"</item>
+ <item msgid="4913577903148415331">"Isikhathi"</item>
+ <item msgid="3653377604690057780">"Itiyetha"</item>
+ <item msgid="3843711267408385410">"Imbali"</item>
+ </string-array>
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 1ff9fb0..0845161 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -77,6 +77,7 @@
<string name="bluetooth_hearing_device_settings_title" msgid="6060072560486755057">"Amasethingi ensizakuzwa"</string>
<string name="bluetooth_hearing_device_settings_summary" msgid="3822646075744075158">"Isinqamuleli, ukuhambisana kwensiza yokuzwa"</string>
<string name="bluetooth_hearing_aids_presets" msgid="4615094985857156388">"Ukusetha ngaphambilini"</string>
+ <string name="bluetooth_hearing_aids_presets_empty_list_message" msgid="4240241268432643259">"Akukho ukusethwa ngaphambilini okuhlelwe i-audiologist yakho"</string>
<string name="bluetooth_hearing_aids_presets_error" msgid="2095249829735188484">"Ayikwazanga ukubuyekeza ukusetha ngaphambilini"</string>
<string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"Okukhishwayo komsindo"</string>
<string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"Mayelana nokuphumayo komsindo"</string>
@@ -410,6 +411,7 @@
<string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Ubuso ne-<xliff:g id="WATCH">%s</xliff:g> zingeziwe"</string>
<string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Ubuso, isigxivizo somunwe, ne-<xliff:g id="WATCH">%s</xliff:g> kungeziwe"</string>
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Ubuso, izigxivizo zomunwe, ne-<xliff:g id="WATCH">%s</xliff:g> kungeziwe"</string>
+ <string name="mandatory_biometrics_prompt_description" msgid="5461737411954922392">"Lokhu kuyadingeka njengoba Ukuhlola Ubuwena kuvuliwe"</string>
<string name="security_settings_remoteauth_preference_title" msgid="8319680328086089533">"Ukuvula Isiqinisekisi Serimothi"</string>
<string name="security_settings_remoteauth_preference_summary" msgid="1507004469316635196">"Iwashi lifakiwe"</string>
<string name="security_settings_remoteauth_enroll_introduction_title" msgid="2151004795778999671">"Setha iwashi lakho"</string>
@@ -437,7 +439,7 @@
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Funda kabanzi mayelana Nokuvula Iwashi"</string>
<string name="security_settings_remoteauth_settings_register_new_authenticator" msgid="9191331738306527887">"Faka iwashi"</string>
<string name="security_settings_remoteauth_settings_remove_device" msgid="2436226120578851282">"Susa iwashi"</string>
- <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Isigxivizo somunwe Nokuvula Ngobuso"</string>
+ <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Ukuvula ngobuso nangesigxivizo somunwe"</string>
<string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ukuvula Ngobuso Nangesigxivizo Somunwe emsebenzini"</string>
<string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Ukusetha kuyadingeka"</string>
<string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Ubuso nezigxivizo zeminwe kungeziwe"</string>
@@ -614,10 +616,8 @@
<string name="private_space_install_apps_text" msgid="8072027796190028830"><b>"Faka ama-app"</b>\n"Faka ama-app ofuna ukuwagcina ayimfihlo esikhaleni sakho"</string>
<string name="private_space_keep_in_mind_text" msgid="7721081172657563800">"Khumbula"</string>
<string name="private_space_apps_stopped_text" msgid="4034574118911250169"><b>"Ama-app ayama uma ukhiya isikhala sakho"</b>\n"Uma ukhiya isikhala sakho, ama-app asesikhaleni sakho ayamiswa futhi ngeke ukwazi ukuthola izaziso ezivela kuwo"</string>
- <!-- no translation found for private_space_apps_permission_text (4416201648436201393) -->
- <skip />
- <!-- no translation found for private_space_settings_footer_text (3742468470394835356) -->
- <skip />
+ <string name="private_space_apps_permission_text" msgid="4416201648436201393">"Izindawo zangasese azifanele ama-app adinga ukusebenza ngemuva noma ukuthumela izaziso ezibucayi, njengama-app ezokwelapha. Lokhu kungenxa yokuthi izaziso nomsebenzi wangemuva kuyamiswa uma isikhala sakho sikhiyiwe.\n\nAma-app asendaweni yakho engasese ngeke avele kumphathi wemvume, edeshibhodini yobumfihlo, namanye amasethingi uma indawo yakho engasese ikhiyiwe.\n\nIndawo yakho engasese ayikwazi ukuyiswa edivayisini entsha. Uzodinga ukumisa esinye isikhala esigodliwe uma ufuna ukusisebenzisa kwenye idivayisi.\n\nNoma ngubani oxhuma idivayisi yakho ekhompyutheni noma ofaka ama-app ayingozi edivayisini yakho angakwazi ukufinyelela endaweni yakho engasese."</string>
+ <string name="private_space_settings_footer_text" msgid="3742468470394835356">"Izindawo zangasese azifanele ama-app adinga ukusebenza ngemuva noma ukuthumela izaziso ezibucayi, njengama-app ezokwelapha. Lokhu kungenxa yokuthi izaziso nomsebenzi wangemuva kuyamiswa uma isikhala sakho sikhiyiwe.\n\nAma-app asendaweni yakho yangasese ngeke avele kumphathi wemvume, kudeshibhodi yobumfihlo, namanye amasethingi uma indawo yangasese ikhiyiwe.\n\nIndawo yakho engasese ayikwazi ukubuyiselwa edivayisini entsha. Kuzomele usethe esinye isikhala uma ufuna ukusisebenzisa kwenye idivayisi.\n\nNoma ngubani oxhuma idivayisi yakho ekhompyutheni noma ofaka ama-app anonya edivayisini yakho angakwazi ukufinyelela endaweni yakho engasese."</string>
<string name="private_space_learn_more_text" msgid="5314198983263277586">"Funda kabanzi mayelana nendawo engasese"</string>
<string name="private_space_few_moments_text" msgid="7166883272914424011">"Lokhu kuzothatha izikhathi ezimbalwa"</string>
<string name="private_space_setting_up_text" msgid="8458035555212009528">"Isetha isikhala esigodliwe…"</string>
@@ -851,6 +851,36 @@
<string name="nfc_reboot_dialog_title" msgid="2033983438635768169">"Qalisa kabusha idivayisi?"</string>
<string name="nfc_reboot_dialog_message" msgid="4929353168157966992">"Ukungena kwe-NFC okuningiliziwe kuhloselwe izinjongo zokuthuthukiswa kuphela. Idatha ye-NFC eyengeziwe ifakwe phakathi kwimibiko yeziphazamisi, engase ibe nolwazi olugodliwe. Qala kabusha idivayisi ukuze ushintshe le sethingi."</string>
<string name="nfc_reboot_dialog_confirm" msgid="4769763632008584567">"Qala kabusha"</string>
+ <!-- no translation found for keywords_external_display (4181375057920134909) -->
+ <skip />
+ <!-- no translation found for external_display_on (2560104443500154333) -->
+ <skip />
+ <!-- no translation found for external_display_off (5634413756025351374) -->
+ <skip />
+ <!-- no translation found for external_display_settings_title (6256884595821605779) -->
+ <skip />
+ <!-- no translation found for external_display_use_title (8198257340836261386) -->
+ <skip />
+ <!-- no translation found for external_display_resolution_settings_title (2446784716488289268) -->
+ <skip />
+ <!-- no translation found for external_display_not_found (1912355133386555798) -->
+ <skip />
+ <!-- no translation found for external_display_rotation (7160062306817490204) -->
+ <skip />
+ <!-- no translation found for external_display_standard_rotation (545969032327487219) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_90 (7371530414227542947) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_180 (6469137724447819841) -->
+ <skip />
+ <!-- no translation found for external_display_rotation_270 (7819322302457740514) -->
+ <skip />
+ <!-- no translation found for external_display_change_resolution_footer_title (9024291681663573443) -->
+ <skip />
+ <!-- no translation found for external_display_not_found_footer_title (8882902921634316363) -->
+ <skip />
+ <!-- no translation found for external_display_more_options_title (1222751990705118774) -->
+ <skip />
<string name="wifi_display_settings_title" msgid="6451625615274960175">"Abalingisi"</string>
<string name="keywords_wifi_display_settings" msgid="5753883229564422679">"isibuko"</string>
<string name="wifi_display_enable_menu_item" msgid="7391841780777318134">"Nika amandla ukubukeka okungenantambo "</string>
@@ -1192,6 +1222,7 @@
<string name="color_mode_option_automatic" msgid="2281217686509980870">"Okungaguqula"</string>
<string name="brightness" msgid="6216871641021779698">"Izinga lokukhanya"</string>
<string name="auto_brightness_title" msgid="4239324728760986697">"Ukukhanya okuguqukayo"</string>
+ <string name="auto_brightness_content_description_title" msgid="237734599617077375">"Mayelana nokukhanya okuguqukayo"</string>
<string name="auto_brightness_description" msgid="6807117118142381193">"Ukukhanya kwesikrini sakho kuzolungiswa ngokuzenzakalela kumvelo yakho nakumisebenzi. Ungahambisa isilayida ngesandla ukuze usize ukukhanya okushintshayo kufunde okuncamelayo."</string>
<string name="auto_brightness_summary_on" msgid="2748088951224387004">"Vuliwe"</string>
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Kuvaliwe"</string>
@@ -1494,7 +1525,7 @@
<string name="reset_mobile_network_settings_title" msgid="5616713931258506842">"Setha kabusha Amasethingi Enethiwekhi Yeselula"</string>
<string name="reset_mobile_network_settings_desc" msgid="7292636387692165727">"Lokhu kuzosetha kabusha wonke amasethingi enethiwekhi yeselula"</string>
<string name="reset_mobile_network_settings_confirm_title" msgid="7510965634669511241">"Setha kabusha Amasethingi Enethiwekhi Yeselula?"</string>
- <string name="reset_bluetooth_wifi_title" msgid="4113071322344697317">"Setha kabusha i-Bluetooth ne-Wi-Fi"</string>
+ <string name="reset_bluetooth_wifi_title" msgid="4113071322344697317">"Setha kabusha iBluetooth ne-Wi-Fi"</string>
<string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Lokhu kuzosetha kabusha yonke i-Wi-Fi namasethingi e-Bluetooth. Awukwazi ukuhlehlisa lesi senzo."</string>
<string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Setha kabusha"</string>
<string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"I-Bluetooth ne-Wi-Fi zisethwe kabusha"</string>
@@ -1898,8 +1929,6 @@
<string name="keyboard_options_category" msgid="8040137073401152608">"Ongakukhetha"</string>
<string name="keyboard_a11y_category" msgid="8230758278046841469">"Ukufinyeleleka"</string>
<string name="physical_keyboard_title" msgid="3328134097512350958">"Ikhibhodi ephathekayo"</string>
- <string name="show_ime" msgid="4334255501724746849">"Sebenzisa ikhibhodi ekuskrini"</string>
- <string name="show_ime_summary" msgid="7293345791727205975">"Yigcine kusikrini ngenkathi kusebenza ikhibhodi ephathekayo"</string>
<string name="bounce_keys" msgid="7419450970351743904">"Okhiye bokubuyisela emuva"</string>
<string name="bounce_keys_summary" msgid="7347050868868080302">"Ikhibhodi iziba ukuchofozwa okusheshayo ngokuphindaphindiwe kwenkinobho efanayo phakathi nenkathi engu-<xliff:g id="BOUNCE_KEYS_THRESHOLD">%1$d</xliff:g> ms"</string>
<string name="slow_keys" msgid="2891452895499690837">"Okhiye abahamba kancane"</string>
@@ -1973,6 +2002,12 @@
<string name="user_selected_keyboard_layout_label" msgid="154742505924555156">"Umsebenzisi ukhethiwe: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
<string name="speech_category_title" msgid="5995161659186229742">"Inkulumo"</string>
<string name="pointer_speed" msgid="7398649279282675718">"Ijubane lesikhombi"</string>
+ <!-- no translation found for pointer_scale (4941564570571663964) -->
+ <skip />
+ <!-- no translation found for pointer_scale_decrease_content_description (4479646756230008068) -->
+ <skip />
+ <!-- no translation found for pointer_scale_increase_content_description (1049632123702664450) -->
+ <skip />
<string name="game_controller_settings_category" msgid="8557472715034961918">"Isilawuli somdlalo"</string>
<string name="vibrate_input_devices" msgid="5192591087864449142">"Qondisa kabusha ukudlidliza"</string>
<string name="vibrate_input_devices_summary" msgid="8791680891376689823">"Thumela ukudlidliza kwesilawuli segeyimu uma kuxhunyiwe"</string>
@@ -2095,7 +2130,8 @@
<string name="accessibility_magnification_triple_tap_warning_positive_button" msgid="8712304035901450010">"Qhubeka noma kunjalo"</string>
<string name="accessibility_magnification_triple_tap_warning_negative_button" msgid="2028849736366584733">"Khansela"</string>
<string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Izilungiselelo zokukhuliswa"</string>
- <string name="accessibility_magnification_one_finger_panning_title" msgid="4503949739883092989">"I-panning yomunwe owodwa"</string>
+ <string name="accessibility_magnification_one_finger_panning_title" msgid="1338811559457209339">"Hambisa imagnifier ngomunwe ongu-1"</string>
+ <string name="accessibility_magnification_one_finger_panning_summary" msgid="1861473044337453019">"Hudula umunwe ongu-1 ukuze uhambe esikrinini"</string>
<string name="accessibility_magnification_one_finger_panning_summary_on" msgid="9133125894310777539">"Hambisa indawo yokukhuliswa ngokuhudula umunwe owodwa."</string>
<string name="accessibility_magnification_one_finger_panning_summary_off" msgid="8979146350396559805">"Hambisa indawo yokukhuliswa ngokuhudula iminwe emibili."</string>
<string name="accessibility_magnification_one_finger_panning_summary_unavailable" msgid="4302567514781245318">"Ayitholakali ngenkathi ikhulisa kuphela ingxenye yesikrini"</string>
@@ -2119,6 +2155,8 @@
<string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Thepha inkinobho ukuze usondeze"</string>
<string name="accessibility_screen_magnification_intro_text" msgid="3856180549393526339">"Sondeza isithombe ngokushesha ukuze wenze okuqukethwe kube kukhudlwana"</string>
<string name="accessibility_screen_magnification_summary" msgid="8267672508057326959">"<b>Ukuze usondeze isithombe:<br/><br/> {0,number,integer}. Sebenzisa isinqamuleli ukuqalisa ukukhuliswa</b><br/> {1,number,integer}. Thepha isikrini</b><br/> {2,number,integer}. Hudula iminwe emi-2 ukuze uhambe esikrinini</b><br/> {3,number,integer}. Ncinza ngeminwe emi-2 ukuze ulungise ukusondeza</b><br/> {4,number,integer}. Sebenzisa isinqamuleli ukuze umise ukukhuliswa<br/><br/> <b>Ukuze usondeze isithombe okwesikhashana:</b><br/> {0,number,integer}. Qiniseka ukuthi uhlobo lwakho lokukhulisa lusethwe esikrinini esigcwele</b><br/> {1,number,integer}. Sebenzisa isinqamuleli ukuqalisa ukukhuliswa</b><br/> {2,number,integer}. Thinta futhi ubambe noma kuphi esikrinini</b><br/> {3,number,integer}. Hudula umunwe ukuze uhambahambe esikrinini</b><br/> {4,number,integer}. Phakamisa umunwe ukuze umise ukukhuliswa"</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off" msgid="1779959623535122324">"<b>Ukuze usondeze isithombe:<br/><br/> {0,number,integer}. Sebenzisa isinqamuleli ukuqalisa ukukhuliswa</b><br/> {1,number,integer}. Thepha isikrini</b><br/> {2,number,integer}. Hudula iminwe engu-2 ukuze uhambahambe esikrinini</b><br/> {3,number,integer}. Ncinza ngeminwe engu-2 ukuze ulungise ukusondeza</b><br/> {4,number,integer}. Sebenzisa isinqamuleli ukuze umise ukukhuliswa<br/><br/> Ungaphinda usondeze isithombe okwesikhashana nokuningi."</string>
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on" msgid="7323930759240678965">"<b>Ukuze usondeze isithombe:<br/><br/> {0,number,integer}. Sebenzisa isinqamuleli ukuqalisa ukukhuliswa</b><br/> {1,number,integer}. Thepha isikrini</b><br/> {2,number,integer}. Hudula iminwe engu-1 noma 2 ukuze uhambahambe esikrinini<br/> {3,number,integer}. Ncinza ngeminwe engu-2 ukuze ulungise ukusondeza</b><br/> {4,number,integer}. Sebenzisa isinqamuleli ukuze umise ukukhuliswa<br/><br/> Ungaphinda usondeze isithombe okwesikhashana nokuningi."</string>
<string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Uma ukukhulisa kuvuliwe, ungasondeza isikrini sakho.\n\n"<b>"Ukuze usondeze"</b>", qala ukukhulisa, thepha noma yikuphi kusikrini.\n"<ul><li>"Hudula iminwe engu-2 noma ngaphezulu ukuze uskrole"</li>\n<li>"Ncinza iminwe engu-2 noma ngaphezulu ukuze ulungisa ukusondela"</li></ul>\n\n<b>"Ukuze usondeze okwesikhashana"</b>", qalisaukukhulisa, bese uthinte futhi ubambe noma yokuhi esikrinini.\n"<ul><li>"Hudula ukuze uhambahambe esikrinini"</li>\n<li>"Phakamisa umunwe ukuze uhlehlise isithombe"</li></ul>\n\n"Awukwazi ukusondeza kwikhibhodi noma kwibha yokuzula."</string>
<string name="accessibility_tutorial_pager" msgid="8461939455728454061">"Ikhasi elingu-<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> kwangu-<xliff:g id="NUM_PAGES">%2$d</xliff:g>"</string>
<string name="accessibility_tutorial_dialog_title_button" msgid="1924337057649065884">"Isinqamuleli senkinobho yokufinyeleleka"</string>
@@ -3327,12 +3365,29 @@
<!-- no translation found for zen_modes_add_mode (4806287336036228772) -->
<skip />
<string name="zen_mode_settings_summary" msgid="6040862775514495191">"Yaziswa kuphela abantu ababalulekile nezinhlelo zokusebenza"</string>
+ <string name="zen_mode_select_schedule" msgid="5135520719771212697">"Khetha uhlobo lokwenza kusebenze"</string>
+ <string name="zen_mode_select_schedule_time" msgid="1761728920617757652">"Isikhathi"</string>
+ <string name="zen_mode_select_schedule_time_example" msgid="3071816060919446355">"Isb. \"9:30 – 5:00 PM\""</string>
+ <string name="zen_mode_select_schedule_calendar" msgid="4320676795917533667">"Ikhalenda"</string>
+ <string name="zen_mode_select_schedule_calendar_example" msgid="6549820995975678001">"Isb. \"Ikhalenda yomuntu siqu\""</string>
+ <!-- no translation found for zen_mode_active_text (5002406772481439437) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_needs_setup (389269759040103728) -->
+ <skip />
+ <!-- no translation found for zen_mode_disabled_by_user (138592173630683253) -->
+ <skip />
+ <string name="zen_mode_new_title" msgid="4934720193004330740">"Sungula imodi"</string>
+ <string name="zen_mode_new_option_custom" msgid="1060993879440003341">"Okumuntu ngamunye"</string>
<string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Khawulela ukuphazamisa"</string>
<string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Vula ukungaphazamisi"</string>
<string name="zen_mode_behavior_alarms_only" msgid="2956938533859578315">"Ama-alamu nemisindo yemidiya kungaphazamisa"</string>
<string name="zen_mode_automation_settings_title" msgid="3709324184191870926">"Amashejuli"</string>
<string name="zen_mode_delete_automatic_rules" msgid="5020468289267191765">"Susa amashejuli"</string>
<string name="zen_mode_schedule_delete" msgid="5383420576833765114">"Susa"</string>
+ <!-- no translation found for zen_mode_menu_delete_mode (3190031534736428573) -->
+ <skip />
+ <!-- no translation found for zen_mode_delete_mode_confirmation (7594340592051947392) -->
+ <skip />
<string name="zen_mode_rule_name_edit" msgid="1053237022416700481">"Hlela"</string>
<string name="zen_mode_automation_settings_page_title" msgid="6217433860514433311">"Amashejuli"</string>
<string name="zen_mode_automatic_rule_settings_page_title" msgid="5264835276518295033">"Ishejuli"</string>
@@ -3340,12 +3395,10 @@
<string name="zen_mode_set_calendar_title" msgid="7216665046452644450">"Engeza ikhalenda"</string>
<string name="zen_mode_set_calendar_link" msgid="5694504696975898068">"Sebenzisa ikhalenda yakho"</string>
<string name="zen_mode_set_calendar_category_title" msgid="4860286061420133360">"Shejula"</string>
- <!-- no translation found for zen_mode_set_schedule_title (8023100831320026233) -->
- <skip />
- <!-- no translation found for zen_mode_set_schedule_link (2534032127923435737) -->
- <skip />
- <!-- no translation found for zen_mode_schedule_duration (299332195675875111) -->
- <skip />
+ <string name="zen_mode_set_schedule_title" msgid="8023100831320026233">"Setha ishejuli"</string>
+ <string name="zen_mode_set_schedule_link" msgid="2534032127923435737">"Shejula"</string>
+ <string name="zen_mode_schedule_duration" msgid="299332195675875111">"Ihora elingu-<xliff:g id="HOURS">%1$d</xliff:g>, nemizuzu engu-<xliff:g id="MINUTES">%2$d</xliff:g>"</string>
+ <string name="zen_mode_configuration_link_title" msgid="4718358055721023371">"Vula ngokuzenzekelayo"</string>
<string name="zen_mode_schedule_category_title" msgid="1381879916197350988">"Ishejuli"</string>
<string name="zen_mode_automation_suggestion_title" msgid="7776129050500707960">"Thulisa ifoni ngezinye izikhathi"</string>
<string name="zen_mode_automation_suggestion_summary" msgid="1946750790084170826">"Setha imithetho yokuthi ungaphazamisi"</string>
@@ -3355,7 +3408,7 @@
<string name="zen_mode_settings_category" msgid="3794956668816783447">"Vumela iziphazamiso ezenza umsindo"</string>
<string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Vimbela ukuphazamiseka okubonakalayo"</string>
<string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Vumela amasignali okubuka"</string>
- <string name="mode_interruption_filter_title" msgid="6657431939996264417">"Izaziso ezingafinyelela kuwe"</string>
+ <string name="mode_interruption_filter_title" msgid="3343846700214702347">"Hlala ugxilile"</string>
<string name="mode_device_effects_title" msgid="5857008332618433744">"Izenzo ezengeziwe"</string>
<string name="mode_display_settings_title" msgid="8132825978346535472">"Bonisa amasethingi"</string>
<string name="mode_display_options_section" msgid="5151597748243866532">"Okungakhethwa kukho kokubonisa"</string>
@@ -3372,6 +3425,8 @@
<string name="mode_dark_theme_title_secondary_list" msgid="4761262694149772845">"nika amandla itimu emnyama"</string>
<string name="mode_dark_theme_summary" msgid="8428887193785431898">"Shintsha i-OS nama-app ukuze uncamele umbhalo okhanyayo kungemuva elimnyama, okungenzeka kube lula emehlweni futhi kunikeza ukulondoloza okubalulekile kwebhethri kwamanye amadivayisi"</string>
<string name="mode_display_settings_summary" msgid="5929234706883482380">"{count,plural,offset:2 =0{Azikho izinguquko zokubonisa}=1{I-{effect_1}}=2{I-{effect_1} ne-{effect_2}}=3{I-{effect_1}, i-{effect_2}, ne-{effect_3}}one{I-{effect_1}, i-{effect_2}, nokungu-# ngaphezulu}other{I-{effect_1}, i-{effect_2}, nokungu-# ngaphezulu}}"</string>
+ <string name="mode_notification_filter_title" msgid="443728483176031977">"Iziphazamiso zokuhlunga"</string>
+ <string name="mode_no_notification_filter" msgid="7119188047783404890">"Azikho iziphazamiso ezihlungiwe"</string>
<string name="zen_mode_restrict_notifications_title" msgid="4926944083757096458">"Bonisa okungakhethwa kukho kwezaziso ezihlungiwe"</string>
<string name="zen_mode_restrict_notifications_category" msgid="5870944770935394566">"Uma Ukungaphazamisi kuvuliwe"</string>
<string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Awukho umsindo kusukela kuzaziso"</string>
@@ -3487,6 +3542,7 @@
<string name="notification_history_open_notification" msgid="2655071846911258371">"vula isaziso"</string>
<string name="snooze_options_title" msgid="2109795569568344617">"Vumela ukusnuza kwesaziso"</string>
<string name="notification_badging_title" msgid="5469616894819568917">"Ichashazi lesaziso kusithonjana sohlelo lokusebenza"</string>
+ <string name="notification_bundles" msgid="3614044525822580826">"Iqoqo lezaziso"</string>
<string name="notification_bubbles_title" msgid="5681506665322329301">"Amabhamuza"</string>
<string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Amabhamuza"</string>
<string name="bubbles_conversation_toggle_title" msgid="5225039214083311316">"Yenza ibhamuza le ngxoxo"</string>
@@ -3668,6 +3724,7 @@
<string name="notification_channels" msgid="1502969522886493799">"Izigaba"</string>
<string name="notification_channels_other" msgid="18159805343647908">"Okunye"</string>
<string name="no_channels" msgid="4716199078612071915">"le-app ayizange ithumele izasiso"</string>
+ <string name="no_recent_channels" msgid="5068574296267584043">"Bonisa izigaba ezingasetshenzisiwe"</string>
<string name="app_settings_link" msgid="6725453466705333311">"Amasethingi angeziwe ku-app"</string>
<string name="show_unused_channels" msgid="4956292847964439078">"Bonisa izigaba ezingasetshenzisiwe"</string>
<string name="hide_unused_channels" msgid="2019739275175707170">"Fihla izigaba ezingasetshenzisiwe"</string>
@@ -3779,6 +3836,8 @@
<string name="zen_mode_apps_all_apps" msgid="705700582778445484">"Konke"</string>
<!-- no translation found for zen_mode_apps_subtext (1764211974662012877) -->
<skip />
+ <!-- no translation found for zen_mode_apps_calculating (5420121396943539286) -->
+ <skip />
<string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Vumela izinhlelo zokusebenza ukubhala ngaphezulu"</string>
<string name="zen_mode_bypassing_apps_header" msgid="60083006963906906">"Ama-app angaphazamisa"</string>
<string name="zen_mode_bypassing_apps_add_header" msgid="3201829605075172536">"Khetha ama-app amaningi"</string>
@@ -3815,12 +3874,9 @@
<string name="zen_mode_summary_alarms_only_by_hour" msgid="7400910210950788163">"{count,plural, =1{Shintshela kuma-alamu ihora elilodwa kuze kube {time}}one{Shintshela kuma-alamu kuphela amahora angu-# (kuze kube {time})}other{Shintshela kuma-alamu kuphela amahora angu-# (kuze kube {time})}}"</string>
<string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"Guqulela kuma-alamu kuphela kuze kube ngumhla ka-<xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
<string name="zen_mode_summary_always" msgid="722093064250082317">"Guqulela kuhlala uphazamisa"</string>
- <!-- no translation found for zen_mode_action_change_name (766639614789907016) -->
- <skip />
- <!-- no translation found for zen_mode_action_change_icon (6192187791750301778) -->
- <skip />
- <!-- no translation found for zen_mode_icon_picker_title (6845490379143557472) -->
- <skip />
+ <string name="zen_mode_action_change_name" msgid="766639614789907016">"Qamba kabusha"</string>
+ <string name="zen_mode_action_change_icon" msgid="6192187791750301778">"Shintsha isithonjana"</string>
+ <string name="zen_mode_icon_picker_title" msgid="6845490379143557472">"Shintsha isithonjana"</string>
<string name="warning_button_text" msgid="1274234338874005639">"Isexwayiso"</string>
<string name="suggestion_button_close" msgid="6865170855573283759">"Vala"</string>
<string name="device_feedback" msgid="5351614458411688608">"Thumela impendulo mayelana nale divayisi"</string>
@@ -4806,8 +4862,10 @@
<string name="bluetooth_middle_name" msgid="3909371955137442319">"Isimo"</string>
<string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Ibhethri"</string>
<string name="settings_panel_title" msgid="346363079938069215">"Iphaneli yezilungiselelo"</string>
- <string name="force_desktop_mode" msgid="1336913605091334238">"Phoqelela imodi yedeskithophu"</string>
- <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Phoqelela imodi yedeskithophu yokuhlola esibukisweni sesibili"</string>
+ <string name="enable_desktop_mode" msgid="5644818402534562302">"Nika amandla amawindi efreeform"</string>
+ <string name="enable_desktop_mode_summary" msgid="7606643229185242771">"Nika amandla usekelo lwamawindi efreeform."</string>
+ <string name="force_desktop_mode" msgid="8292039809783522466">"Nika amandla iwindi lefreeform esibonisini sesibili"</string>
+ <string name="force_desktop_mode_summary" msgid="6534513232678335875">"Nika amandla amawindi kuphela esibonisini sesibili."</string>
<string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Nika amandla okungashintsheki usayizi emawindini amaningi"</string>
<string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Ivumela izinhlelo zokusebenza ezingashintsheki usayizi ukuthi zibe emawindini amaningi"</string>
<string name="hwui_force_dark_title" msgid="4256904905631994219">"Bhala ngaphezulu isici sokuphoqelela okumnyama"</string>
@@ -4875,14 +4933,14 @@
<string name="confirm_format_ext4_text" msgid="7940372488624630214">"Ukuhlukaniswa kwedatha yale divayisi kudinga ukuguqulelwa ku-ext4 ngaphambi kokusebenzisa okungakhethwa kukho konjiniyela kuka-16KB. Ubuqotho besofthiwe abukwazi ukuqinisekiswa kule modi, futhi noma iyiphi idatha egcinwe efonwini ngenkathi i-bootloader ivuliwe ingaba sengozini. Ukwenza kusebenze okukhethwa kukho kuka-16KB kuzodinga ukuqalisa okukodwa ngemva kwalokhu. Uma ukule modi, ungashintsha uye emuva naphambili phakathi kwemodi ka-4KB ne-16KB ngokuqalisa okukodwa. Ezinye izakhi zizokhutshazwa kulawa mamodi, ngakho-ke amanye ama-app angase angasebenzi. Ukuze ubuyisele idivayisi kumodi yokukhiqiza, uzodinga ukushintshela kumodi ye-4KB bese ukhiya i-bootloader, esetha idivayisi kabusha njengasekuqaleni. Ngemuva kokuthi idivayisi iqale ngempumelelo ku-Android, khubaza ukuvula kwe-OEM Kokungakhethwa kukho konjiniyela. Idivayisi izosulwa futhi isistimu yefayela izoshintshelwa ku-ext4 ngemva kokuqinisekisa. Ngemva kokuqeda lokhu, sicela ubuye ukuze unike amandla u-16KB futhi."</string>
<string name="confirm_ext4_button_text" msgid="6045501984773738407">"Sula yonke idatha"</string>
<string name="format_ext4_failure_toast" msgid="8059453995800471549">"Yehlulekile ukufometha kabusha nokusula ukuhlukaniswa kwedatha ku-ext4."</string>
- <string name="confirm_oem_unlock_for_16k_title" msgid="5374451262432025419">"Kudingeka Ukuvula I-Bootloader Kumodi ka-16KB"</string>
+ <string name="confirm_oem_unlock_for_16k_title" msgid="6062041826568112078">"Kudingeka Ukuvula IBootloader"</string>
<string name="confirm_oem_unlock_for_16k_text" msgid="3583604865119937957">"Le divayisi idinga ukuthi ibootloader ivulwe ngaphambi kokusebenzisa okungakhethwa kukho konjiniyela kuka-16KB. Ubuqotho besofthiwe abukwazi ukuqinisekiswa kule modi, futhi noma iyiphi idatha egcinwe efonwini ngenkathi ibootloader ivuliwe ingaba sengozini. Yonke idatha yomsebenzisi namasethingi azosulwa uma wenza kusebenze imodi ka-16KB. Uma ibootloader isivuliwe, ukuvula okukhethwa kukho kuka-16KB kuzodinga ukuqalisa okubili. Uma ukule modi, ungashintsha uye emuva naphambili phakathi kwemodi ka-4KB ne-16KB ngokuqalisa okukodwa. Ezinye izakhi zizokhutshazwa kulawa mamodi, ngakho-ke amanye ama-app angase angasebenzi. Ukuze ubuyisele idivayisi kumodi yokukhiqiza, uzodinga ukushintshela kumodi ka-4KB bese kuba ukukhiya i-OEM/ibootloader (esetha kabusha njengasekuqaleni) idivayisi. Sicela uvule ibootloader bese uyazama futhi. Ungabona imiyalelo yokuthi ungakwenza kanjani lokhu kokuthi <a href=\"https://source.android.com/docs/core/architecture/bootloader/locking_unlocking\">https://source.android.com/docs/core/architecture/bootloader/locking_unlocking</a>"</string>
<string name="page_agnostic_4k_pages_title" msgid="1184703958249093215">"Ukusebenzisa i-4KB page-agnostic"</string>
<string name="page_agnostic_4k_pages_text_short" msgid="2894243902906666242">"Ukumodi ka-16KB yemodi ye-page-agnostic. Ubuqotho besofthiwe abukwazi ukuqinisekiswa kule modi, futhi noma iyiphi idatha egcinwe efonwini ngenkathi i-bootloader ivuliwe ingaba sengozini. Ezinye izakhi zizokhutshazwa kulawa mamodi, ngakho-ke amanye ama-app angase angasebenzi. Ukuze uphinde ufake imodi yokukhiqiza, kufanele ukhiye i-bootloader yedivayisi. Thepha ukuze ufunde kabanzi."</string>
<string name="page_agnostic_4k_pages_text" msgid="8284806650260868833">"Ukumodi ka-16KB yemodi ye-page-agnostic. Ubuqotho besofthiwe abukwazi ukuqinisekiswa kule modi, futhi noma iyiphi idatha egcinwe efonwini ngenkathi i-bootloader ivuliwe ingaba sengozini. Ezinye izakhi zizokhutshazwa kulawa mamodi, ngakho-ke amanye ama-app angase angasebenzi. Ukuze uphinde ufake imodi yokukhiqiza, kufanele ukhiye i-bootloader yedivayisi. Lokhu kuzosetha kabusha njengasekuqaleni idivayisi futhi nokuyibuyisela kumasethingi okukhiqiza. Ngemuva kokuthi idivayisi iqale ngempumelelo ku-Android, khubaza ukuvula kwe-OEM Kokungakhethwa kukho konjiniyela. Uma idivayisi yehluleka ukuqalisa ku-Android noma ingazinzile, khanyisa kabusha idivayisi ngemifanekiso yefemu evela kokuthi <a href=\"https://developers.google.com/android/images\">https://developers .google.com/android/images</a> noma sebenzisa okuthi <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> bese ukhetha okuthi \'Sula Idivayisi\', \'Khiya I-Bootloader\' kanye nokuthi \'Phoqelela I-Flash ezingxenyeni zonke\'."</string>
<string name="page_agnostic_16k_pages_title" msgid="7762533464569818498">"Ukusebenzisa imodi ye-16KB page-agnostic"</string>
- <string name="page_agnostic_16k_pages_text_short" msgid="269039281591806585">"Ukumodi ka-16KB yemodi ye-page-agnostic. Ubuqotho besofthiwe abukwazi ukuqinisekiswa kule modi, futhi noma iyiphi idatha egcinwe efonwini ngenkathi i-bootloader ivuliwe ingaba sengozini. Ezinye izakhi zizokhutshazwa kulawa mamodi, ngakho-ke amanye ama-app angase angasebenzi. Ukuze uphinde ufake imodi yokukhiqiza, kufanele, ushintshele emuva kumodi ka-4K bese ukhiya i-bootloader yedivayisi. Thepha ukuze ufunde kabanzi."</string>
- <string name="page_agnostic_16k_pages_text" msgid="6208765386837706582">"Ukumodi ye-16KB page-agnostic. Ubuqotho besofthiwe abukwazi ukuqinisekiswa kule modi, futhi noma iyiphi idatha egcinwe efonini ngenkathi ibootloader ivuliwe ingaba sengozini. Ezinye izakhi zizokhutshazwa kulawa mamodi, ngakho-ke amanye ama-app angase angasebenzi. Ukuze uphinde ufake imodi yokukhiqiza, kufanele, ushintshele emuva kumodi ye4K bese ukhiya ibootloader yedivayisi. Lokhu kuzosetha kabusha njengasekuqaleni idivayisi futhi nokuyibuyisela kumasethingi okukhiqiza. Ngemuva kokuthi idivayisi iqale ngempumelelo ku-Android, khubaza ukuvula kwe-OEM Kokungakhethwa kukho konjiniyela. Uma idivayisi yehluleka ukuqalisa ku-Android noma ingazinzile, khanyisa kabusha idivayisi ngemifanekiso yefemu evela kokuthi <a href=\"https://developers.google.com/android/images\">https://developers .google.com/android/images</a> noma sebenzisa okuthi <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> bese ukhetha okuthi \'Sula Idivayisi\', \'Khiya IBootloader\' kanye nokuthi \'Phoqelela IFlash ezingxenyeni zonke\'."</string>
+ <string name="page_agnostic_16k_pages_text_short" msgid="3282018880292691631">"Uphakathi kwemodi engu-16KB yemodi yokusebenza emakhasini onke. Ubuqotho besofthiwe abukwazi ukuqinisekiswa kule modi, futhi noma iyiphi idatha egcinwe efonwinini ngenkathi ibootloader ivuliwe ingaba sengozini. Ezinye izakhi zizokhutshazwa kula mamodi, ngakho amanye ama-app angase angasebenzi. Ukuze uphinde ufake imodi yokukhiqiza, kufanele, ushintshele emuva kumodi engu-4KB bese ukhiya ibootloader yedivayisi. Thepha ukuze ufunde kabanzi."</string>
+ <string name="page_agnostic_16k_pages_text" msgid="2999817238546170627">"Uphakathi kwemodi engu-16KB yemodi yokusebenza emakhasini onke. Ubuqotho besofthiwe abukwazi ukuqinisekiswa kule modi, futhi noma iyiphi idatha egcinwe efonwinini ngenkathi ibootloader ivuliwe ingaba sengozini. Ezinye izakhi zizokhutshazwa kula mamodi, ngakho amanye ama-app angase angasebenzi. Ukuze uphinde ufake imodi yokukhiqiza, kufanele, ushintshele emuva kumodi engu-4KB bese ukhiya ibootloader yedivayisi. Lokhu kuzosetha kabusha njengasekuqaleni idivayisi kuyibuyisele kumasethingi okukhiqiza. Ngemva kokuthi idivayisi iqale ngempumelelo ku-Android, khubaza ukuvula kwe-OEM Kokungakhethwa kukho konjiniyela. Uma idivayisi yehluleka ukuqalisa ku-Android noma ingazinzile, khanyisa kabusha idivayisi ngemifanekiso yefemu evela kokuthi <a href=\"https://developers.google.com/android/images\">https://developers .google.com/android/images</a> noma usebenzise okuthi <a href=\"https://flash.android.com/back-to-public\">https://flash.android.com/back-to-public</a> bese ukhetha okuthi \'Sula Idivayisi\', \'Khiya IBootloader\' kanye nokuthi \'Phoqelela IFlash ezingxenyeni zonke\'."</string>
<string name="page_agnostic_notification_channel_name" msgid="1658444283036376361">"Imodi ye-Page-agnostic ka-16KB"</string>
<string name="page_agnostic_notification_action" msgid="2309805437430150456">"Funda kabanzi"</string>
<string name="bug_report_handler_title" msgid="713439959113250125">"Isibambi sombiko wesiphazamiso"</string>
@@ -5014,7 +5072,8 @@
<string name="app_pinning_main_switch_title" msgid="5465506660064032876">"Sebenzisa ukuphina i-app"</string>
<string name="developer_options_main_switch_title" msgid="1720074589554152501">"Sebenzisa izinkinobho zikanjiniyela"</string>
<string name="default_print_service_main_switch_title" msgid="4697133737128324036">"Sebenzisa isevisi yokuphrinta"</string>
- <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Vumela abasebenzisi abaningi"</string>
+ <!-- no translation found for multiple_users_main_switch_title (9158796544835843201) -->
+ <skip />
<string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"vumela, eziningi, umsebenzisi, vumela, eziningi"</string>
<string name="multiple_users_title_keywords" msgid="2395593167746225172">"okuningi, abasebenzisi, amaphrofayela, abantu, ama-akhawunti, shintsha, okuningi"</string>
<string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Sebenzisa ukususa ibhagi nge-Wi-Fi"</string>
@@ -5128,8 +5187,9 @@
<string name="dream_setup_description" msgid="7508547154038580296">"Khetha ozokubona esikrinini sakho uma ithebulethi yakho idokhiwe. Idivayisi yakho ingase isebenzise amandla engeziwe uma kusetshenziswa isilondolozi sesikrini."</string>
<string name="customize_button_title" msgid="1110284655990203359">"Enza ngendlela oyifisayo"</string>
<string name="customize_button_description" msgid="7440248477266126231">"Enza ngendlela oyifisayo <xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g>"</string>
- <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"Ukuqalisa kabusha kuyadingeka ukunika amandla usekelo lwefomu yamahhala."</string>
- <string name="reboot_dialog_force_desktop_mode" msgid="2021839270403432948">"Ukuqalisa kabusha kuyadingeka ukuphoqelela imodi yedeskithophu kuzibonisi zesibili."</string>
+ <string name="reboot_dialog_enable_freeform_support" msgid="5526979569538289810">"Kudingeka ukuqala kabusha ukuze unike amandla ifa lokweseka iwindi lefreeform."</string>
+ <string name="reboot_dialog_override_desktop_mode" msgid="1557714416232280288">"Kudingeka ukuqala kabusha ukuze ushintshe ukweseka iwindi lefreeform."</string>
+ <string name="reboot_dialog_force_desktop_mode" msgid="3647484086248450029">"Kudingeka ukuqala kabusha ukuze uphoqe iwindi lefreeform esibonisini sesibili."</string>
<string name="reboot_dialog_reboot_now" msgid="235616015988522355">"Qalisa manje"</string>
<string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Qalisa ngokuhamba kwesikhathi"</string>
<string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Umsindo Wokulalelwayo"</string>
@@ -5358,4 +5418,6 @@
<string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Lalela ukusakaza"</string>
<string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Skena ikhodi ye-QR yokusakaza komsindo ukuze ulalele nge-<xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"Ayikwazi ukuhlela iphasiwedi ngenkathi yabelana. Ukuze ushintshe iphasiwedi, qala uvale ukwabelana ngokuqoshiwe."</string>
+ <!-- no translation found for homepage_search (6759334912284663559) -->
+ <skip />
</resources>
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index adaea1b..4680936 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -1552,4 +1552,8 @@
<item>Theater</item>
<item>Flower</item>
</string-array>
+
+ <!-- Packages that will not show Display over other apps permission -->
+ <string-array name="display_over_apps_permission_change_exempt">
+ </string-array>
</resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 6d92526..b0de870 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -218,4 +218,7 @@
<!-- Switch bar disabled state color-->
<color name="switch_bar_state_disabled_color">#1F1F1F1F</color>
+
+ <!-- Battery ring indicator color in bluetooth device details -->
+ <color name="bluetooth_battery_ring_indicator_color">#9ED582</color>
</resources>
diff --git a/res/values/config.xml b/res/values/config.xml
index 4b638b2..065d28a 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -235,9 +235,6 @@
Can be overridden for specific product builds if the target device does not support it -->
<bool name="config_media_vibration_supported">true</bool>
- <!-- Whether to show Keyboard vibration settings in the vibration and haptics screen. -->
- <bool name="config_keyboard_vibration_supported">false</bool>
-
<!--
Whether or not the homepage should be powered by legacy suggestion (versus contextual cards)
Default to true as not all devices support contextual cards.
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index d972e13..8a96727 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -179,6 +179,10 @@
<dimen name="pointer_fill_style_circle_padding">8dp</dimen>
<dimen name="pointer_fill_style_shape_default_stroke">1dp</dimen>
<dimen name="pointer_fill_style_shape_hovered_stroke">3dp</dimen>
+ <dimen name="pointer_stroke_style_padding">8dp</dimen>
+ <dimen name="pointer_scale_padding">8dp</dimen>
+ <item name="pointer_scale_size_start" format="float" type="dimen">1.0</item>
+ <item name="pointer_scale_size_end" format="float" type="dimen">2.5</item>
<!-- RemoteAuth-->
<dimen name="remoteauth_fragment_padding_horizontal">40dp</dimen>
@@ -499,7 +503,9 @@
<dimen name="audio_streams_qrcode_preview_radius">30dp</dimen>
<!-- Zen Modes -->
+ <dimen name="zen_mode_icon_list_header_circle_diameter">90dp</dimen>
+ <dimen name="zen_mode_icon_list_header_icon_size">48dp</dimen>
<dimen name="zen_mode_icon_list_item_size">96dp</dimen>
- <dimen name="zen_mode_icon_list_circle_diameter">56dp</dimen>
- <dimen name="zen_mode_icon_list_icon_size">32dp</dimen>
+ <dimen name="zen_mode_icon_list_item_circle_diameter">56dp</dimen>
+ <dimen name="zen_mode_icon_list_item_icon_size">32dp</dimen>
</resources>
diff --git a/res/values/integers.xml b/res/values/integers.xml
index f62ccae..5427cdd 100644
--- a/res/values/integers.xml
+++ b/res/values/integers.xml
@@ -36,4 +36,8 @@
<integer name="enrollment_progress_minimum_time_display">0</integer>
<!-- The time (in millis) to wait to collect messages in fingerprint enrollment before displaying it. -->
<integer name="enrollment_collect_time">0</integer>
+
+ <!-- PointerIcon Settings -->
+ <integer name="pointer_scale_seek_bar_start">0</integer>
+ <integer name="pointer_scale_seek_bar_end">3</integer>
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index f92fd2a..3063f77 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -156,6 +156,8 @@
<string name="bluetooth_hearing_device_settings_summary">Shortcut, hearing aid compatibility</string>
<!-- Connected devices settings. Title for hearing aids presets. A preset is a set of hearing aid settings. User can apply different settings in different environments (e.g. Outdoor, Restaurant, Home) [CHAR LIMIT=60] [BACKUP_MESSAGE_ID=5429761844739722885] -->
<string name="bluetooth_hearing_aids_presets">Preset</string>
+ <!-- Connected devices settings. Summary of the preference when no preset info is obtained from the remote device [CHAR LIMIT=60] -->
+ <string name="bluetooth_hearing_aids_presets_empty_list_message">There are no presets programmed by your audiologist</string>
<!-- Message when selecting hearing aids presets failed. [CHAR LIMIT=NONE] -->
<string name="bluetooth_hearing_aids_presets_error">Couldn\u2019t update preset</string>
<!-- Connected devices settings. Title of the preference to show the entrance of the audio output page. It can change different types of audio are played on phone or other bluetooth devices. [CHAR LIMIT=35] -->
@@ -932,7 +934,8 @@
<string name="security_settings_fingerprint_single_face_watch_preference_summary">Face, fingerprint, and <xliff:g id="watch" example="Dani's Watch">%s</xliff:g> added</string>
<!-- Message showing that multiple fingerprints, face, and the current watch is set up. Shown for a menu item that launches fingerprint, face, and active unlock settings or enrollment. [CHAR LIMIT=80]-->
<string name="security_settings_fingerprint_multiple_face_watch_preference_summary">Face, fingerprints, and <xliff:g id="watch" example="Dani's Watch">%s</xliff:g> added</string>
-
+ <!-- Description for mandatory biometrics prompt-->
+ <string name="mandatory_biometrics_prompt_description">This is needed since Identity Check is on</string>
<!-- RemoteAuth unlock enrollment and settings --><skip />
<!-- Title shown for menu item that launches watch unlock settings. [CHAR LIMIT=40] -->
<string name ="security_settings_remoteauth_preference_title">Remote Authenticator Unlock</string>
@@ -995,7 +998,7 @@
<!-- Biometric settings --><skip />
<!-- Title shown for menu item that launches biometric settings. [CHAR LIMIT=66] -->
- <string name="security_settings_biometric_preference_title">Fingerprint & Face Unlock</string>
+ <string name="security_settings_biometric_preference_title">Face & Fingerprint Unlock</string>
<!-- Title shown for work menu item that launches biometric settings. [CHAR LIMIT=66] -->
<string name="security_settings_work_biometric_preference_title">Face & Fingerprint Unlock for work</string>
<!-- Message shown in summary field of biometric settings. [CHAR LIMIT=66] -->
@@ -1893,6 +1896,37 @@
<!-- Nfc developer settings: The confirm button of the popup dialog. [CHAR_LIMIT=60] -->
<string name="nfc_reboot_dialog_confirm">Restart</string>
+ <!-- External Display settings. The keywords for searching. [CHAR LIMIT=40] -->
+ <string name="keywords_external_display">mirror, external display, connected display, usb display, resolution, rotation</string>
+ <!-- External Display settings. When external display is enabled. [CHAR LIMIT=40] -->
+ <string name="external_display_on">On</string>
+ <!-- External Display settings. When external display is disabled. [CHAR LIMIT=40] -->
+ <string name="external_display_off">Off</string>
+ <!-- External Display settings. The title of the screen. [CHAR LIMIT=40] -->
+ <string name="external_display_settings_title">External Display</string>
+ <!-- External Display use. The title of the use preference. [CHAR LIMIT=40] -->
+ <string name="external_display_use_title">Use external display</string>
+ <!-- External Display resolution settings. The title of the screen. [CHAR LIMIT=40] -->
+ <string name="external_display_resolution_settings_title">Display resolution</string>
+ <!-- External Display settings. Text that appears when scanning for devices is finished and no nearby device was found [CHAR LIMIT=40]-->
+ <string name="external_display_not_found">External display is disconnected</string>
+ <!-- External Display settings. Rotation of the external display -->
+ <string name="external_display_rotation">Rotation</string>
+ <!-- External Display settings. Standard rotation of the external display -->
+ <string name="external_display_standard_rotation">Standard</string>
+ <!-- External Display settings. 90 rotation of the external display -->
+ <string name="external_display_rotation_90">90°</string>
+ <!-- External Display settings. 180 rotation of the external display -->
+ <string name="external_display_rotation_180">180°</string>
+ <!-- External Display settings. 180 rotation of the external display -->
+ <string name="external_display_rotation_270">270°</string>
+ <!-- External Display settings. Footer title -->
+ <string name="external_display_change_resolution_footer_title">Changing rotation or resolution may stop any apps that are currently running</string>
+ <!-- External Display settings. No Displays footer title -->
+ <string name="external_display_not_found_footer_title">Your device must be connected to an external display to mirror your screen</string>
+ <!-- External Display settings. More resolution options -->
+ <string name="external_display_more_options_title">More options</string>
+
<!-- Wifi Display settings. The title of the screen. [CHAR LIMIT=40] -->
<string name="wifi_display_settings_title">Cast</string>
<!-- Wifi Display settings. The keywords of the setting. [CHAR LIMIT=NONE] -->
@@ -2753,6 +2787,9 @@
<string name="brightness">Brightness level</string>
<!-- Sound & display settings screen, setting option name to enable adaptive brightness [CHAR LIMIT=30] -->
<string name="auto_brightness_title">Adaptive brightness</string>
+ <!-- Note: The content description title is only applied in adaptive brightness detailed page in setup wizard flow, to make the consistency with other accessibility suw pages. -->
+ <!-- ContentDescription title for adaptive brightness detailed page footer. [CHAR LIMIT=60] -->
+ <string name="auto_brightness_content_description_title">About adaptive brightness</string>
<!-- Description about the feature adaptive brightness -->
<string name="auto_brightness_description">Your screen brightness will automatically adjust to your environment and activities. You can move the slider manually to help adaptive brightness learn your preferences.</string>
<!-- Setting option summary when adaptive brightness is on [CHAR LIMIT=NONE] -->
@@ -4402,10 +4439,6 @@
<string name="keyboard_a11y_category">Accessibility</string>
<!-- Title for the 'physical keyboard' settings screen. [CHAR LIMIT=35] -->
<string name="physical_keyboard_title">Physical keyboard</string>
- <!-- Title for the 'show virtual keyboard' preference switch. [CHAR LIMIT=35] -->
- <string name="show_ime">Use on-screen keyboard</string>
- <!-- Summary text for the 'add virtual keyboard' preference sub-screen. [CHAR LIMIT=100] -->
- <string name="show_ime_summary">Keep it on screen while physical keyboard is active</string>
<!-- Title for the 'Bounce keys' preference switch. [CHAR LIMIT=35] -->
<string name="bounce_keys">Bounce keys</string>
<!-- Summary text for the 'Bounce keys' preference sub-screen. [CHAR LIMIT=300] -->
@@ -4468,6 +4501,14 @@
<string name="pointer_fill_style_pink_button">Change pointer fill style to pink</string>
<!-- Content description for blue pointer fill style. [CHAR LIMIT=60] -->
<string name="pointer_fill_style_blue_button">Change pointer fill style to blue</string>
+ <!-- Title text for mouse pointer stroke style. [CHAR LIMIT=35] -->
+ <string name="pointer_stroke_style">Pointer stroke style</string>
+ <!-- White value for pointer stroke style. [CHAR LIMIT=35] -->
+ <string name="pointer_stroke_style_name_white">White</string>
+ <!-- Black value pointer stroke style. [CHAR LIMIT=35] -->
+ <string name="pointer_stroke_style_name_black">Black</string>
+ <!-- None value for pointer stroke style. [CHAR LIMIT=35] -->
+ <string name="pointer_stroke_style_name_none">None</string>
<!-- Title for the button to trigger the 'touch gesture' education. [CHAR LIMIT=35] -->
<string name="trackpad_touch_gesture">Learn touchpad gestures</string>
<!-- Search keywords for "touchpad" -->
@@ -4571,6 +4612,12 @@
<!-- On Languages & input settings screen, setting summary. Setting for mouse pointer speed. [CHAR LIMIT=35] -->
<string name="pointer_speed">Pointer speed</string>
+ <!-- Setting for mouse pointer scale. [CHAR LIMIT=35] -->
+ <string name="pointer_scale">Pointer scale</string>
+ <!-- Content description for decreasing pointer scale. [CHAR LIMIT=35] -->
+ <string name="pointer_scale_decrease_content_description">Decrease pointer scale</string>
+ <!-- Setting for mouse pointer scale. [CHAR LIMIT=35] -->
+ <string name="pointer_scale_increase_content_description">Increase pointer scale</string>
<!-- On Languages & input settings screen, heading. Inside the "Languages & input settings" screen, this is the header for settings that relate to game controller devices. [CHAR LIMIT=40] -->
<string name="game_controller_settings_category">Game Controller</string>
@@ -4841,8 +4888,10 @@
<string name="accessibility_magnification_triple_tap_warning_negative_button">Cancel</string>
<!-- Title for the accessibility preference screen to enable screen magnification settings. [CHAR LIMIT=35] -->
<string name="accessibility_magnification_service_settings_title">Magnification settings</string>
- <!-- Title for accessibility magnification preference where user can move the magnification area by dragging one finger instead of two. [CHAR LIMIT=60] -->
- <string name="accessibility_magnification_one_finger_panning_title">One-finger panning</string>
+ <!-- Title for accessibility magnification preference where user can move the magnification area by dragging one finger. [CHAR LIMIT=60] -->
+ <string name="accessibility_magnification_one_finger_panning_title">Move magnifier with 1 finger</string>
+ <!-- Summary for accessibility magnification one finger panning feature where user can move the magnification area by dragging one finger. [CHAR LIMIT=60] -->
+ <string name="accessibility_magnification_one_finger_panning_summary">Drag 1 finger to move around the screen</string>
<!-- Summary for accessibility magnification preference when one finger panning feature is turned on.
The feature when enabled allows user to move the magnification area by dragging one finger instead of two. [CHAR LIMIT=60] -->
<string name="accessibility_magnification_one_finger_panning_summary_on">Move the magnification area by dragging one finger.</string>
@@ -4906,6 +4955,30 @@
{4,number,integer}. Lift finger to stop magnification
]]>
</string>
+ <!-- Instructions on the accessibility preference screen teaching the user how to interact with screen magnification when one finger panning feature is turned off. [CHAR LIMIT=none] -->
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_off">
+ <![CDATA[
+ <b>To zoom in:</b><br/>
+ {0,number,integer}. Use shortcut to start magnification<br/>
+ {1,number,integer}. Tap the screen<br/>
+ {2,number,integer}. Drag 2 fingers to move around the screen<br/>
+ {3,number,integer}. Pinch with 2 fingers to adjust zoom<br/>
+ {4,number,integer}. Use shortcut to stop magnification<br/><br/>
+ You can also zoom in temporarily and more.
+ ]]>
+ </string>
+ <!-- Instructions on the accessibility preference screen teaching the user how to interact with screen magnification when one finger panning feature is turned on. [CHAR LIMIT=none] -->
+ <string name="accessibility_screen_magnification_summary_one_finger_panning_on">
+ <![CDATA[
+ <b>To zoom in:</b><br/>
+ {0,number,integer}. Use shortcut to start magnification<br/>
+ {1,number,integer}. Tap the screen<br/>
+ {2,number,integer}. Drag 1 or 2 fingers to move around the screen<br/>
+ {3,number,integer}. Pinch with 2 fingers to adjust zoom<br/>
+ {4,number,integer}. Use shortcut to stop magnification<br/><br/>
+ You can also zoom in temporarily and more.
+ ]]>
+ </string>
<!-- Summary for the accessibility preference screen to enable screen magnification via the nav bar. [CHAR LIMIT=none] -->
<string name="accessibility_screen_magnification_navbar_summary">When magnification is turned on, you can zoom in on your screen.\n\n<b>To zoom</b>, start magnification, then tap anywhere on the screen.\n<ul><li>Drag 2 or more fingers to scroll</li>\n<li>Pinch 2 or more fingers to adjust zoom</li></ul>\n\n<b>To zoom temporarily</b>, start magnification, then touch & hold anywhere on the screen.\n<ul><li>Drag to move around the screen</li>\n<li>Lift finger to zoom out</li></ul>\n\nYou can’t zoom in on the keyboard or navigation bar.</string>
<!-- Accessibility label for paging indicator in accessibility tutorial page. [CHAR LIMIT=NONE] -->
@@ -7268,6 +7341,8 @@
<string name="help_url_install_certificate" translatable="false"></string>
<!-- Help URL, Tap & pay [DO NOT TRANSLATE] -->
<string name="help_url_nfc_payment" translatable="false"></string>
+ <!-- Help URL, External display [DO NOT TRANSLATE] -->
+ <string name="help_url_external_display" translatable="false"></string>
<!-- Help URL, Remote display [DO NOT TRANSLATE] -->
<string name="help_url_remote_display" translatable="false"></string>
<!-- Help URL, Face [DO NOT TRANSLATE] -->
@@ -7927,6 +8002,37 @@
<!-- Zen Modes: Summary for the Do not Disturb option and associated settings page. [CHAR LIMIT=240]-->
<string name="zen_mode_settings_summary">Only get notified by important people and apps</string>
+ <!-- Zen Modes: Option to add an automatic schedule for a mode. [CHAR_LIMIT=40] -->
+ <string name="zen_mode_select_schedule">Select activation type</string>
+
+ <!-- Priority Modes: Option to choose a time-based schedule for a mode. [CHAR_LIMIT=40] -->
+ <string name="zen_mode_select_schedule_time">Time</string>
+ <!-- Priority Modes: Example text for the option to choose a time-based schedule for a mode. [CHAR_LIMIT=60] -->
+ <string name="zen_mode_select_schedule_time_example">Ex. \"9:30 – 5:00 PM\"</string>
+
+ <!-- Priority Modes: Option to choose a calendar-events-based schedule for a mode. [CHAR_LIMIT=40] -->
+ <string name="zen_mode_select_schedule_calendar">Calendar</string>
+ <!-- Priority Modes: Example text for the option to choose a calendar-events-based schedule for a mode. [CHAR_LIMIT=60] -->
+ <string name="zen_mode_select_schedule_calendar_example">Ex. \"Personal calendar\"</string>
+
+ <!-- Priority Modes: Short text that indicates that a mode is currently on (active). [CHAR_LIMIT=10] -->
+ <string name="zen_mode_active_text">ON</string>
+
+ <!-- Priority Modes: Format string for the "current state + trigger description summary for rules in the list. [CHAR_LIMIT=10] -->
+ <string name="zen_mode_format_status_and_trigger" translatable="false"><xliff:g id="current_status" example="ON">%1$s</xliff:g> • <xliff:g id="trigger_description" example="Mon-Fri, 23:00-7:00">%2$s</xliff:g></string>
+
+ <!-- Priority Modes: Indicates that a mode is disabled and needs to be configured. [CHAR_LIMIT=40] -->
+ <string name="zen_mode_disabled_needs_setup">Not set</string>
+
+ <!-- Priority Modes: Indicates that a mode is disabled by the user. [CHAR_LIMIT=40] -->
+ <string name="zen_mode_disabled_by_user">Disabled</string>
+
+ <!-- Priority Modes: Title of the "Create a mode" dialog, to choose the mode type. [CHAR_LIMIT=30] -->
+ <string name="zen_mode_new_title">Create a mode</string>
+
+ <!-- Priority Modes: Option to add a "custom" mode in the "Add a mode" dialog. [CHAR_LIMIT=20] -->
+ <string name="zen_mode_new_option_custom">Custom</string>
+
<!-- Subtitle for the Do not Disturb slice. [CHAR LIMIT=50]-->
<string name="zen_mode_slice_subtitle">Limit interruptions</string>
@@ -7942,9 +8048,18 @@
<!-- Do not disturb: Title for dialog that allows users to delete DND rules/schedules[CHAR LIMIT=40] -->
<string name="zen_mode_delete_automatic_rules">Delete schedules</string>
- <!-- Do not disturb: Delete text button presented in a dialog to confirm the user would like to delete the selected DND rules. [CHAR LIMIT=30] -->
+ <!-- Do not disturb: Delete text button presented in a dialog to confirm the user would like to delete the selected DND rules. [CHAR LIMIT=30] -->
<string name="zen_mode_schedule_delete">Delete</string>
+ <!-- Priority Modes: Menu option for renaming a mode on its configuration page [CHAR LIMIT=40] -->
+ <string name="zen_mode_menu_rename_mode">Rename</string>
+
+ <!-- Do not disturb: Menu option for deleting a mode on its configuration page [CHAR LIMIT=40] -->
+ <string name="zen_mode_menu_delete_mode">Delete</string>
+
+ <!-- Do not disturb: Confirmation dialog asking the user whether they would like to delete the named mode [CHAR LIMIT: 40] -->
+ <string name="zen_mode_delete_mode_confirmation">Delete \"<xliff:g id="mode" example="My Schedule">%1$s</xliff:g>\" mode?</string>
+
<!-- Do not disturb: Edit label for button that allows user to edit the dnd schedule name. [CHAR LIMIT=30] -->
<string name="zen_mode_rule_name_edit">Edit</string>
@@ -7975,6 +8090,9 @@
<!-- Duration in hours and minutes for the length of a Do Not Disturb schedule. For example "1 hr, 22 min" -->
<string name="zen_mode_schedule_duration"><xliff:g example="10" id="hours">%1$d</xliff:g> hr, <xliff:g example="20" id="minutes">%2$d</xliff:g> min</string>
+ <!-- Priority Modes: Label for switch to enable/disable a rule turning on automatically; links to an app-provided configuration page [CHAR LIMIT=40] -->
+ <string name="zen_mode_configuration_link_title">Turn on automatically</string>
+
<!-- Do not disturb: Title do not disturb settings representing automatic (scheduled) do not disturb rules. [CHAR LIMIT=30] -->
<string name="zen_mode_schedule_category_title">Schedule</string>
@@ -8003,10 +8121,18 @@
<string name="zen_mode_visual_signals_settings_subtitle">Allow visual signals</string>
<!-- Do not disturb: mode page section title [CHAR LIMIT=80] -->
- <string name="mode_interruption_filter_title">Notifications that can reach you</string>
+ <string name="mode_interruption_filter_title">Stay focused</string>
<!-- Do not disturb: mode page section title [CHAR LIMIT=80] -->
<string name="mode_device_effects_title">Additional actions</string>
+ <!-- Summary for the Sound Do not Disturb option when DND isn't currently on. [CHAR LIMIT=NONE]-->
+ <string name="modes_sound_summary_off">
+ {count, plural,
+ =0 {Off}
+ =1 {Off / 1 mode can turn on automatically}
+ other {Off / # modes can turn on automatically}
+ }
+ </string>
<!-- Do not disturb: display settings title [CHAR LIMIT=80] -->
<string name="mode_display_settings_title">Display settings</string>
@@ -8047,7 +8173,10 @@
other {{effect_1}, {effect_2}, and # more}
}
</string>
-
+ <!-- Modes: setting for whether the mode should filter (silence/hide) notifications/volume streams -->
+ <string name="mode_notification_filter_title">Filter interruptions</string>
+ <!-- Modes: subtext when a mode is not filtering (silence/hide) notifications/volume streams -->
+ <string name="mode_no_notification_filter">No interruptions are filtered</string>
<!-- Do not disturb: restrict notifications settings title [CHAR LIMIT=80] -->
<string name="zen_mode_restrict_notifications_title">Display options for filtered
@@ -8369,6 +8498,9 @@
<!-- Configure Notifications: Title for the notification badging option. [CHAR LIMIT=50 BACKUP_MESSAGE_ID=5125022693565388760] -->
<string name="notification_badging_title">Notification dot on app icon</string>
+ <!-- App Info > Notifications: Title for section where notifications bundles can be configured [CHAR LIMIT=80]-->
+ <string name="notification_bundles">Notification bundles</string>
+
<!-- Configure Notifications: Title for the notification bubbles option. [CHAR LIMIT=60] -->
<string name="notification_bubbles_title">Bubbles</string>
<!-- Title for the toggle shown on the app-level bubbles page [CHAR LIMIT=60] -->
@@ -8907,6 +9039,9 @@
<!-- [CHAR LIMIT=NONE] App notification settings: no channels -->
<string name="no_channels">This app has not posted any notifications</string>
+ <!-- [CHAR LIMIT=NONE] App notification settings: has channels, but hasn't sent notifications recently -->
+ <string name="no_recent_channels">Show unused categories</string>
+
<!-- [CHAR LIMIT=NONE] App notification settings: link to app notification settings-->
<string name="app_settings_link">Additional settings in the app</string>
@@ -9212,8 +9347,6 @@
<string name="zen_mode_apps_priority_apps">Selected apps</string>
<!-- [CHAR LIMIT=60] Zen mode settings: no apps will be able to bypass dnd -->
<string name="zen_mode_apps_none_apps">None</string>
- <!-- [CHAR LIMIT=60] Zen mode settings: all apps will be able to bypass dnd -->
- <string name="zen_mode_apps_all_apps">All</string>
<!-- [CHAR LIMIT=NONE] Zen mode settings: Lists apps that can bypass DND. For example, "Nest, Messages, and 2 more can interrupt". -->
<string name="zen_mode_apps_subtext">
{count, plural, offset:2
@@ -9224,6 +9357,8 @@
other {{app_1}, {app_2}, and # more can interrupt}
}
</string>
+ <!-- Text displayed (for a brief time) while the list of bypassing apps is being fetched. Will be replaced by a zen_mode_apps_subtext. [CHAR_LIMIT=60] -->
+ <string name="zen_mode_apps_calculating">Calculating\u2026</string>
<!-- [CHAR LIMIT=100] Zen mode settings: Allow apps to bypass DND -->
<string name="zen_mode_bypassing_apps">Allow apps to override</string>
@@ -9325,14 +9460,17 @@
<!-- [CHAR LIMIT=NONE] Zen mode summary spoken when changing mode by voice: Turn on all notifications. -->
<string name="zen_mode_summary_always">Change to always interrupt</string>
- <!-- [CHAR LIMIT=20] Caption of the action button to change the name of a mode. -->
- <string name="zen_mode_action_change_name">Rename</string>
+ <!-- Priority Modes: Title for the "rename mode" screen [CHAR LIMIT=20] -->
+ <string name="zen_mode_rename_title">Edit mode</string>
- <!-- [CHAR LIMIT=20] Caption of the action button to change the icon of a mode. -->
- <string name="zen_mode_action_change_icon">Change icon</string>
+ <!-- Priority Modes: Title for the "add mode" screen [CHAR LIMIT=20] -->
+ <string name="zen_mode_new_custom_title">Add mode</string>
- <!-- [CHAR LIMIT=40] Zen mode settings: Title for the "choose mode icon" screen -->
- <string name="zen_mode_icon_picker_title">Change icon</string>
+ <!-- Priority Modes: Default name for new custom modes [CHAR LIMIT=30] -->
+ <string name="zen_mode_new_custom_default_name">Custom mode</string>
+
+ <!-- Priority Modes: Hint for the EditText for editing a mode's name [CHAR LIMIT=30] -->
+ <string name="zen_mode_edit_name_hint">Mode name</string>
<!-- Content description for help icon button [CHAR LIMIT=20] -->
<string name="warning_button_text">Warning</string>
@@ -12091,10 +12229,17 @@
<!-- Default title for the settings panel [CHAR LIMIT=NONE] -->
<string name="settings_panel_title">Settings Panel</string>
- <!-- UI debug setting: force desktop mode [CHAR LIMIT=50] -->
- <string name="force_desktop_mode">Force desktop mode</string>
- <!-- UI debug setting: force desktop mode summary [CHAR LIMIT=NONE] -->
- <string name="force_desktop_mode_summary">Force experimental desktop mode on secondary displays</string>
+ <!-- Title for enabling freeform windows (desktop mode) developer option toggle [CHAR LIMIT=50] -->
+ <string name="enable_desktop_mode">Enable freeform windows</string>
+ <!-- Summary for enabling freeform windows (desktop mode) developer option toggle [CHAR LIMIT=NONE] -->
+ <string name="enable_desktop_mode_summary">Enable support for freeform windows.</string>
+
+ <!-- TODO(b/348193756): Rename resources for this toggle to indicate that it is for secondary display -->
+ <!-- Title for enabling freeform windows (desktop mode) on secondary display developer option toggle [CHAR LIMIT=50] -->
+ <string name="force_desktop_mode">Enable freeform windowing on second display</string>
+ <!-- Summary for enabling freeform windows (desktop mode) on secondary display developer option toggle [CHAR LIMIT=NONE] -->
+ <string name="force_desktop_mode_summary">Enable freeform windows only on secondary display.</string>
+
<!-- UI debug setting: enable non-resizables in multi window [CHAR LIMIT=60] -->
<string name="enable_non_resizable_multi_window">Enable non-resizable in multi window</string>
<!-- UI debug setting: enable non-resizables in multi window summary [CHAR LIMIT=NONE] -->
@@ -12276,7 +12421,7 @@
<!-- Toast on failure to reformat data to ext4 -->
<string name="format_ext4_failure_toast">Failed to reformat and wipe the data partition to ext4.</string>
<!-- Dialog to OEM unlock the device before using 16K developer option -->
- <string name="confirm_oem_unlock_for_16k_title">Bootloader Unlock Required for 16KB Mode</string>
+ <string name="confirm_oem_unlock_for_16k_title">Bootloader Unlock Required</string>
<string name="confirm_oem_unlock_for_16k_text">This device needs to have the bootloader unlocked before using the 16KB developer option.
Software integrity cannot be guaranteed in this mode, and any data stored on the phone while the bootloader is unlocked may be at risk.
All user data and settings will be wiped when activating 16KB mode. Once the bootloader is unlocked, activating the 16KB option will require two reboots.
@@ -12305,10 +12450,10 @@
<!-- persistent notification 16k page agnostic mode text -->
<string name="page_agnostic_16k_pages_text_short">You are in the 16KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode,
and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work.
- In order to re-enter the production mode, you must, switch back to 4K mode and then lock the bootloader of the device. Tap to read more.</string>
+ In order to re-enter the production mode, you must, switch back to 4KB mode and then lock the bootloader of the device. Tap to read more.</string>
<string name="page_agnostic_16k_pages_text">You are in the 16KB mode of the page-agnostic mode. Software integrity cannot be guaranteed in this mode,
and any data stored on the phone while the bootloader is unlocked may be at risk. Some features will be disabled in these modes, so some applications may not work.
- In order to re-enter the production mode, you must, switch back to 4K mode and then lock the bootloader of the device. This would factory reset the device again and
+ In order to re-enter the production mode, you must, switch back to 4KB mode and then lock the bootloader of the device. This would factory reset the device again and
restore it to production settings. After the device successfully boots into Android, disable OEM unlocking in Developer options.
If the device fails to boot into Android or is unstable, re-flash the device with the latest factory images from
<a href=\"https://developers.google.com/android/images\">https://developers.google.com/android/images</a>
@@ -12627,7 +12772,7 @@
<string name="default_print_service_main_switch_title">Use print service</string>
<!-- Title for multiple users main switch. [CHAR LIMIT=50] -->
- <string name="multiple_users_main_switch_title">Allow multiple users</string>
+ <string name="multiple_users_main_switch_title">Allow user switch</string>
<!-- Search keywords for the "Allow Multiple Users" section in Multiple Users Screen. [CHAR LIMIT=NONE] -->
<string name="multiple_users_main_switch_keywords">allow, multiple, user, permit, many</string>
<!-- Search keywords for the Users Screen. [CHAR LIMIT=NONE] -->
@@ -13058,12 +13203,12 @@
<!-- Dialog body text used to explain a reboot is required after enabling freeform support for
it to work [CHAR LIMIT=none] -->
- <string name="reboot_dialog_enable_freeform_support">A reboot is required to enable freeform
- support.</string>
- <!-- Dialog body text used to explain a reboot is required after forcing desktop mode on
- secondary dislays. [CHAR LIMIT=none] -->
- <string name="reboot_dialog_force_desktop_mode">A reboot is required to force desktop mode on
- secondary displays.</string>
+ <string name="reboot_dialog_enable_freeform_support">A reboot is required to enable legacy freeform windowing support.</string>
+ <!-- Dialog body text used to explain a reboot is required after overriding freeform windowing (desktop mode) support. [CHAR LIMIT=none] -->
+ <string name="reboot_dialog_override_desktop_mode">A reboot is required to change freeform windowing support.</string>
+ <!-- Dialog body text used to explain a reboot is required after forcing freeform windowing (desktop mode) on
+ secondary displays. [CHAR LIMIT=none] -->
+ <string name="reboot_dialog_force_desktop_mode">A reboot is required to force freeform windowing on secondary displays.</string>
<!-- Text on the dialog button to reboot the device now [CHAR LIMIT=50] -->
<string name="reboot_dialog_reboot_now">Reboot now</string>
<!-- Text on the dialog button to reboot the device later [CHAR LIMIT=50] -->
@@ -13344,6 +13489,10 @@
<string name="live_caption_disabled">Off</string>
<!-- Summary of the Live Caption enabled state. -->
<string name="live_caption_enabled">On</string>
+ <!-- State description for the Audio Balance seek bar, with left reported before right. -->
+ <string name="audio_seek_bar_state_left_first">Audio %1$d%% left, %2$d%% right</string>
+ <!-- State description for the Audio Balance seek bar, with right reported before left. -->
+ <string name="audio_seek_bar_state_right_first">Audio %1$d%% right, %2$d%% left</string>
<!-- Warning text about the visibility of device name. [CHAR LIMIT=NONE] -->
<string name="about_phone_device_name_warning">Your device name is visible to apps you installed. It may also be seen by other people when you connect to Bluetooth devices, connect to a Wi-Fi network or set up a Wi-Fi hotspot.</string>
@@ -13588,4 +13737,7 @@
<!-- url for learning more about bluetooth audio sharing -->
<string name="help_url_audio_sharing" translatable="false"></string>
+
+ <!-- Text for Search bar of Settings home screen [CHAR LIMIT=34] -->
+ <string name="homepage_search">Search Settings</string>
</resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 0bd0406..2d40af0 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -982,14 +982,15 @@
</style>
<style name="PrivateSpaceBulletPointTextFontStyle" parent="@style/PrivateSpaceSetupTextFontStyle">
- <item name="android:paddingLeft">16dp</item>
+ <item name="android:paddingStart">16dp</item>
<item name="android:textSize">16sp</item>
+ <item name="android:textAlignment">viewStart</item>
</style>
<style name="PrivateSpaceBulletPointIconStyle">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
- <item name="android:layout_alignParentLeft">true</item>
+ <item name="android:layout_alignParentStart">true</item>
<item name="android:layout_alignParentTop">true</item>
</style>
diff --git a/res/xml/app_notification_settings.xml b/res/xml/app_notification_settings.xml
index f96a375..1eee0cb 100644
--- a/res/xml/app_notification_settings.xml
+++ b/res/xml/app_notification_settings.xml
@@ -50,11 +50,22 @@
settings:controller="com.android.settings.notification.app.BubbleSummaryPreferenceController">
</Preference>
+ <!-- Bundles added here -->
+ <PreferenceCategory
+ android:key="bundles"
+ android:title="@string/notification_bundles"
+ android:visibility="gone" />
+
<!-- Channels/Channel groups added here -->
<PreferenceCategory
android:key="channels"
android:layout="@layout/empty_view" />
+ <Preference
+ android:key="more"
+ android:title="@string/no_recent_channels"
+ android:icon="@drawable/ic_expand"/>
+
<!-- Importance toggle -->
<com.android.settingslib.RestrictedSwitchPreference
android:key="allow_sound"
diff --git a/res/xml/configure_notification_settings.xml b/res/xml/configure_notification_settings.xml
index b673a083..1e5b241 100644
--- a/res/xml/configure_notification_settings.xml
+++ b/res/xml/configure_notification_settings.xml
@@ -135,6 +135,15 @@
settings:controller="com.android.settings.notification.zen.ZenModePreferenceController"
/>
+ <com.android.settingslib.RestrictedPreference
+ android:key="modes_notifications"
+ android:order="18"
+ android:title="@string/zen_modes_list_title"
+ settings:useAdminDisabledSummary="true"
+ android:fragment="com.android.settings.notification.modes.ZenModesListFragment"
+ settings:controller="com.android.settings.notification.modes.ZenModesLinkPreferenceController"
+ />
+
<SwitchPreferenceCompat
android:key="lock_screen_show_only_unseen_notifs"
android:order="19"
diff --git a/res/xml/development_settings.xml b/res/xml/development_settings.xml
index 866a529..9420f59 100644
--- a/res/xml/development_settings.xml
+++ b/res/xml/development_settings.xml
@@ -738,6 +738,11 @@
android:summary="@string/force_resizable_activities_summary" />
<SwitchPreferenceCompat
+ android:key="override_desktop_mode_features"
+ android:title="@string/enable_desktop_mode"
+ android:summary="@string/enable_desktop_mode_summary" />
+
+ <SwitchPreferenceCompat
android:key="enable_freeform_support"
android:title="@string/enable_freeform_support"
android:summary="@string/enable_freeform_support_summary" />
diff --git a/res/xml/external_display_resolution_settings.xml b/res/xml/external_display_resolution_settings.xml
new file mode 100644
index 0000000..6ac6b1a
--- /dev/null
+++ b/res/xml/external_display_resolution_settings.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2024 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<PreferenceScreen
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:title="@string/external_display_resolution_settings_title">
+</PreferenceScreen>
diff --git a/res/xml/external_display_settings.xml b/res/xml/external_display_settings.xml
new file mode 100644
index 0000000..0047211
--- /dev/null
+++ b/res/xml/external_display_settings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2024 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<PreferenceScreen
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:settings="http://schemas.android.com/apk/res-auto"
+ settings:keywords="@string/keywords_external_display"
+ android:title="@string/external_display_settings_title">
+</PreferenceScreen>
diff --git a/res/xml/language_settings.xml b/res/xml/language_settings.xml
index 167f9d9..4613cb0 100644
--- a/res/xml/language_settings.xml
+++ b/res/xml/language_settings.xml
@@ -18,7 +18,8 @@
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
- android:title="@string/languages_settings">
+ android:title="@string/languages_settings"
+ android:key="languages_settings">
<PreferenceCategory
android:key="languages_category"
android:title="@string/locale_picker_category_title">
@@ -68,4 +69,4 @@
android:fragment="com.android.settings.tts.TextToSpeechSettings"
settings:searchable="false"/>
</PreferenceCategory>
-</PreferenceScreen>
\ No newline at end of file
+</PreferenceScreen>
diff --git a/res/xml/languages.xml b/res/xml/languages.xml
index 844b7fa..d478aa1 100644
--- a/res/xml/languages.xml
+++ b/res/xml/languages.xml
@@ -18,7 +18,8 @@
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
- android:title="@string/language_picker_title">
+ android:title="@string/language_picker_title"
+ android:key="system_languages">
<com.android.settingslib.widget.TopIntroPreference
android:title="@string/desc_introduction_of_language_picker"
diff --git a/res/xml/mobile_network_settings.xml b/res/xml/mobile_network_settings.xml
index eb9f442..51cbbe6 100644
--- a/res/xml/mobile_network_settings.xml
+++ b/res/xml/mobile_network_settings.xml
@@ -85,13 +85,9 @@
android:summary="@string/auto_data_switch_summary"
settings:controller="com.android.settings.network.telephony.AutoDataSwitchPreferenceController"/>
- <com.android.settingslib.RestrictedSwitchPreference
+ <com.android.settings.spa.preference.ComposePreference
android:key="button_roaming_key"
android:title="@string/roaming"
- android:persistent="false"
- android:summaryOn="@string/roaming_enable"
- android:summaryOff="@string/roaming_disable"
- settings:userRestriction="no_data_roaming"
settings:controller="com.android.settings.network.telephony.RoamingPreferenceController"/>
<Preference
diff --git a/res/xml/modes_icon_picker.xml b/res/xml/modes_edit_name_icon.xml
similarity index 71%
rename from res/xml/modes_icon_picker.xml
rename to res/xml/modes_edit_name_icon.xml
index cb0ff30..2109c77 100644
--- a/res/xml/modes_icon_picker.xml
+++ b/res/xml/modes_edit_name_icon.xml
@@ -18,20 +18,30 @@
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
- android:key="zen_mode_icon_picker_page"
+ android:key="zen_mode_edit_name_icon"
settings:searchable="false"
- android:title="@string/zen_mode_icon_picker_title">
+ android:title="@string/zen_mode_rename_title">
<com.android.settingslib.widget.LayoutPreference
- android:key="current_icon"
+ android:key="chosen_icon"
android:layout="@layout/settings_entity_header" />
<com.android.settings.applications.SpacePreference
android:layout_height="16dp" />
<com.android.settingslib.widget.LayoutPreference
+ android:key="name"
+ android:layout="@layout/modes_edit_name" />
+
+ <com.android.settings.applications.SpacePreference
+ android:layout_height="32dp" />
+
+ <com.android.settingslib.widget.LayoutPreference
android:key="icon_list"
android:selectable="false"
android:layout="@layout/modes_icon_list"/>
+ <com.android.settingslib.widget.LayoutPreference
+ android:key="done"
+ android:layout="@layout/modes_edit_done_button" />
</PreferenceScreen>
diff --git a/res/xml/modes_rule_settings.xml b/res/xml/modes_rule_settings.xml
index cf090be..0c687b2 100644
--- a/res/xml/modes_rule_settings.xml
+++ b/res/xml/modes_rule_settings.xml
@@ -28,20 +28,21 @@
android:selectable="false"
android:layout="@layout/modes_activation_button"/>
- <com.android.settingslib.widget.ActionButtonsPreference
- android:key="actions"
- android:selectable="true" />
-
<PreferenceCategory
android:title="@string/mode_interruption_filter_title"
android:key="modes_filters">
+
+ <SwitchPreferenceCompat
+ android:key="allow_filtering"
+ android:title="@string/mode_notification_filter_title"/>
+
<Preference
android:key="zen_mode_people"
android:title="@string/zen_category_people"/>
<Preference
android:key="zen_mode_apps"
- android:title="@string/zen_category_apps" />
+ android:title="@string/zen_category_apps"/>
<Preference
android:key="zen_other_settings"
@@ -62,5 +63,9 @@
<Preference
android:key="mode_display_settings"
android:title="@string/mode_display_settings_title" />
+
+ <Preference
+ android:key="mode_manual_duration"
+ android:title="@string/zen_category_duration" />
</PreferenceCategory>
</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/physical_keyboard_settings.xml b/res/xml/physical_keyboard_settings.xml
index 5b545bb..dd2b709 100644
--- a/res/xml/physical_keyboard_settings.xml
+++ b/res/xml/physical_keyboard_settings.xml
@@ -21,12 +21,6 @@
<PreferenceCategory
android:key="keyboard_options_category"
android:title="@string/keyboard_options_category">
- <SwitchPreferenceCompat
- android:key="show_virtual_keyboard_switch"
- android:title="@string/show_ime"
- android:summary="@string/show_ime_summary"
- android:defaultValue="false" />
-
<Preference
android:key="keyboard_shortcuts_helper"
android:title="@string/keyboard_shortcuts_helper"
diff --git a/res/xml/regional_preference_main_page.xml b/res/xml/regional_preference_main_page.xml
index 2746caa..5c46f8c 100644
--- a/res/xml/regional_preference_main_page.xml
+++ b/res/xml/regional_preference_main_page.xml
@@ -16,7 +16,8 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
- android:title="@string/regional_preferences_title">
+ android:title="@string/regional_preferences_title"
+ android:key="regional_preferences">
<com.android.settingslib.widget.TopIntroPreference
android:title="@string/regional_preferences_main_page_sub_title"
diff --git a/res/xml/regional_preference_numbering_system_page.xml b/res/xml/regional_preference_numbering_system_page.xml
index 9263c09..b15dd8a 100644
--- a/res/xml/regional_preference_numbering_system_page.xml
+++ b/res/xml/regional_preference_numbering_system_page.xml
@@ -13,4 +13,6 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" />
+<PreferenceScreen
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:key="regional_preference_numbering_system"/>
diff --git a/res/xml/regional_preferences_first_day_of_week.xml b/res/xml/regional_preferences_first_day_of_week.xml
index 2d0bec3..d9de5e5 100644
--- a/res/xml/regional_preferences_first_day_of_week.xml
+++ b/res/xml/regional_preferences_first_day_of_week.xml
@@ -17,7 +17,8 @@
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
- android:title="@string/first_day_of_week_preferences_title">
+ android:title="@string/first_day_of_week_preferences_title"
+ android:key="regional_preference_first_day_of_week">
<com.android.settingslib.widget.TopIntroPreference
android:title="@string/regional_preferences_option_page_sub_title"
diff --git a/res/xml/regional_preferences_temperature.xml b/res/xml/regional_preferences_temperature.xml
index 547dd38..2519dfa 100644
--- a/res/xml/regional_preferences_temperature.xml
+++ b/res/xml/regional_preferences_temperature.xml
@@ -17,7 +17,8 @@
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
- android:title="@string/temperature_preferences_title">
+ android:title="@string/temperature_preferences_title"
+ android:key="regional_preference_temperature">
<com.android.settingslib.widget.TopIntroPreference
android:title="@string/regional_preferences_option_page_sub_title"
diff --git a/res/xml/security_advanced_settings.xml b/res/xml/security_advanced_settings.xml
index c220e99..f1556d6 100644
--- a/res/xml/security_advanced_settings.xml
+++ b/res/xml/security_advanced_settings.xml
@@ -140,13 +140,13 @@
settings:controller="com.android.settings.security.VisiblePatternProfilePreferenceController" />
<com.android.settingslib.RestrictedPreference
- android:key="fingerprint_settings_profile"
- android:title="@string/security_settings_work_fingerprint_preference_title"
+ android:key="face_settings_profile"
+ android:title="@string/security_settings_face_profile_preference_title"
android:summary="@string/summary_placeholder" />
<com.android.settingslib.RestrictedPreference
- android:key="face_settings_profile"
- android:title="@string/security_settings_face_profile_preference_title"
+ android:key="fingerprint_settings_profile"
+ android:title="@string/security_settings_work_fingerprint_preference_title"
android:summary="@string/summary_placeholder" />
<com.android.settingslib.RestrictedPreference
diff --git a/res/xml/security_settings_combined_biometric_profile.xml b/res/xml/security_settings_combined_biometric_profile.xml
index 1ab4106..42078f5 100644
--- a/res/xml/security_settings_combined_biometric_profile.xml
+++ b/res/xml/security_settings_combined_biometric_profile.xml
@@ -27,19 +27,19 @@
android:title="@string/biometric_settings_category_ways_to_unlock">
<com.android.settingslib.RestrictedPreference
- android:key="biometric_fingerprint_settings_profile"
- android:title="@string/security_settings_work_fingerprint_preference_title"
- android:summary="@string/summary_placeholder"
- settings:keywords="@string/keywords_fingerprint_settings"
- settings:controller="com.android.settings.biometrics.combination.BiometricFingerprintProfileStatusPreferenceController" />
-
- <com.android.settingslib.RestrictedPreference
android:key="biometric_face_settings_profile"
android:title="@string/security_settings_face_profile_preference_title"
android:summary="@string/summary_placeholder"
settings:keywords="@string/keywords_face_settings"
settings:controller="com.android.settings.biometrics.combination.BiometricFaceProfileStatusPreferenceController" />
+ <com.android.settingslib.RestrictedPreference
+ android:key="biometric_fingerprint_settings_profile"
+ android:title="@string/security_settings_work_fingerprint_preference_title"
+ android:summary="@string/summary_placeholder"
+ settings:keywords="@string/keywords_fingerprint_settings"
+ settings:controller="com.android.settings.biometrics.combination.BiometricFingerprintProfileStatusPreferenceController" />
+
</PreferenceCategory>
<PreferenceCategory
diff --git a/res/xml/terms_of_address.xml b/res/xml/terms_of_address.xml
index a29a55c3..90cbe52 100644
--- a/res/xml/terms_of_address.xml
+++ b/res/xml/terms_of_address.xml
@@ -17,7 +17,8 @@
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
- android:title="@string/terms_of_address_title">
+ android:title="@string/terms_of_address_title"
+ android:key="terms_of_address">
<com.android.settingslib.widget.TopIntroPreference
android:title="@string/terms_of_address_intro_title"
diff --git a/res/xml/trackpad_settings.xml b/res/xml/trackpad_settings.xml
index 1eb16b7..a479e17 100644
--- a/res/xml/trackpad_settings.xml
+++ b/res/xml/trackpad_settings.xml
@@ -66,9 +66,25 @@
android:key="pointer_fill_style"
android:title="@string/pointer_fill_style"
android:order="50"
- android:dialogTitle="@string/pointer_fill_style"
settings:controller="com.android.settings.inputmethod.PointerFillStylePreferenceController"/>
+ <com.android.settings.inputmethod.PointerStrokeStylePreference
+ android:key="pointer_stroke_style"
+ android:title="@string/pointer_stroke_style"
+ android:order="60"
+ settings:controller="com.android.settings.inputmethod.PointerStrokeStylePreferenceController"/>
+
+ <com.android.settings.widget.LabeledSeekBarPreference
+ android:key="pointer_scale"
+ android:title="@string/pointer_scale"
+ android:order="70"
+ android:max="@integer/pointer_scale_seek_bar_end"
+ settings:iconStart="@drawable/ic_remove_24dp"
+ settings:iconStartContentDescription="@string/pointer_scale_decrease_content_description"
+ settings:iconEnd="@drawable/ic_add_24dp"
+ settings:iconEndContentDescription="@string/pointer_scale_increase_content_description"
+ settings:controller="com.android.settings.inputmethod.PointerScaleSeekBarController" />
+
<com.android.settingslib.widget.ButtonPreference
android:key="trackpad_touch_gesture"
android:title="@string/trackpad_touch_gesture"
diff --git a/res/xml/zen_mode_apps_settings.xml b/res/xml/zen_mode_apps_settings.xml
index 4ee14e4..a452143 100644
--- a/res/xml/zen_mode_apps_settings.xml
+++ b/res/xml/zen_mode_apps_settings.xml
@@ -34,11 +34,6 @@
android:title="@string/zen_mode_apps_none_apps"
settings:searchable="false"/>
- <com.android.settingslib.widget.SelectorWithWidgetPreference
- android:key="zen_mode_apps_all"
- android:title="@string/zen_mode_apps_all_apps"
- settings:searchable="false"/>
-
</PreferenceCategory>
</PreferenceScreen>
\ No newline at end of file
diff --git a/src/com/android/settings/MainClear.java b/src/com/android/settings/MainClear.java
index 0639037..9d219d7 100644
--- a/src/com/android/settings/MainClear.java
+++ b/src/com/android/settings/MainClear.java
@@ -99,6 +99,7 @@
static final int KEYGUARD_REQUEST = 55;
@VisibleForTesting
static final int CREDENTIAL_CONFIRM_REQUEST = 56;
+ static final int BIOMETRICS_REQUEST = 57;
private static final String KEY_SHOW_ESIM_RESET_CHECKBOX =
"masterclear.allow_retain_esim_profiles_after_fdr";
@@ -156,7 +157,8 @@
@VisibleForTesting
boolean isValidRequestCode(int requestCode) {
- return !((requestCode != KEYGUARD_REQUEST) && (requestCode != CREDENTIAL_CONFIRM_REQUEST));
+ return !((requestCode != KEYGUARD_REQUEST) && (requestCode != CREDENTIAL_CONFIRM_REQUEST)
+ && (requestCode != BIOMETRICS_REQUEST));
}
@Override
@@ -179,9 +181,18 @@
return;
}
+ if (requestCode == KEYGUARD_REQUEST) {
+ if (Utils.requestBiometricAuthenticationForMandatoryBiometrics(getActivity(),
+ false /* biometricsSuccessfullyAuthenticated */,
+ false /* biometricsAuthenticationRequested */)) {
+ Utils.launchBiometricPromptForMandatoryBiometrics(this, BIOMETRICS_REQUEST);
+ return;
+ }
+ }
+
Intent intent = null;
// If returning from a Keyguard request, try to show an account confirmation request if
- // applciable.
+ // applicable.
if (CREDENTIAL_CONFIRM_REQUEST != requestCode
&& (intent = getAccountConfirmationIntent()) != null) {
showAccountCredentialConfirmation(intent);
diff --git a/src/com/android/settings/ResetNetwork.java b/src/com/android/settings/ResetNetwork.java
index c91ef5c..c1e3494 100644
--- a/src/com/android/settings/ResetNetwork.java
+++ b/src/com/android/settings/ResetNetwork.java
@@ -52,6 +52,7 @@
import com.android.settings.network.telephony.EuiccRacConnectivityDialogActivity;
import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settings.password.ConfirmLockPattern;
+import com.android.settings.system.reset.ResetNetworkConfirm;
import com.android.settingslib.development.DevelopmentSettingsEnabler;
import java.util.ArrayList;
diff --git a/src/com/android/settings/ResetNetworkConfirm.java b/src/com/android/settings/ResetNetworkConfirm.java
deleted file mode 100644
index c707b96..0000000
--- a/src/com/android/settings/ResetNetworkConfirm.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*
- * 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.settings;
-
-import android.app.Activity;
-import android.app.ProgressDialog;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.os.AsyncTask;
-import android.os.Bundle;
-import android.os.Looper;
-import android.telephony.SubscriptionManager;
-import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.Button;
-import android.widget.TextView;
-import android.widget.Toast;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.appcompat.app.AlertDialog;
-
-import com.android.settings.core.InstrumentedFragment;
-import com.android.settings.network.ResetNetworkOperationBuilder;
-import com.android.settings.network.ResetNetworkRestrictionViewBuilder;
-
-import java.util.concurrent.atomic.AtomicBoolean;
-
-/**
- * Confirm and execute a reset of the network settings to a clean "just out of the box"
- * state. Multiple confirmations are required: first, a general "are you sure
- * you want to do this?" prompt, followed by a keyguard pattern trace if the user
- * has defined one, followed by a final strongly-worded "THIS WILL RESET EVERYTHING"
- * prompt. If at any time the phone is allowed to go to sleep, is
- * locked, et cetera, then the confirmation sequence is abandoned.
- *
- * This is the confirmation screen.
- */
-public class ResetNetworkConfirm extends InstrumentedFragment {
- private static final String TAG = "ResetNetworkConfirm";
-
- @VisibleForTesting View mContentView;
- @VisibleForTesting ResetNetworkTask mResetNetworkTask;
- @VisibleForTesting Activity mActivity;
- @VisibleForTesting ResetNetworkRequest mResetNetworkRequest;
- private ProgressDialog mProgressDialog;
- private AlertDialog mAlertDialog;
- @VisibleForTesting ResetSubscriptionContract mResetSubscriptionContract;
- private OnSubscriptionsChangedListener mSubscriptionsChangedListener;
-
- /**
- * Async task used to do all reset task. If error happens during
- * erasing eSIM profiles or timeout, an error msg is shown.
- */
- private class ResetNetworkTask extends AsyncTask<Void, Void, Boolean> {
- private static final String TAG = "ResetNetworkTask";
-
- private final Context mContext;
-
- ResetNetworkTask(Context context) {
- mContext = context;
- }
-
- @Override
- protected Boolean doInBackground(Void... params) {
- final AtomicBoolean resetEsimSuccess = new AtomicBoolean(true);
-
- String resetEsimPackageName = mResetNetworkRequest.getResetEsimPackageName();
- ResetNetworkOperationBuilder builder = mResetNetworkRequest
- .toResetNetworkOperationBuilder(mContext, Looper.getMainLooper());
- if (resetEsimPackageName != null) {
- // Override reset eSIM option for the result of reset operation
- builder = builder.resetEsim(resetEsimPackageName,
- success -> { resetEsimSuccess.set(success); }
- );
- }
- builder.build().run();
-
- boolean isResetSucceed = resetEsimSuccess.get();
- Log.d(TAG, "network factoryReset complete. succeeded: "
- + String.valueOf(isResetSucceed));
- return isResetSucceed;
- }
-
- @Override
- protected void onPostExecute(Boolean succeeded) {
- if (mProgressDialog != null && mProgressDialog.isShowing()) {
- mProgressDialog.dismiss();
- }
-
- if (succeeded) {
- Toast.makeText(mContext, R.string.reset_network_complete_toast, Toast.LENGTH_SHORT)
- .show();
- } else {
- mAlertDialog = new AlertDialog.Builder(mContext)
- .setTitle(R.string.reset_esim_error_title)
- .setMessage(R.string.reset_esim_error_msg)
- .setPositiveButton(android.R.string.ok, null /* listener */)
- .show();
- }
- }
- }
-
- /**
- * The user has gone through the multiple confirmation, so now we go ahead
- * and reset the network settings to its factory-default state.
- */
- @VisibleForTesting
- Button.OnClickListener mFinalClickListener = new Button.OnClickListener() {
-
- @Override
- public void onClick(View v) {
- if (Utils.isMonkeyRunning()) {
- return;
- }
-
- // abandon execution if subscription no longer active
- Integer subId = mResetSubscriptionContract.getAnyMissingSubscriptionId();
- if (subId != null) {
- Log.w(TAG, "subId " + subId + " no longer active");
- getActivity().onBackPressed();
- return;
- }
-
- // Should dismiss the progress dialog firstly if it is showing
- // Or not the progress dialog maybe not dismissed in fast clicking.
- if (mProgressDialog != null && mProgressDialog.isShowing()) {
- mProgressDialog.dismiss();
- }
-
- mProgressDialog = getProgressDialog(mActivity);
- mProgressDialog.show();
-
- mResetNetworkTask = new ResetNetworkTask(mActivity);
- mResetNetworkTask.execute();
- }
- };
-
- private ProgressDialog getProgressDialog(Context context) {
- final ProgressDialog progressDialog = new ProgressDialog(context);
- progressDialog.setIndeterminate(true);
- progressDialog.setCancelable(false);
- progressDialog.setMessage(
- context.getString(R.string.main_clear_progress_text));
- return progressDialog;
- }
-
- /**
- * Configure the UI for the final confirmation interaction
- */
- private void establishFinalConfirmationState() {
- mContentView.findViewById(R.id.execute_reset_network)
- .setOnClickListener(mFinalClickListener);
- }
-
- @VisibleForTesting
- void setSubtitle() {
- if (mResetNetworkRequest.getResetEsimPackageName() != null) {
- ((TextView) mContentView.findViewById(R.id.reset_network_confirm))
- .setText(R.string.reset_network_final_desc_esim);
- }
- }
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- View view = (new ResetNetworkRestrictionViewBuilder(mActivity)).build();
- if (view != null) {
- mResetSubscriptionContract.close();
- Log.w(TAG, "Access deny.");
- return view;
- }
- mContentView = inflater.inflate(R.layout.reset_network_confirm, null);
- establishFinalConfirmationState();
- setSubtitle();
- return mContentView;
- }
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- Bundle args = getArguments();
- if (args == null) {
- args = savedInstanceState;
- }
- mResetNetworkRequest = new ResetNetworkRequest(args);
-
- mActivity = getActivity();
-
- mResetSubscriptionContract = new ResetSubscriptionContract(getContext(),
- mResetNetworkRequest) {
- @Override
- public void onSubscriptionInactive(int subscriptionId) {
- // close UI if subscription no longer active
- Log.w(TAG, "subId " + subscriptionId + " no longer active.");
- getActivity().onBackPressed();
- }
- };
- }
-
- @Override
- public void onSaveInstanceState(Bundle outState) {
- super.onSaveInstanceState(outState);
- mResetNetworkRequest.writeIntoBundle(outState);
- }
-
- @Override
- public void onDestroy() {
- if (mResetNetworkTask != null) {
- mResetNetworkTask.cancel(true /* mayInterruptIfRunning */);
- mResetNetworkTask = null;
- }
- if (mResetSubscriptionContract != null) {
- mResetSubscriptionContract.close();
- mResetSubscriptionContract = null;
- }
- if (mProgressDialog != null) {
- mProgressDialog.dismiss();
- }
- if (mAlertDialog != null) {
- mAlertDialog.dismiss();
- }
- super.onDestroy();
- }
-
- @Override
- public int getMetricsCategory() {
- return SettingsEnums.RESET_NETWORK_CONFIRM;
- }
-}
diff --git a/src/com/android/settings/ResetNetworkRequest.java b/src/com/android/settings/ResetNetworkRequest.java
index 7632ea0..8df67e7 100644
--- a/src/com/android/settings/ResetNetworkRequest.java
+++ b/src/com/android/settings/ResetNetworkRequest.java
@@ -271,12 +271,12 @@
builder.resetIms(mSubscriptionIdToResetIms);
}
// Reset phone process and RILD may impact above components, keep them at the end
- if ((mResetOptions & RESET_PHONE_PROCESS) != 0) {
- builder.restartPhoneProcess();
- }
if ((mResetOptions & RESET_RILD) != 0) {
builder.restartRild();
}
+ if ((mResetOptions & RESET_PHONE_PROCESS) != 0) {
+ builder.restartPhoneProcess();
+ }
return builder;
}
}
diff --git a/src/com/android/settings/ResetSubscriptionContract.java b/src/com/android/settings/ResetSubscriptionContract.java
deleted file mode 100644
index 528a16d..0000000
--- a/src/com/android/settings/ResetSubscriptionContract.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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.settings;
-
-import android.content.Context;
-import android.telephony.SubscriptionManager;
-import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
-import android.util.Log;
-
-import androidx.annotation.VisibleForTesting;
-
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.stream.IntStream;
-
-/**
- * A Class monitoring the availability of subscription IDs provided within reset request.
- *
- * This is to detect the situation when user changing SIM card during the presenting of
- * confirmation UI.
- */
-public class ResetSubscriptionContract implements AutoCloseable {
- private static final String TAG = "ResetSubscriptionContract";
-
- private final Context mContext;
- private ExecutorService mExecutorService;
- private final int [] mResetSubscriptionIds;
- @VisibleForTesting
- protected OnSubscriptionsChangedListener mSubscriptionsChangedListener;
- private AtomicBoolean mSubscriptionsUpdateNotify = new AtomicBoolean();
-
- /**
- * Constructor
- * @param context Context
- * @param resetRequest the request object for perform network reset operation.
- */
- public ResetSubscriptionContract(Context context, ResetNetworkRequest resetRequest) {
- mContext = context;
- // Only keeps specific subscription ID required to perform reset operation
- IntStream subIdStream = IntStream.of(
- resetRequest.getResetTelephonyAndNetworkPolicyManager(),
- resetRequest.getResetApnSubId(), resetRequest.getResetImsSubId());
- mResetSubscriptionIds = subIdStream.sorted().distinct()
- .filter(id -> SubscriptionManager.isUsableSubscriptionId(id))
- .toArray();
-
- if (mResetSubscriptionIds.length <= 0) {
- return;
- }
-
- // Monitoring callback through background thread
- mExecutorService = Executors.newSingleThreadExecutor();
- startMonitorSubscriptionChange();
- }
-
- /**
- * A method for detecting if there's any subscription under monitor no longer active.
- * @return subscription ID which is no longer active.
- */
- public Integer getAnyMissingSubscriptionId() {
- if (mResetSubscriptionIds.length <= 0) {
- return null;
- }
- SubscriptionManager mgr = getSubscriptionManager();
- if (mgr == null) {
- Log.w(TAG, "Fail to access subscription manager");
- return mResetSubscriptionIds[0];
- }
- for (int idx = 0; idx < mResetSubscriptionIds.length; idx++) {
- int subId = mResetSubscriptionIds[idx];
- if (mgr.getActiveSubscriptionInfo(subId) == null) {
- Log.w(TAG, "SubId " + subId + " no longer active.");
- return subId;
- }
- }
- return null;
- }
-
- /**
- * Async callback when detecting if there's any subscription under monitor no longer active.
- * @param subscriptionId subscription ID which is no longer active.
- */
- public void onSubscriptionInactive(int subscriptionId) {}
-
- @VisibleForTesting
- protected SubscriptionManager getSubscriptionManager() {
- return mContext.getSystemService(SubscriptionManager.class);
- }
-
- @VisibleForTesting
- protected OnSubscriptionsChangedListener getChangeListener() {
- return new OnSubscriptionsChangedListener() {
- @Override
- public void onSubscriptionsChanged() {
- /**
- * Reducing the processing time on main UI thread through a flag.
- * Once flag get into false, which means latest callback has been
- * processed.
- */
- mSubscriptionsUpdateNotify.set(true);
-
- // Back to main UI thread
- mContext.getMainExecutor().execute(() -> {
- // Remove notifications and perform checking.
- if (mSubscriptionsUpdateNotify.getAndSet(false)) {
- Integer subId = getAnyMissingSubscriptionId();
- if (subId != null) {
- onSubscriptionInactive(subId);
- }
- }
- });
- }
- };
- }
-
- private void startMonitorSubscriptionChange() {
- SubscriptionManager mgr = getSubscriptionManager();
- if (mgr == null) {
- return;
- }
- // update monitor listener
- mSubscriptionsChangedListener = getChangeListener();
-
- mgr.addOnSubscriptionsChangedListener(
- mExecutorService, mSubscriptionsChangedListener);
- }
-
- // Implementation of AutoCloseable
- public void close() {
- if (mExecutorService == null) {
- return;
- }
- // Stop monitoring subscription change
- SubscriptionManager mgr = getSubscriptionManager();
- if (mgr != null) {
- mgr.removeOnSubscriptionsChangedListener(mSubscriptionsChangedListener);
- }
- // Release Executor
- mExecutorService.shutdownNow();
- mExecutorService = null;
- }
-}
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 3367bf1..24d9525 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -18,6 +18,8 @@
import static android.provider.Settings.ACTION_PRIVACY_SETTINGS;
+import android.annotation.FlaggedApi;
+import android.app.Flags;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.os.Bundle;
@@ -301,6 +303,7 @@
public static class UserSettingsActivity extends SettingsActivity { /* empty */ }
public static class NotificationAccessSettingsActivity extends SettingsActivity { /* empty */ }
public static class NotificationAccessDetailsActivity extends SettingsActivity { /* empty */ }
+ public static class ManageAdaptiveNotificationsActivity extends SettingsActivity { /* empty */ }
public static class VrListenersSettingsActivity extends SettingsActivity { /* empty */ }
public static class PremiumSmsAccessActivity extends SettingsActivity { /* empty */ }
public static class PictureInPictureSettingsActivity extends SettingsActivity { /* empty */ }
@@ -317,11 +320,13 @@
public static class PrintSettingsActivity extends SettingsActivity { /* empty */ }
public static class PrintJobSettingsActivity extends SettingsActivity { /* empty */ }
public static class ZenModeSettingsActivity extends SettingsActivity { /* empty */ }
- public static class ZenModeBehaviorSettingsActivity extends SettingsActivity { /* empty */ }
- public static class ZenModeBlockedEffectsSettingsActivity extends SettingsActivity { /* empty */ }
public static class ZenModeAutomationSettingsActivity extends SettingsActivity { /* empty */ }
public static class ZenModeScheduleRuleSettingsActivity extends SettingsActivity { /* empty */ }
public static class ZenModeEventRuleSettingsActivity extends SettingsActivity { /* empty */ }
+ @FlaggedApi(Flags.FLAG_MODES_UI)
+ public static class ModeSettingsActivity extends SettingsActivity { /* empty */ }
+ @FlaggedApi(Flags.FLAG_MODES_UI)
+ public static class ModesSettingsActivity extends SettingsActivity { /* empty */ }
public static class SoundSettingsActivity extends SettingsActivity { /* empty */ }
public static class ConfigureNotificationSettingsActivity extends SettingsActivity { /* empty */ }
public static class ConversationListSettingsActivity extends SettingsActivity { /* empty */ }
diff --git a/src/com/android/settings/SettingsApplication.java b/src/com/android/settings/SettingsApplication.java
index 7d5d2c7..5b052f2 100644
--- a/src/com/android/settings/SettingsApplication.java
+++ b/src/com/android/settings/SettingsApplication.java
@@ -31,6 +31,7 @@
import com.android.settings.biometrics.fingerprint2.BiometricsEnvironment;
import com.android.settings.core.instrumentation.ElapsedTimeUtils;
import com.android.settings.development.DeveloperOptionsActivityLifecycle;
+import com.android.settings.flags.Flags;
import com.android.settings.fuelgauge.BatterySettingsStorage;
import com.android.settings.homepage.SettingsHomepageActivity;
import com.android.settings.localepicker.LocaleNotificationDataManager;
@@ -49,7 +50,7 @@
public class SettingsApplication extends Application {
private WeakReference<SettingsHomepageActivity> mHomeActivity = new WeakReference<>(null);
- private BiometricsEnvironment mBiometricsEnvironment;
+ @Nullable private BiometricsEnvironment mBiometricsEnvironment;
@Override
protected void attachBaseContext(Context base) {
@@ -73,7 +74,9 @@
// Set Spa environment.
setSpaEnvironment();
- mBiometricsEnvironment = new BiometricsEnvironment(this);
+ if (Flags.fingerprintV2Enrollment()) {
+ mBiometricsEnvironment = new BiometricsEnvironment(this);
+ }
if (ActivityEmbeddingUtils.isSettingsSplitEnabled(this)
&& FeatureFlagUtils.isEnabled(this,
diff --git a/src/com/android/settings/SettingsPreferenceFragmentBase.java b/src/com/android/settings/SettingsPreferenceFragmentBase.java
new file mode 100644
index 0000000..dd2e287
--- /dev/null
+++ b/src/com/android/settings/SettingsPreferenceFragmentBase.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.android.settingslib.search.Indexable;
+
+/**
+ * Base class for fragment suitable for unit testing.
+ */
+public abstract class SettingsPreferenceFragmentBase extends SettingsPreferenceFragment
+ implements Indexable {
+ @Override
+ @SuppressWarnings({"RequiresNullabilityAnnotation"})
+ public void onCreate(final Bundle icicle) {
+ super.onCreate(icicle);
+ onCreateCallback(icicle);
+ }
+
+ @Override
+ @SuppressWarnings({"RequiresNullabilityAnnotation"})
+ public void onActivityCreated(final Bundle savedInstanceState) {
+ super.onActivityCreated(savedInstanceState);
+ onActivityCreatedCallback(savedInstanceState);
+ }
+
+ @Override
+ public void onSaveInstanceState(@NonNull final Bundle outState) {
+ super.onSaveInstanceState(outState);
+ onSaveInstanceStateCallback(outState);
+ }
+
+ @Override
+ public void onStart() {
+ super.onStart();
+ onStartCallback();
+ }
+
+ @Override
+ public void onStop() {
+ super.onStop();
+ onStopCallback();
+ }
+
+ protected Activity getCurrentActivity() {
+ return getActivity();
+ }
+
+ /**
+ * Callback called from {@link #onCreate}
+ */
+ public abstract void onCreateCallback(@Nullable Bundle icicle);
+
+ /**
+ * Callback called from {@link #onActivityCreated}
+ */
+ public abstract void onActivityCreatedCallback(@Nullable Bundle savedInstanceState);
+
+ /**
+ * Callback called from {@link #onStart}
+ */
+ public abstract void onStartCallback();
+
+ /**
+ * Callback called from {@link #onStop}
+ */
+ public abstract void onStopCallback();
+
+ /**
+ * Callback called from {@link #onSaveInstanceState}
+ */
+ public void onSaveInstanceStateCallback(@NonNull final Bundle outState) {
+ // Do nothing.
+ }
+}
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index 7ed6ba0..e94769a 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -24,6 +24,9 @@
import static android.text.format.DateUtils.FORMAT_ABBREV_MONTH;
import static android.text.format.DateUtils.FORMAT_SHOW_DATE;
+import static com.android.settings.password.ConfirmDeviceCredentialActivity.BIOMETRIC_PROMPT_AUTHENTICATORS;
+import static com.android.settings.password.ConfirmDeviceCredentialActivity.BIOMETRIC_PROMPT_NEGATIVE_BUTTON_TEXT;
+
import android.app.ActionBar;
import android.app.Activity;
import android.app.ActivityManager;
@@ -54,6 +57,7 @@
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.VectorDrawable;
+import android.hardware.biometrics.BiometricManager;
import android.hardware.biometrics.SensorProperties;
import android.hardware.face.Face;
import android.hardware.face.FaceManager;
@@ -122,6 +126,7 @@
import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
import com.android.settings.dashboard.profileselector.ProfileSelectFragment.ProfileType;
import com.android.settings.password.ChooseLockSettingsHelper;
+import com.android.settings.password.ConfirmDeviceCredentialActivity;
import com.android.settingslib.widget.ActionBarShadowController;
import com.android.settingslib.widget.AdaptiveIcon;
@@ -1418,13 +1423,15 @@
public static void setupEdgeToEdge(@NonNull FragmentActivity activity) {
ViewCompat.setOnApplyWindowInsetsListener(activity.findViewById(android.R.id.content),
(v, windowInsets) -> {
- Insets insets = windowInsets.getInsets(
+ final Insets insets = windowInsets.getInsets(
WindowInsetsCompat.Type.systemBars() | WindowInsetsCompat.Type.ime()
| WindowInsetsCompat.Type.displayCutout());
- int statusBarHeight = activity.getWindow().getDecorView().getRootWindowInsets()
- .getInsets(WindowInsetsCompat.Type.statusBars()).top;
+ int newInsetsTop = activity.getWindow().getDecorView().getRootWindowInsets()
+ .getInsets(WindowInsetsCompat.Type.statusBars()
+ | WindowInsetsCompat.Type.captionBar()).top;
+
// Apply the insets paddings to the view.
- v.setPadding(insets.left, statusBarHeight, insets.right, insets.bottom);
+ v.setPadding(insets.left, newInsetsTop, insets.right, insets.bottom);
// Return CONSUMED if you don't want the window insets to keep being
// passed down to descendant views.
@@ -1478,6 +1485,55 @@
disableComponent(pm, new ComponentName(context, Settings.CreateShortcutActivity.class));
}
+ /**
+ * Request biometric authentication if all requirements for mandatory biometrics is satisfied.
+ * @param context of the corresponding activity/fragment
+ * @param biometricsSuccessfullyAuthenticated if the user has already authenticated using
+ * biometrics
+ * @param biometricsAuthenticationRequested if the activity/fragment has already requested for
+ * biometric prompt
+ * @return true if all requirements for mandatory biometrics is satisfied
+ */
+ public static boolean requestBiometricAuthenticationForMandatoryBiometrics(
+ @NonNull Context context,
+ boolean biometricsSuccessfullyAuthenticated,
+ boolean biometricsAuthenticationRequested) {
+ final BiometricManager biometricManager = context.getSystemService(BiometricManager.class);
+ if (biometricManager == null) {
+ Log.e(TAG, "Biometric Manager is null.");
+ return false;
+ }
+ final int status = biometricManager.canAuthenticate(
+ BiometricManager.Authenticators.MANDATORY_BIOMETRICS);
+ return android.hardware.biometrics.Flags.mandatoryBiometrics()
+ && status == BiometricManager.BIOMETRIC_SUCCESS
+ && !biometricsSuccessfullyAuthenticated
+ && !biometricsAuthenticationRequested;
+ }
+
+ /**
+ * Launch biometric prompt for mandatory biometrics. Call
+ * {@link #requestBiometricAuthenticationForMandatoryBiometrics(Context, boolean, boolean)}
+ * to check if all requirements for mandatory biometrics is satisfied
+ * before launching biometric prompt.
+ *
+ * @param fragment corresponding fragment of the surface
+ * @param requestCode for starting the new activity
+ */
+ public static void launchBiometricPromptForMandatoryBiometrics(@NonNull Fragment fragment,
+ int requestCode) {
+ final Intent intent = new Intent();
+ intent.putExtra(BIOMETRIC_PROMPT_AUTHENTICATORS,
+ BiometricManager.Authenticators.MANDATORY_BIOMETRICS);
+ intent.putExtra(BIOMETRIC_PROMPT_NEGATIVE_BUTTON_TEXT,
+ fragment.getString(R.string.cancel));
+ intent.putExtra(KeyguardManager.EXTRA_DESCRIPTION,
+ fragment.getString(R.string.mandatory_biometrics_prompt_description));
+ intent.setClassName(SETTINGS_PACKAGE_NAME,
+ ConfirmDeviceCredentialActivity.class.getName());
+ fragment.startActivityForResult(intent, requestCode);
+ }
+
private static void disableComponent(PackageManager pm, ComponentName componentName) {
pm.setComponentEnabledSetting(componentName,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
diff --git a/src/com/android/settings/accessibility/AccessibilityQuickSettingsPrimarySwitchPreferenceController.java b/src/com/android/settings/accessibility/AccessibilityQuickSettingsPrimarySwitchPreferenceController.java
index e82cd96..8a3f22d 100644
--- a/src/com/android/settings/accessibility/AccessibilityQuickSettingsPrimarySwitchPreferenceController.java
+++ b/src/com/android/settings/accessibility/AccessibilityQuickSettingsPrimarySwitchPreferenceController.java
@@ -21,6 +21,7 @@
import android.os.Bundle;
import android.os.Handler;
+import androidx.annotation.Nullable;
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
@@ -42,6 +43,7 @@
private boolean mNeedsQSTooltipReshow = false;
/** Returns the accessibility tile component name. */
+ @Nullable
abstract ComponentName getTileComponentName();
/** Returns the accessibility tile tooltip content. */
diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java
index 8441c2a..d746434 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettings.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettings.java
@@ -16,6 +16,8 @@
package com.android.settings.accessibility;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.DEFAULT;
+
import android.accessibilityservice.AccessibilityServiceInfo;
import android.accessibilityservice.AccessibilityShortcutInfo;
import android.app.settings.SettingsEnums;
@@ -283,7 +285,7 @@
info.getResolveInfo().serviceInfo.packageName,
info.getResolveInfo().serviceInfo.name);
final boolean shortcutEnabled = AccessibilityUtil.getUserShortcutTypesFromSettings(
- context, componentName) != AccessibilityUtil.UserShortcutType.EMPTY;
+ context, componentName) != DEFAULT;
serviceState = shortcutEnabled
? context.getText(R.string.accessibility_summary_shortcut_enabled)
: context.getText(R.string.generic_accessibility_feature_shortcut_off);
diff --git a/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragment.java b/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragment.java
index 92259ac..0f55a11 100644
--- a/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragment.java
@@ -16,6 +16,10 @@
package com.android.settings.accessibility;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.DEFAULT;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
import static com.android.settings.accessibility.AccessibilityDialogUtils.DialogEnums;
import static com.android.settings.accessibility.ToggleFeaturePreferenceFragment.KEY_GENERAL_CATEGORY;
import static com.android.settings.accessibility.ToggleFeaturePreferenceFragment.KEY_SAVED_QS_TOOLTIP_TYPE;
@@ -43,6 +47,7 @@
import androidx.preference.PreferenceScreen;
import com.android.internal.accessibility.common.ShortcutConstants;
+import com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
import com.android.settings.R;
import com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType;
import com.android.settings.accessibility.shortcuts.EditShortcutsPreferenceFragment;
@@ -310,7 +315,7 @@
}
/**
- * Returns accumulated {@link AccessibilityUtil.UserShortcutType} checkbox value or
+ * Returns accumulated {@link UserShortcutType} checkbox value or
* {@code NOT_SET} if checkboxes did not exist.
*/
protected int getShortcutTypeCheckBoxValue() {
@@ -318,12 +323,12 @@
return NOT_SET;
}
- int value = AccessibilityUtil.UserShortcutType.EMPTY;
+ int value = DEFAULT;
if (mSoftwareTypeCheckBox.isChecked()) {
- value |= AccessibilityUtil.UserShortcutType.SOFTWARE;
+ value |= SOFTWARE;
}
if (mHardwareTypeCheckBox.isChecked()) {
- value |= AccessibilityUtil.UserShortcutType.HARDWARE;
+ value |= HARDWARE;
}
return value;
}
@@ -374,7 +379,7 @@
saveNonEmptyUserShortcutType(value);
AccessibilityUtil.optInAllValuesToSettings(getPrefContext(), value, getComponentName());
AccessibilityUtil.optOutAllValuesFromSettings(getPrefContext(), ~value, getComponentName());
- final boolean shortcutAssigned = value != AccessibilityUtil.UserShortcutType.EMPTY;
+ final boolean shortcutAssigned = value != DEFAULT;
mShortcutPreference.setChecked(shortcutAssigned);
mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext()));
@@ -406,7 +411,7 @@
@VisibleForTesting
void saveNonEmptyUserShortcutType(int type) {
- if (type == AccessibilityUtil.UserShortcutType.EMPTY) {
+ if (type == DEFAULT) {
return;
}
@@ -456,16 +461,16 @@
// LINT.IfChange(shortcut_type_ui_order)
final List<CharSequence> list = new ArrayList<>();
if (android.view.accessibility.Flags.a11yQsShortcut()) {
- if (hasShortcutType(shortcutTypes, AccessibilityUtil.UserShortcutType.QUICK_SETTINGS)) {
+ if (hasShortcutType(shortcutTypes, QUICK_SETTINGS)) {
final CharSequence qsTitle = context.getText(
R.string.accessibility_feature_shortcut_setting_summary_quick_settings);
list.add(qsTitle);
}
}
- if (hasShortcutType(shortcutTypes, AccessibilityUtil.UserShortcutType.SOFTWARE)) {
+ if (hasShortcutType(shortcutTypes, SOFTWARE)) {
list.add(getSoftwareShortcutTypeSummary(context));
}
- if (hasShortcutType(shortcutTypes, AccessibilityUtil.UserShortcutType.HARDWARE)) {
+ if (hasShortcutType(shortcutTypes, HARDWARE)) {
final CharSequence hardwareTitle = context.getText(
R.string.accessibility_shortcut_hardware_keyword);
list.add(hardwareTitle);
@@ -488,13 +493,13 @@
if (value == NOT_SET) {
final int lastNonEmptyUserShortcutType = getUserPreferredShortcutTypes();
value = mShortcutPreference.isChecked() ? lastNonEmptyUserShortcutType
- : AccessibilityUtil.UserShortcutType.EMPTY;
+ : DEFAULT;
}
mSoftwareTypeCheckBox.setChecked(
- hasShortcutType(value, AccessibilityUtil.UserShortcutType.SOFTWARE));
+ hasShortcutType(value, SOFTWARE));
mHardwareTypeCheckBox.setChecked(
- hasShortcutType(value, AccessibilityUtil.UserShortcutType.HARDWARE));
+ hasShortcutType(value, HARDWARE));
}
private int restoreOnConfigChangedValue() {
@@ -503,7 +508,7 @@
return savedValue;
}
- private boolean hasShortcutType(int value, @AccessibilityUtil.UserShortcutType int type) {
+ private boolean hasShortcutType(int value, @UserShortcutType int type) {
return (value & type) == type;
}
@@ -514,7 +519,7 @@
final int shortcutTypes = AccessibilityUtil.getUserShortcutTypesFromSettings(
getPrefContext(), getComponentName());
- if (shortcutTypes != AccessibilityUtil.UserShortcutType.EMPTY) {
+ if (shortcutTypes != DEFAULT) {
final PreferredShortcut shortcut = new PreferredShortcut(
getComponentName().flattenToString(), shortcutTypes);
PreferredShortcuts.saveUserShortcutType(getPrefContext(), shortcut);
diff --git a/src/com/android/settings/accessibility/AccessibilityShortcutsTutorial.java b/src/com/android/settings/accessibility/AccessibilityShortcutsTutorial.java
index e286c63..8d908ac 100644
--- a/src/com/android/settings/accessibility/AccessibilityShortcutsTutorial.java
+++ b/src/com/android/settings/accessibility/AccessibilityShortcutsTutorial.java
@@ -19,7 +19,11 @@
import static android.view.View.GONE;
import static android.view.View.VISIBLE;
-import static com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.TRIPLETAP;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.TWOFINGER_DOUBLETAP;
import android.app.settings.SettingsEnums;
import android.content.Context;
@@ -171,7 +175,7 @@
AlertDialog dialog, List<TutorialPage> pages, int selectedPageIndex) {
final Button button = dialog.getButton(DialogInterface.BUTTON_NEGATIVE);
final int pageType = pages.get(selectedPageIndex).getType();
- final int buttonVisibility = pageType == UserShortcutType.SOFTWARE ? VISIBLE : GONE;
+ final int buttonVisibility = (pageType == SOFTWARE) ? VISIBLE : GONE;
button.setVisibility(buttonVisibility);
if (buttonVisibility == VISIBLE) {
final int textResId = AccessibilityUtil.isFloatingMenuEnabled(dialog.getContext())
@@ -393,7 +397,7 @@
}
private static TutorialPage createSoftwareTutorialPage(@NonNull Context context) {
- final int type = UserShortcutType.SOFTWARE;
+ final int type = SOFTWARE;
final CharSequence title = getSoftwareTitle(context);
final View image = createSoftwareImage(context);
final CharSequence instruction = getSoftwareInstruction(context);
@@ -405,7 +409,7 @@
}
private static TutorialPage createHardwareTutorialPage(@NonNull Context context) {
- final int type = UserShortcutType.HARDWARE;
+ final int type = HARDWARE;
final CharSequence title =
context.getText(R.string.accessibility_tutorial_dialog_title_volume);
final View image =
@@ -420,7 +424,7 @@
}
private static TutorialPage createTripleTapTutorialPage(@NonNull Context context) {
- final int type = UserShortcutType.TRIPLETAP;
+ final int type = TRIPLETAP;
final CharSequence title =
context.getText(R.string.accessibility_tutorial_dialog_title_triple);
final View image =
@@ -436,7 +440,7 @@
}
private static TutorialPage createTwoFingerTripleTapTutorialPage(@NonNull Context context) {
- final int type = UserShortcutType.TWOFINGER_DOUBLETAP;
+ final int type = TWOFINGER_DOUBLETAP;
final int numFingers = 2;
final CharSequence title = context.getString(
R.string.accessibility_tutorial_dialog_title_two_finger_double, numFingers);
@@ -454,7 +458,7 @@
private static TutorialPage createQuickSettingsTutorialPage(
@NonNull Context context, @NonNull CharSequence featureName, boolean inSetupWizard) {
- final int type = UserShortcutType.QUICK_SETTINGS;
+ final int type = QUICK_SETTINGS;
final CharSequence title =
context.getText(R.string.accessibility_tutorial_dialog_title_quick_setting);
final View image =
@@ -494,28 +498,28 @@
// LINT.IfChange(shortcut_type_ui_order)
final List<TutorialPage> tutorialPages = new ArrayList<>();
if (android.view.accessibility.Flags.a11yQsShortcut()) {
- if ((shortcutTypes & UserShortcutType.QUICK_SETTINGS)
- == UserShortcutType.QUICK_SETTINGS) {
+ if ((shortcutTypes & QUICK_SETTINGS)
+ == QUICK_SETTINGS) {
tutorialPages.add(
createQuickSettingsTutorialPage(context, featureName, inSetupWizard));
}
}
- if ((shortcutTypes & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE) {
+ if ((shortcutTypes & SOFTWARE) == SOFTWARE) {
tutorialPages.add(createSoftwareTutorialPage(context));
}
- if ((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE) {
+ if ((shortcutTypes & HARDWARE) == HARDWARE) {
tutorialPages.add(createHardwareTutorialPage(context));
}
if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
- if ((shortcutTypes & UserShortcutType.TWOFINGER_DOUBLETAP)
- == UserShortcutType.TWOFINGER_DOUBLETAP) {
+ if ((shortcutTypes & TWOFINGER_DOUBLETAP)
+ == TWOFINGER_DOUBLETAP) {
tutorialPages.add(createTwoFingerTripleTapTutorialPage(context));
}
}
- if ((shortcutTypes & UserShortcutType.TRIPLETAP) == UserShortcutType.TRIPLETAP) {
+ if ((shortcutTypes & TRIPLETAP) == TRIPLETAP) {
tutorialPages.add(createTripleTapTutorialPage(context));
}
// LINT.ThenChange(/res/xml/accessibility_edit_shortcuts.xml:shortcut_type_ui_order)
diff --git a/src/com/android/settings/accessibility/AccessibilityUtil.java b/src/com/android/settings/accessibility/AccessibilityUtil.java
index afc7b84..5bf2a3e 100644
--- a/src/com/android/settings/accessibility/AccessibilityUtil.java
+++ b/src/com/android/settings/accessibility/AccessibilityUtil.java
@@ -21,6 +21,12 @@
import static android.view.WindowInsets.Type.systemBars;
import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.DEFAULT;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.TRIPLETAP;
+
import android.accessibilityservice.AccessibilityServiceInfo;
import android.content.ComponentName;
import android.content.Context;
@@ -41,6 +47,7 @@
import androidx.annotation.StringRes;
import androidx.annotation.VisibleForTesting;
+import com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
import com.android.internal.accessibility.util.ShortcutUtils;
import java.lang.annotation.Retention;
@@ -82,41 +89,6 @@
new TextUtils.SimpleStringSplitter(COMPONENT_NAME_SEPARATOR);
/**
- * Annotation for different user shortcut type UI type.
- *
- * {@code EMPTY} for displaying default value.
- * {@code SOFTWARE} for displaying specifying the accessibility services or features which
- * choose accessibility button in the navigation bar as preferred shortcut.
- * {@code HARDWARE} for displaying specifying the accessibility services or features which
- * choose accessibility shortcut as preferred shortcut.
- * {@code TRIPLETAP} for displaying specifying magnification to be toggled via quickly
- * tapping screen 3 times as preferred shortcut.
- * {@code TWOFINGER_DOUBLETAP} for displaying specifying magnification to be toggled via
- * quickly tapping screen 2 times with two fingers as preferred shortcut.
- * {@code QUICK_SETTINGS} for displaying specifying the accessibility services or features which
- * choose Quick Settings as preferred shortcut.
- */
- @Retention(RetentionPolicy.SOURCE)
- @IntDef({
- UserShortcutType.EMPTY,
- UserShortcutType.SOFTWARE,
- UserShortcutType.HARDWARE,
- UserShortcutType.TRIPLETAP,
- UserShortcutType.TWOFINGER_DOUBLETAP,
- UserShortcutType.QUICK_SETTINGS,
- })
-
- /** Denotes the user shortcut type. */
- public @interface UserShortcutType {
- int EMPTY = 0;
- int SOFTWARE = 1;
- int HARDWARE = 1 << 1;
- int TRIPLETAP = 1 << 2;
- int TWOFINGER_DOUBLETAP = 1 << 3;
- int QUICK_SETTINGS = 1 << 4;
- }
-
- /**
* Denotes the quick setting tooltip type.
*
* {@code GUIDE_TO_EDIT} for QS tiles that need to be added by editing.
@@ -230,11 +202,11 @@
return;
}
- if ((shortcutTypes & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE) {
- optInValueToSettings(context, UserShortcutType.SOFTWARE, componentName);
+ if ((shortcutTypes & SOFTWARE) == SOFTWARE) {
+ optInValueToSettings(context, SOFTWARE, componentName);
}
- if (((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE)) {
- optInValueToSettings(context, UserShortcutType.HARDWARE, componentName);
+ if (((shortcutTypes & HARDWARE) == HARDWARE)) {
+ optInValueToSettings(context, HARDWARE, componentName);
}
}
@@ -301,11 +273,11 @@
return;
}
- if ((shortcutTypes & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE) {
- optOutValueFromSettings(context, UserShortcutType.SOFTWARE, componentName);
+ if ((shortcutTypes & SOFTWARE) == SOFTWARE) {
+ optOutValueFromSettings(context, SOFTWARE, componentName);
}
- if (((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE)) {
- optOutValueFromSettings(context, UserShortcutType.HARDWARE, componentName);
+ if (((shortcutTypes & HARDWARE) == HARDWARE)) {
+ optOutValueFromSettings(context, HARDWARE, componentName);
}
}
@@ -364,16 +336,16 @@
static boolean hasValuesInSettings(Context context, int shortcutTypes,
@NonNull ComponentName componentName) {
boolean exist = false;
- if ((shortcutTypes & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE) {
- exist = hasValueInSettings(context, UserShortcutType.SOFTWARE, componentName);
+ if ((shortcutTypes & SOFTWARE) == SOFTWARE) {
+ exist = hasValueInSettings(context, SOFTWARE, componentName);
}
- if (((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE)) {
- exist |= hasValueInSettings(context, UserShortcutType.HARDWARE, componentName);
+ if (((shortcutTypes & HARDWARE) == HARDWARE)) {
+ exist |= hasValueInSettings(context, HARDWARE, componentName);
}
if (android.view.accessibility.Flags.a11yQsShortcut()) {
- if ((shortcutTypes & UserShortcutType.QUICK_SETTINGS)
- == UserShortcutType.QUICK_SETTINGS) {
- exist |= hasValueInSettings(context, UserShortcutType.QUICK_SETTINGS,
+ if ((shortcutTypes & QUICK_SETTINGS)
+ == QUICK_SETTINGS) {
+ exist |= hasValueInSettings(context, QUICK_SETTINGS,
componentName);
}
}
@@ -427,16 +399,16 @@
*/
static int getUserShortcutTypesFromSettings(Context context,
@NonNull ComponentName componentName) {
- int shortcutTypes = UserShortcutType.EMPTY;
- if (hasValuesInSettings(context, UserShortcutType.SOFTWARE, componentName)) {
- shortcutTypes |= UserShortcutType.SOFTWARE;
+ int shortcutTypes = DEFAULT;
+ if (hasValuesInSettings(context, SOFTWARE, componentName)) {
+ shortcutTypes |= SOFTWARE;
}
- if (hasValuesInSettings(context, UserShortcutType.HARDWARE, componentName)) {
- shortcutTypes |= UserShortcutType.HARDWARE;
+ if (hasValuesInSettings(context, HARDWARE, componentName)) {
+ shortcutTypes |= HARDWARE;
}
if (android.view.accessibility.Flags.a11yQsShortcut()) {
- if (hasValuesInSettings(context, UserShortcutType.QUICK_SETTINGS, componentName)) {
- shortcutTypes |= UserShortcutType.QUICK_SETTINGS;
+ if (hasValuesInSettings(context, QUICK_SETTINGS, componentName)) {
+ shortcutTypes |= QUICK_SETTINGS;
}
}
@@ -455,11 +427,11 @@
}
switch (shortcutType) {
- case UserShortcutType.SOFTWARE:
+ case SOFTWARE:
return Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS;
- case UserShortcutType.HARDWARE:
+ case HARDWARE:
return Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE;
- case UserShortcutType.TRIPLETAP:
+ case TRIPLETAP:
return Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED;
default:
throw new IllegalArgumentException(
diff --git a/src/com/android/settings/accessibility/AutoBrightnessPreferenceFragmentForSetupWizard.java b/src/com/android/settings/accessibility/AutoBrightnessPreferenceFragmentForSetupWizard.java
index ad1ae96..19db266 100644
--- a/src/com/android/settings/accessibility/AutoBrightnessPreferenceFragmentForSetupWizard.java
+++ b/src/com/android/settings/accessibility/AutoBrightnessPreferenceFragmentForSetupWizard.java
@@ -27,11 +27,13 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.preference.PreferenceScreen;
import androidx.recyclerview.widget.RecyclerView;
import com.android.settings.R;
import com.android.settings.display.AutoBrightnessSettings;
import com.android.settingslib.Utils;
+import com.android.settingslib.widget.FooterPreference;
import com.google.android.setupcompat.template.FooterBarMixin;
import com.google.android.setupdesign.GlifPreferenceLayout;
@@ -41,10 +43,14 @@
*/
public class AutoBrightnessPreferenceFragmentForSetupWizard extends AutoBrightnessSettings {
+ private static final String FOOTER_PREFERENCE_KEY = "auto_brightness_footer";
+
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
+ updateFooterContentDescription();
+
if (view instanceof GlifPreferenceLayout) {
final GlifPreferenceLayout layout = (GlifPreferenceLayout) view;
final String title = getContext().getString(
@@ -78,4 +84,15 @@
public int getMetricsCategory() {
return SettingsEnums.SUW_ACCESSIBILITY_AUTO_BRIGHTNESS;
}
+
+ private void updateFooterContentDescription() {
+ final PreferenceScreen screen = getPreferenceScreen();
+ final FooterPreference footerPreference = screen.findPreference(FOOTER_PREFERENCE_KEY);
+ if (footerPreference != null) {
+ String title = getString(R.string.auto_brightness_content_description_title);
+ final StringBuilder sb = new StringBuilder();
+ sb.append(title).append("\n\n").append(footerPreference.getTitle());
+ footerPreference.setContentDescription(sb);
+ }
+ }
}
diff --git a/src/com/android/settings/accessibility/BalanceSeekBar.java b/src/com/android/settings/accessibility/BalanceSeekBar.java
index 19301ae..7441d6f 100644
--- a/src/com/android/settings/accessibility/BalanceSeekBar.java
+++ b/src/com/android/settings/accessibility/BalanceSeekBar.java
@@ -20,6 +20,7 @@
import static com.android.settings.Utils.isNightMode;
+import android.annotation.StringRes;
import android.content.Context;
import android.content.res.ColorStateList;
import android.content.res.Resources;
@@ -86,6 +87,14 @@
Settings.System.putFloatForUser(mContext.getContentResolver(),
Settings.System.MASTER_BALANCE, balance, UserHandle.USER_CURRENT);
}
+ final int max = getMax();
+ if (Flags.audioBalanceStateDescription() && max > 0) {
+ seekBar.setStateDescription(createStateDescription(mContext,
+ R.string.audio_seek_bar_state_left_first,
+ R.string.audio_seek_bar_state_right_first,
+ progress,
+ max));
+ }
// If fromUser is false, the call is a set from the framework on creation or on
// internal update. The progress may be zero, ignore (don't change system settings).
@@ -161,5 +170,19 @@
canvas.restore();
super.onDraw(canvas);
}
+
+ private static CharSequence createStateDescription(Context context,
+ @StringRes int resIdLeftFirst, @StringRes int resIdRightFirst,
+ int progress, float max) {
+ final boolean isLayoutRtl = context.getResources().getConfiguration().getLayoutDirection()
+ == LAYOUT_DIRECTION_RTL;
+ final int rightPercent = (int) (100 * (progress / max));
+ final int leftPercent = 100 - rightPercent;
+ if (rightPercent > leftPercent || (rightPercent == leftPercent && isLayoutRtl)) {
+ return context.getString(resIdRightFirst, rightPercent, leftPercent);
+ } else {
+ return context.getString(resIdLeftFirst, leftPercent, rightPercent);
+ }
+ }
}
diff --git a/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceController.java b/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceController.java
index 21800b9..3ba0f0d 100644
--- a/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceController.java
+++ b/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceController.java
@@ -111,9 +111,8 @@
@Override
public int getAvailabilityStatus() {
if (Flags.keyboardCategoryEnabled()
- && mContext.getResources().getBoolean(R.bool.config_keyboard_vibration_supported)
- && mContext.getResources().getFloat(
- com.android.internal.R.dimen.config_keyboardHapticFeedbackFixedAmplitude) > 0) {
+ && mContext.getResources().getBoolean(
+ com.android.internal.R.bool.config_keyboardVibrationSettingsSupported)) {
return AVAILABLE;
}
return UNSUPPORTED_ON_DEVICE;
@@ -155,8 +154,8 @@
}
private boolean isKeyboardVibrationSwitchEnabled() {
- return Settings.System.getInt(mContext.getContentResolver(), KEYBOARD_VIBRATION_ENABLED,
- mVibrator.isDefaultKeyboardVibrationEnabled() ? ON : OFF) == ON;
+ return Settings.System.getInt(
+ mContext.getContentResolver(), KEYBOARD_VIBRATION_ENABLED, ON) == ON;
}
private boolean updateKeyboardVibrationSetting(boolean enable) {
diff --git a/src/com/android/settings/accessibility/MagnificationOneFingerPanningPreferenceController.java b/src/com/android/settings/accessibility/MagnificationOneFingerPanningPreferenceController.java
index 3e3b8d9..a6d87f2 100644
--- a/src/com/android/settings/accessibility/MagnificationOneFingerPanningPreferenceController.java
+++ b/src/com/android/settings/accessibility/MagnificationOneFingerPanningPreferenceController.java
@@ -28,6 +28,7 @@
import android.provider.Settings;
import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
@@ -103,16 +104,10 @@
@Override
public CharSequence getSummary() {
- if (!mSwitchPreference.isEnabled()) {
- return mContext.getString(
- R.string.accessibility_magnification_one_finger_panning_summary_unavailable);
- }
-
- return (isChecked())
- ? mContext.getString(
- R.string.accessibility_magnification_one_finger_panning_summary_on)
- : mContext.getString(
- R.string.accessibility_magnification_one_finger_panning_summary_off);
+ @StringRes int resId = mSwitchPreference.isEnabled()
+ ? R.string.accessibility_magnification_one_finger_panning_summary
+ : R.string.accessibility_magnification_one_finger_panning_summary_unavailable;
+ return mContext.getString(resId);
}
@Override
diff --git a/src/com/android/settings/accessibility/PreferredShortcut.java b/src/com/android/settings/accessibility/PreferredShortcut.java
index 1654992..c26960e 100644
--- a/src/com/android/settings/accessibility/PreferredShortcut.java
+++ b/src/com/android/settings/accessibility/PreferredShortcut.java
@@ -19,7 +19,7 @@
import android.content.ComponentName;
import android.text.TextUtils;
-import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
+import com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
import com.google.common.base.Objects;
diff --git a/src/com/android/settings/accessibility/PreferredShortcuts.java b/src/com/android/settings/accessibility/PreferredShortcuts.java
index 895430a..c3e64ab 100644
--- a/src/com/android/settings/accessibility/PreferredShortcuts.java
+++ b/src/com/android/settings/accessibility/PreferredShortcuts.java
@@ -16,6 +16,10 @@
package com.android.settings.accessibility;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.DEFAULT;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
+
import android.content.ComponentName;
import android.content.Context;
import android.content.SharedPreferences;
@@ -27,8 +31,8 @@
import androidx.annotation.VisibleForTesting;
import com.android.internal.accessibility.common.ShortcutConstants;
+import com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
import com.android.internal.accessibility.util.ShortcutUtils;
-import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
import java.util.HashSet;
import java.util.Map;
@@ -43,18 +47,18 @@
/**
* Retrieves the user preferred shortcut types for the given {@code componentName} from
* SharedPreferences. If the user doesn't have a preferred shortcut,
- * {@link ShortcutConstants.UserShortcutType.SOFTWARE} is returned.
+ * {@link SOFTWARE} is returned.
*
* @param context {@link Context} to access the {@link SharedPreferences}
* @param componentName Name of the service or activity, should be the format of {@link
* ComponentName#flattenToString()}.
- * @return {@link ShortcutConstants.UserShortcutType}
+ * @return {@link UserShortcutType}
*/
- @ShortcutConstants.UserShortcutType
+ @UserShortcutType
public static int retrieveUserShortcutType(
@NonNull Context context, @NonNull String componentName) {
return retrieveUserShortcutType(
- context, componentName, ShortcutConstants.UserShortcutType.SOFTWARE);
+ context, componentName, SOFTWARE);
}
/**
@@ -66,13 +70,13 @@
* ComponentName#flattenToString()}.
* @param defaultTypes The default shortcut types to use if the user doesn't have a
* preferred shortcut.
- * @return {@link ShortcutConstants.UserShortcutType}
+ * @return {@link UserShortcutType}
*/
- @ShortcutConstants.UserShortcutType
+ @UserShortcutType
public static int retrieveUserShortcutType(
@NonNull Context context,
@NonNull String componentName,
- @ShortcutConstants.UserShortcutType int defaultTypes) {
+ @UserShortcutType int defaultTypes) {
// Create a mutable set to modify
final Set<String> info = new HashSet<>(getFromSharedPreferences(context));
@@ -121,7 +125,7 @@
final Map<Integer, Set<String>> shortcutTypeToTargets = new ArrayMap<>();
for (int shortcutType : ShortcutConstants.USER_SHORTCUT_TYPES) {
if (!Flags.a11yQsShortcut()
- && shortcutType == ShortcutConstants.UserShortcutType.QUICK_SETTINGS) {
+ && shortcutType == QUICK_SETTINGS) {
// Skip saving quick setting as preferred shortcut option when flag is not enabled
continue;
}
@@ -132,14 +136,14 @@
}
for (String target : components) {
- int shortcutTypes = ShortcutConstants.UserShortcutType.DEFAULT;
+ int shortcutTypes = DEFAULT;
for (Map.Entry<Integer, Set<String>> entry : shortcutTypeToTargets.entrySet()) {
if (entry.getValue().contains(target)) {
shortcutTypes |= entry.getKey();
}
}
- if (shortcutTypes != ShortcutConstants.UserShortcutType.DEFAULT) {
+ if (shortcutTypes != DEFAULT) {
final PreferredShortcut shortcut = new PreferredShortcut(
target, shortcutTypes);
PreferredShortcuts.saveUserShortcutType(context, shortcut);
diff --git a/src/com/android/settings/accessibility/ReduceBrightColorsPreferenceController.java b/src/com/android/settings/accessibility/ReduceBrightColorsPreferenceController.java
index 3ca089c..e7f59f4 100644
--- a/src/com/android/settings/accessibility/ReduceBrightColorsPreferenceController.java
+++ b/src/com/android/settings/accessibility/ReduceBrightColorsPreferenceController.java
@@ -29,6 +29,7 @@
import android.provider.Settings;
import android.text.TextUtils;
+import androidx.annotation.Nullable;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
@@ -125,9 +126,14 @@
mContext.getContentResolver().unregisterContentObserver(mSettingsContentObserver);
}
+ @Nullable
@Override
protected ComponentName getTileComponentName() {
- return REDUCE_BRIGHT_COLORS_TILE_SERVICE_COMPONENT_NAME;
+ // TODO: When clean up the feature flag, change the parent class from
+ // AccessibilityQuickSettingsPrimarySwitchPreferenceController to
+ // TogglePreferenceController
+ return android.view.accessibility.Flags.a11yQsShortcut()
+ ? null : REDUCE_BRIGHT_COLORS_TILE_SERVICE_COMPONENT_NAME;
}
@Override
diff --git a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
index a57b459..8bbc7a8 100644
--- a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
@@ -16,6 +16,10 @@
package com.android.settings.accessibility;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.DEFAULT;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
import static com.android.settings.accessibility.AccessibilityDialogUtils.DialogEnums;
import android.app.Activity;
@@ -55,11 +59,11 @@
import androidx.preference.PreferenceScreen;
import com.android.internal.accessibility.common.ShortcutConstants;
+import com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.accessibility.AccessibilityDialogUtils.DialogType;
import com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType;
-import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
import com.android.settings.accessibility.shortcuts.EditShortcutsPreferenceFragment;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.flags.Flags;
@@ -101,6 +105,7 @@
protected SettingsMainSwitchPreference mToggleServiceSwitchPreference;
protected ShortcutPreference mShortcutPreference;
protected Preference mSettingsPreference;
+ @Nullable protected AccessibilityFooterPreference mHtmlFooterPreference;
protected AccessibilityFooterPreferenceController mFooterPreferenceController;
protected String mPreferenceKey;
protected Dialog mDialog;
@@ -589,27 +594,40 @@
}
private void initHtmlTextPreference() {
- if (TextUtils.isEmpty(mHtmlDescription)) {
+ if (TextUtils.isEmpty(getCurrentHtmlDescription())) {
return;
}
final PreferenceScreen screen = getPreferenceScreen();
- final CharSequence htmlDescription = Html.fromHtml(mHtmlDescription.toString(),
- Html.FROM_HTML_MODE_COMPACT, mImageGetter, /* tagHandler= */ null);
- final AccessibilityFooterPreference htmlFooterPreference =
+ mHtmlFooterPreference =
new AccessibilityFooterPreference(screen.getContext());
- htmlFooterPreference.setKey(KEY_HTML_DESCRIPTION_PREFERENCE);
- htmlFooterPreference.setSummary(htmlDescription);
- screen.addPreference(htmlFooterPreference);
+ mHtmlFooterPreference.setKey(KEY_HTML_DESCRIPTION_PREFERENCE);
+ updateHtmlTextPreference();
+ screen.addPreference(mHtmlFooterPreference);
// TODO(b/171272809): Migrate to DashboardFragment.
final String title = getString(R.string.accessibility_introduction_title, mPackageName);
mFooterPreferenceController = new AccessibilityFooterPreferenceController(
- screen.getContext(), htmlFooterPreference.getKey());
+ screen.getContext(), mHtmlFooterPreference.getKey());
mFooterPreferenceController.setIntroductionTitle(title);
mFooterPreferenceController.displayPreference(screen);
}
+ protected void updateHtmlTextPreference() {
+ if (mHtmlFooterPreference == null) {
+ return;
+ }
+
+ String description = getCurrentHtmlDescription().toString();
+ final CharSequence htmlDescription = Html.fromHtml(description,
+ Html.FROM_HTML_MODE_COMPACT, mImageGetter, /* tagHandler= */ null);
+ mHtmlFooterPreference.setSummary(htmlDescription);
+ }
+
+ CharSequence getCurrentHtmlDescription() {
+ return mHtmlDescription;
+ }
+
private void initFooterPreference() {
if (!TextUtils.isEmpty(mDescription)) {
createFooterPreference(getPreferenceScreen(), mDescription,
@@ -617,7 +635,6 @@
}
}
-
/**
* Creates {@link AccessibilityFooterPreference} and append into {@link PreferenceScreen}
*
@@ -664,13 +681,13 @@
if (value == NOT_SET) {
final int lastNonEmptyUserShortcutType = getUserPreferredShortcutTypes();
value = mShortcutPreference.isChecked() ? lastNonEmptyUserShortcutType
- : UserShortcutType.EMPTY;
+ : DEFAULT;
}
mSoftwareTypeCheckBox.setChecked(
- hasShortcutType(value, UserShortcutType.SOFTWARE));
+ hasShortcutType(value, SOFTWARE));
mHardwareTypeCheckBox.setChecked(
- hasShortcutType(value, UserShortcutType.HARDWARE));
+ hasShortcutType(value, HARDWARE));
}
private int restoreOnConfigChangedValue() {
@@ -692,12 +709,12 @@
return NOT_SET;
}
- int value = UserShortcutType.EMPTY;
+ int value = DEFAULT;
if (mSoftwareTypeCheckBox.isChecked()) {
- value |= UserShortcutType.SOFTWARE;
+ value |= SOFTWARE;
}
if (mHardwareTypeCheckBox.isChecked()) {
- value |= UserShortcutType.HARDWARE;
+ value |= HARDWARE;
}
return value;
}
@@ -717,16 +734,16 @@
final List<CharSequence> list = new ArrayList<>();
if (android.view.accessibility.Flags.a11yQsShortcut()) {
- if (hasShortcutType(shortcutTypes, UserShortcutType.QUICK_SETTINGS)) {
+ if (hasShortcutType(shortcutTypes, QUICK_SETTINGS)) {
final CharSequence qsTitle = context.getText(
R.string.accessibility_feature_shortcut_setting_summary_quick_settings);
list.add(qsTitle);
}
}
- if (hasShortcutType(shortcutTypes, UserShortcutType.SOFTWARE)) {
+ if (hasShortcutType(shortcutTypes, SOFTWARE)) {
list.add(getSoftwareShortcutTypeSummary(context));
}
- if (hasShortcutType(shortcutTypes, UserShortcutType.HARDWARE)) {
+ if (hasShortcutType(shortcutTypes, HARDWARE)) {
final CharSequence hardwareTitle = context.getText(
R.string.accessibility_shortcut_hardware_keyword);
list.add(hardwareTitle);
@@ -780,7 +797,7 @@
saveNonEmptyUserShortcutType(value);
AccessibilityUtil.optInAllValuesToSettings(getPrefContext(), value, mComponentName);
AccessibilityUtil.optOutAllValuesFromSettings(getPrefContext(), ~value, mComponentName);
- final boolean shortcutAssigned = value != UserShortcutType.EMPTY;
+ final boolean shortcutAssigned = value != DEFAULT;
mShortcutPreference.setChecked(shortcutAssigned);
mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext()));
@@ -801,7 +818,7 @@
final int shortcutTypes = AccessibilityUtil.getUserShortcutTypesFromSettings(
getPrefContext(), mComponentName);
- if (shortcutTypes != UserShortcutType.EMPTY) {
+ if (shortcutTypes != DEFAULT) {
final PreferredShortcut shortcut = new PreferredShortcut(
mComponentName.flattenToString(), shortcutTypes);
PreferredShortcuts.saveUserShortcutType(getPrefContext(), shortcut);
@@ -896,7 +913,7 @@
@VisibleForTesting
void saveNonEmptyUserShortcutType(int type) {
- if (type == UserShortcutType.EMPTY) {
+ if (type == DEFAULT) {
return;
}
@@ -983,7 +1000,7 @@
*/
@ShortcutConstants.UserShortcutType
protected int getDefaultShortcutTypes() {
- return ShortcutConstants.UserShortcutType.SOFTWARE;
+ return SOFTWARE;
}
/**
diff --git a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
index fc75cde..34ed5cb 100644
--- a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
@@ -18,6 +18,12 @@
import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_COMPONENT_NAME;
import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_CONTROLLER_NAME;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.DEFAULT;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.TRIPLETAP;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.TWOFINGER_DOUBLETAP;
import static com.android.settings.accessibility.AccessibilityDialogUtils.DialogEnums;
import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
@@ -45,18 +51,19 @@
import android.widget.CheckBox;
import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.SwitchPreferenceCompat;
import androidx.preference.TwoStatePreference;
+import com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
import com.android.internal.annotations.VisibleForTesting;
import com.android.server.accessibility.Flags;
import com.android.settings.DialogCreatable;
import com.android.settings.R;
import com.android.settings.accessibility.AccessibilityDialogUtils.DialogType;
import com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType;
-import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
import com.android.settings.accessibility.shortcuts.EditShortcutsPreferenceFragment;
import com.android.settings.utils.LocaleUtils;
import com.android.settingslib.core.AbstractPreferenceController;
@@ -91,6 +98,9 @@
@Nullable private CheckBox mTwoFingerTripleTapTypeCheckBox;
private DialogCreatable mDialogDelegate;
+ @Nullable
+ MagnificationOneFingerPanningPreferenceController mOneFingerPanningPreferenceController;
+
private boolean mInSetupWizard;
@Override
@@ -236,7 +246,8 @@
context.getString(R.string.accessibility_screen_magnification_intro_text));
}
- if (!arguments.containsKey(AccessibilitySettings.EXTRA_HTML_DESCRIPTION)) {
+ if (!arguments.containsKey(AccessibilitySettings.EXTRA_HTML_DESCRIPTION)
+ && !Flags.enableMagnificationOneFingerPanningGesture()) {
String summary = MessageFormat.format(
context.getString(R.string.accessibility_screen_magnification_summary),
new Object[]{1, 2, 3, 4, 5});
@@ -308,12 +319,12 @@
MagnificationOneFingerPanningPreferenceController.PREF_KEY);
generalCategory.addPreference(oneFingerPanningPreference);
- var oneFingerPanningPreferenceController =
+ mOneFingerPanningPreferenceController =
new MagnificationOneFingerPanningPreferenceController(getContext());
- oneFingerPanningPreferenceController.setInSetupWizard(mInSetupWizard);
- getSettingsLifecycle().addObserver(oneFingerPanningPreferenceController);
- oneFingerPanningPreferenceController.displayPreference(getPreferenceScreen());
- addPreferenceController(oneFingerPanningPreferenceController);
+ mOneFingerPanningPreferenceController.setInSetupWizard(mInSetupWizard);
+ getSettingsLifecycle().addObserver(mOneFingerPanningPreferenceController);
+ mOneFingerPanningPreferenceController.displayPreference(getPreferenceScreen());
+ addPreferenceController(mOneFingerPanningPreferenceController);
}
private void addJoystickSetting(PreferenceCategory generalCategory) {
@@ -360,19 +371,19 @@
return NOT_SET;
}
- int value = UserShortcutType.EMPTY;
+ int value = DEFAULT;
if (mSoftwareTypeCheckBox.isChecked()) {
- value |= UserShortcutType.SOFTWARE;
+ value |= SOFTWARE;
}
if (mHardwareTypeCheckBox.isChecked()) {
- value |= UserShortcutType.HARDWARE;
+ value |= HARDWARE;
}
if (mTripleTapTypeCheckBox.isChecked()) {
- value |= UserShortcutType.TRIPLETAP;
+ value |= TRIPLETAP;
}
if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
if (mTwoFingerTripleTapTypeCheckBox.isChecked()) {
- value |= UserShortcutType.TWOFINGER_DOUBLETAP;
+ value |= TWOFINGER_DOUBLETAP;
}
}
return value;
@@ -422,18 +433,18 @@
if (value == NOT_SET) {
final int lastNonEmptyUserShortcutType = getUserPreferredShortcutTypes();
value = mShortcutPreference.isChecked() ? lastNonEmptyUserShortcutType
- : UserShortcutType.EMPTY;
+ : DEFAULT;
}
mSoftwareTypeCheckBox.setChecked(
- hasShortcutType(value, UserShortcutType.SOFTWARE));
+ hasShortcutType(value, SOFTWARE));
mHardwareTypeCheckBox.setChecked(
- hasShortcutType(value, UserShortcutType.HARDWARE));
+ hasShortcutType(value, HARDWARE));
mTripleTapTypeCheckBox.setChecked(
- hasShortcutType(value, UserShortcutType.TRIPLETAP));
+ hasShortcutType(value, TRIPLETAP));
if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
mTwoFingerTripleTapTypeCheckBox.setChecked(
- hasShortcutType(value, UserShortcutType.TWOFINGER_DOUBLETAP));
+ hasShortcutType(value, TWOFINGER_DOUBLETAP));
}
}
@@ -471,6 +482,12 @@
);
contentObserver.registerKeysToObserverCallback(keysToObserve,
key -> updatePreferencesState());
+
+ if (Flags.enableMagnificationOneFingerPanningGesture()) {
+ contentObserver.registerKeysToObserverCallback(
+ List.of(Settings.Secure.ACCESSIBILITY_SINGLE_FINGER_PANNING_ENABLED),
+ key -> updateHtmlTextPreference());
+ }
}
private void updatePreferencesState() {
@@ -481,6 +498,25 @@
}
@Override
+ CharSequence getCurrentHtmlDescription() {
+ CharSequence origin = super.getCurrentHtmlDescription();
+ if (!TextUtils.isEmpty(origin)) {
+ // If in ToggleFeaturePreferenceFragment we already have a fixed html description, we
+ // should use the fixed one, otherwise we'll dynamically decide the description.
+ return origin;
+ }
+
+ Context context = getContext();
+ if (mOneFingerPanningPreferenceController != null && context != null) {
+ @StringRes int resId = mOneFingerPanningPreferenceController.isChecked()
+ ? R.string.accessibility_screen_magnification_summary_one_finger_panning_on
+ : R.string.accessibility_screen_magnification_summary_one_finger_panning_off;
+ return MessageFormat.format(context.getString(resId), new Object[]{1, 2, 3, 4, 5});
+ }
+ return "";
+ }
+
+ @Override
protected List<String> getShortcutFeatureSettingsKeys() {
final List<String> shortcutKeys = super.getShortcutFeatureSettingsKeys();
shortcutKeys.add(Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED);
@@ -499,28 +535,28 @@
// LINT.IfChange(shortcut_type_ui_order)
final List<CharSequence> list = new ArrayList<>();
if (android.view.accessibility.Flags.a11yQsShortcut()) {
- if (hasShortcutType(shortcutTypes, UserShortcutType.QUICK_SETTINGS)) {
+ if (hasShortcutType(shortcutTypes, QUICK_SETTINGS)) {
final CharSequence qsTitle = context.getText(
R.string.accessibility_feature_shortcut_setting_summary_quick_settings);
list.add(qsTitle);
}
}
- if (hasShortcutType(shortcutTypes, UserShortcutType.SOFTWARE)) {
+ if (hasShortcutType(shortcutTypes, SOFTWARE)) {
list.add(getSoftwareShortcutTypeSummary(context));
}
- if (hasShortcutType(shortcutTypes, UserShortcutType.HARDWARE)) {
+ if (hasShortcutType(shortcutTypes, HARDWARE)) {
final CharSequence hardwareTitle = context.getText(
R.string.accessibility_shortcut_hardware_keyword);
list.add(hardwareTitle);
}
if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
- if (hasShortcutType(shortcutTypes, UserShortcutType.TWOFINGER_DOUBLETAP)) {
+ if (hasShortcutType(shortcutTypes, TWOFINGER_DOUBLETAP)) {
final CharSequence twoFingerDoubleTapTitle = context.getString(
R.string.accessibility_shortcut_two_finger_double_tap_keyword, 2);
list.add(twoFingerDoubleTapTitle);
}
}
- if (hasShortcutType(shortcutTypes, UserShortcutType.TRIPLETAP)) {
+ if (hasShortcutType(shortcutTypes, TRIPLETAP)) {
final CharSequence tripleTapTitle = context.getText(
R.string.accessibility_shortcut_triple_tap_keyword);
list.add(tripleTapTitle);
@@ -543,7 +579,7 @@
saveNonEmptyUserShortcutType(value);
optInAllMagnificationValuesToSettings(getPrefContext(), value);
optOutAllMagnificationValuesFromSettings(getPrefContext(), ~value);
- mShortcutPreference.setChecked(value != UserShortcutType.EMPTY);
+ mShortcutPreference.setChecked(value != DEFAULT);
mShortcutPreference.setSummary(
getShortcutTypeSummary(getPrefContext()));
@@ -643,7 +679,7 @@
@Override
protected void updateShortcutPreferenceData() {
final int shortcutTypes = getUserShortcutTypeFromSettings(getPrefContext());
- if (shortcutTypes != UserShortcutType.EMPTY) {
+ if (shortcutTypes != DEFAULT) {
final PreferredShortcut shortcut = new PreferredShortcut(
MAGNIFICATION_CONTROLLER_NAME, shortcutTypes);
PreferredShortcuts.saveUserShortcutType(getPrefContext(), shortcut);
@@ -678,7 +714,7 @@
@VisibleForTesting
void saveNonEmptyUserShortcutType(int type) {
- if (type == UserShortcutType.EMPTY) {
+ if (type == DEFAULT) {
return;
}
@@ -689,25 +725,25 @@
@VisibleForTesting
static void optInAllMagnificationValuesToSettings(Context context, int shortcutTypes) {
- if ((shortcutTypes & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE) {
- optInMagnificationValueToSettings(context, UserShortcutType.SOFTWARE);
+ if ((shortcutTypes & SOFTWARE) == SOFTWARE) {
+ optInMagnificationValueToSettings(context, SOFTWARE);
}
- if (((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE)) {
- optInMagnificationValueToSettings(context, UserShortcutType.HARDWARE);
+ if (((shortcutTypes & HARDWARE) == HARDWARE)) {
+ optInMagnificationValueToSettings(context, HARDWARE);
}
- if (((shortcutTypes & UserShortcutType.TRIPLETAP) == UserShortcutType.TRIPLETAP)) {
- optInMagnificationValueToSettings(context, UserShortcutType.TRIPLETAP);
+ if (((shortcutTypes & TRIPLETAP) == TRIPLETAP)) {
+ optInMagnificationValueToSettings(context, TRIPLETAP);
}
if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
- if (((shortcutTypes & UserShortcutType.TWOFINGER_DOUBLETAP)
- == UserShortcutType.TWOFINGER_DOUBLETAP)) {
- optInMagnificationValueToSettings(context, UserShortcutType.TWOFINGER_DOUBLETAP);
+ if (((shortcutTypes & TWOFINGER_DOUBLETAP)
+ == TWOFINGER_DOUBLETAP)) {
+ optInMagnificationValueToSettings(context, TWOFINGER_DOUBLETAP);
}
}
if (android.view.accessibility.Flags.a11yQsShortcut()) {
- if (((shortcutTypes & UserShortcutType.QUICK_SETTINGS)
- == UserShortcutType.QUICK_SETTINGS)) {
- optInMagnificationValueToSettings(context, UserShortcutType.QUICK_SETTINGS);
+ if (((shortcutTypes & QUICK_SETTINGS)
+ == QUICK_SETTINGS)) {
+ optInMagnificationValueToSettings(context, QUICK_SETTINGS);
}
}
}
@@ -727,14 +763,14 @@
return;
}
- if (shortcutType == UserShortcutType.TRIPLETAP) {
+ if (shortcutType == TRIPLETAP) {
Settings.Secure.putInt(context.getContentResolver(),
Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, ON);
return;
}
if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
- if (shortcutType == UserShortcutType.TWOFINGER_DOUBLETAP) {
+ if (shortcutType == TWOFINGER_DOUBLETAP) {
Settings.Secure.putInt(
context.getContentResolver(),
Settings.Secure.ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED,
@@ -760,7 +796,7 @@
Settings.Secure.putString(context.getContentResolver(), targetKey, joiner.toString());
// The size setting defaults to unknown. If the user has ever manually changed the size
// before, we do not automatically change it.
- if (shortcutType == UserShortcutType.SOFTWARE
+ if (shortcutType == SOFTWARE
&& Settings.Secure.getInt(context.getContentResolver(),
Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE,
FloatingMenuSizePreferenceController.Size.UNKNOWN)
@@ -774,25 +810,25 @@
@VisibleForTesting
static void optOutAllMagnificationValuesFromSettings(Context context,
int shortcutTypes) {
- if ((shortcutTypes & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE) {
- optOutMagnificationValueFromSettings(context, UserShortcutType.SOFTWARE);
+ if ((shortcutTypes & SOFTWARE) == SOFTWARE) {
+ optOutMagnificationValueFromSettings(context, SOFTWARE);
}
- if (((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE)) {
- optOutMagnificationValueFromSettings(context, UserShortcutType.HARDWARE);
+ if (((shortcutTypes & HARDWARE) == HARDWARE)) {
+ optOutMagnificationValueFromSettings(context, HARDWARE);
}
- if (((shortcutTypes & UserShortcutType.TRIPLETAP) == UserShortcutType.TRIPLETAP)) {
- optOutMagnificationValueFromSettings(context, UserShortcutType.TRIPLETAP);
+ if (((shortcutTypes & TRIPLETAP) == TRIPLETAP)) {
+ optOutMagnificationValueFromSettings(context, TRIPLETAP);
}
if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
- if (((shortcutTypes & UserShortcutType.TWOFINGER_DOUBLETAP)
- == UserShortcutType.TWOFINGER_DOUBLETAP)) {
- optOutMagnificationValueFromSettings(context, UserShortcutType.TWOFINGER_DOUBLETAP);
+ if (((shortcutTypes & TWOFINGER_DOUBLETAP)
+ == TWOFINGER_DOUBLETAP)) {
+ optOutMagnificationValueFromSettings(context, TWOFINGER_DOUBLETAP);
}
}
if (android.view.accessibility.Flags.a11yQsShortcut()) {
- if (((shortcutTypes & UserShortcutType.QUICK_SETTINGS)
- == UserShortcutType.QUICK_SETTINGS)) {
- optOutMagnificationValueFromSettings(context, UserShortcutType.QUICK_SETTINGS);
+ if (((shortcutTypes & QUICK_SETTINGS)
+ == QUICK_SETTINGS)) {
+ optOutMagnificationValueFromSettings(context, QUICK_SETTINGS);
}
}
}
@@ -812,14 +848,14 @@
return;
}
- if (shortcutType == UserShortcutType.TRIPLETAP) {
+ if (shortcutType == TRIPLETAP) {
Settings.Secure.putInt(context.getContentResolver(),
Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, OFF);
return;
}
if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
- if (shortcutType == UserShortcutType.TWOFINGER_DOUBLETAP) {
+ if (shortcutType == TWOFINGER_DOUBLETAP) {
Settings.Secure.putInt(
context.getContentResolver(),
Settings.Secure.ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED,
@@ -854,20 +890,20 @@
static boolean hasMagnificationValuesInSettings(Context context, int shortcutTypes) {
boolean exist = false;
- if ((shortcutTypes & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE) {
- exist = hasMagnificationValueInSettings(context, UserShortcutType.SOFTWARE);
+ if ((shortcutTypes & SOFTWARE) == SOFTWARE) {
+ exist = hasMagnificationValueInSettings(context, SOFTWARE);
}
- if (((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE)) {
- exist |= hasMagnificationValueInSettings(context, UserShortcutType.HARDWARE);
+ if (((shortcutTypes & HARDWARE) == HARDWARE)) {
+ exist |= hasMagnificationValueInSettings(context, HARDWARE);
}
- if (((shortcutTypes & UserShortcutType.TRIPLETAP) == UserShortcutType.TRIPLETAP)) {
- exist |= hasMagnificationValueInSettings(context, UserShortcutType.TRIPLETAP);
+ if (((shortcutTypes & TRIPLETAP) == TRIPLETAP)) {
+ exist |= hasMagnificationValueInSettings(context, TRIPLETAP);
}
if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
- if (((shortcutTypes & UserShortcutType.TWOFINGER_DOUBLETAP)
- == UserShortcutType.TWOFINGER_DOUBLETAP)) {
+ if (((shortcutTypes & TWOFINGER_DOUBLETAP)
+ == TWOFINGER_DOUBLETAP)) {
exist |= hasMagnificationValueInSettings(context,
- UserShortcutType.TWOFINGER_DOUBLETAP);
+ TWOFINGER_DOUBLETAP);
}
}
return exist;
@@ -875,13 +911,13 @@
private static boolean hasMagnificationValueInSettings(Context context,
@UserShortcutType int shortcutType) {
- if (shortcutType == UserShortcutType.TRIPLETAP) {
+ if (shortcutType == TRIPLETAP) {
return Settings.Secure.getInt(context.getContentResolver(),
Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, OFF) == ON;
}
if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
- if (shortcutType == UserShortcutType.TWOFINGER_DOUBLETAP) {
+ if (shortcutType == TWOFINGER_DOUBLETAP) {
return Settings.Secure.getInt(context.getContentResolver(),
Settings.Secure.ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED,
OFF) == ON;
@@ -907,19 +943,19 @@
}
private static int getUserShortcutTypeFromSettings(Context context) {
- int shortcutTypes = UserShortcutType.EMPTY;
- if (hasMagnificationValuesInSettings(context, UserShortcutType.SOFTWARE)) {
- shortcutTypes |= UserShortcutType.SOFTWARE;
+ int shortcutTypes = DEFAULT;
+ if (hasMagnificationValuesInSettings(context, SOFTWARE)) {
+ shortcutTypes |= SOFTWARE;
}
- if (hasMagnificationValuesInSettings(context, UserShortcutType.HARDWARE)) {
- shortcutTypes |= UserShortcutType.HARDWARE;
+ if (hasMagnificationValuesInSettings(context, HARDWARE)) {
+ shortcutTypes |= HARDWARE;
}
- if (hasMagnificationValuesInSettings(context, UserShortcutType.TRIPLETAP)) {
- shortcutTypes |= UserShortcutType.TRIPLETAP;
+ if (hasMagnificationValuesInSettings(context, TRIPLETAP)) {
+ shortcutTypes |= TRIPLETAP;
}
if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
- if (hasMagnificationValuesInSettings(context, UserShortcutType.TWOFINGER_DOUBLETAP)) {
- shortcutTypes |= UserShortcutType.TWOFINGER_DOUBLETAP;
+ if (hasMagnificationValuesInSettings(context, TWOFINGER_DOUBLETAP)) {
+ shortcutTypes |= TWOFINGER_DOUBLETAP;
}
}
return shortcutTypes;
@@ -934,7 +970,7 @@
// Get the user shortcut type from settings provider.
final int userShortcutType = getUserShortcutTypeFromSettings(context);
final CharSequence featureState =
- (userShortcutType != AccessibilityUtil.UserShortcutType.EMPTY)
+ (userShortcutType != DEFAULT)
? context.getText(R.string.accessibility_summary_shortcut_enabled)
: context.getText(R.string.generic_accessibility_feature_shortcut_off);
final CharSequence featureSummary = context.getText(R.string.magnification_feature_summary);
diff --git a/src/com/android/settings/accessibility/VolumeShortcutToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/VolumeShortcutToggleAccessibilityServicePreferenceFragment.java
index eccfbce..11aa565 100644
--- a/src/com/android/settings/accessibility/VolumeShortcutToggleAccessibilityServicePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/VolumeShortcutToggleAccessibilityServicePreferenceFragment.java
@@ -16,12 +16,14 @@
package com.android.settings.accessibility;
-import static com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
import android.accessibilityservice.AccessibilityServiceInfo;
import android.os.Bundle;
import android.view.View;
+import com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
import com.android.settings.R;
/**
@@ -44,7 +46,7 @@
mShortcutPreference.setSummary(hardwareTitle);
mShortcutPreference.setSettingsEditable(false);
- setAllowedPreferredShortcutType(UserShortcutType.HARDWARE);
+ setAllowedPreferredShortcutType(HARDWARE);
}
@Override
@@ -56,9 +58,9 @@
final boolean hasRequestAccessibilityButtonFlag =
(info.flags & AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON) != 0;
if (hasRequestAccessibilityButtonFlag && isServiceOn) {
- shortcutTypes |= UserShortcutType.SOFTWARE;
+ shortcutTypes |= SOFTWARE;
} else {
- shortcutTypes &= (~UserShortcutType.SOFTWARE);
+ shortcutTypes &= (~SOFTWARE);
}
return shortcutTypes;
diff --git a/src/com/android/settings/biometrics/BiometricEnrollBase.java b/src/com/android/settings/biometrics/BiometricEnrollBase.java
index 335d0b9..37ada23 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollBase.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollBase.java
@@ -68,6 +68,8 @@
public static final String EXTRA_FINISHED_ENROLL_FACE = "finished_enrolling_face";
public static final String EXTRA_FINISHED_ENROLL_FINGERPRINT = "finished_enrolling_fingerprint";
public static final String EXTRA_LAUNCHED_POSTURE_GUIDANCE = "launched_posture_guidance";
+ public static final String EXTRA_BIOMETRICS_AUTHENTICATED_SUCCESSFULLY =
+ "biometrics_authenticated_successfully";
/**
* Used by the choose fingerprint wizard to indicate the wizard is
@@ -115,6 +117,7 @@
public static final int LEARN_MORE_REQUEST = 3;
public static final int CONFIRM_REQUEST = 4;
public static final int ENROLL_REQUEST = 5;
+ public static final int BIOMETRIC_AUTH_REQUEST = 6;
/**
* Request code when starting another biometric enrollment from within a biometric flow. For
diff --git a/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java b/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
index b174788..caa7327 100644
--- a/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
+++ b/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
@@ -65,6 +65,7 @@
static final int CONFIRM_REQUEST = 2001;
private static final int CHOOSE_LOCK_REQUEST = 2002;
protected static final int ACTIVE_UNLOCK_REQUEST = 2003;
+ private static final int BIOMETRIC_AUTH_REQUEST = 2004;
private static final String SAVE_STATE_CONFIRM_CREDETIAL = "confirm_credential";
private static final String DO_NOT_FINISH_ACTIVITY = "do_not_finish_activity";
@@ -72,10 +73,15 @@
static final String RETRY_PREFERENCE_KEY = "retry_preference_key";
@VisibleForTesting
static final String RETRY_PREFERENCE_BUNDLE = "retry_preference_bundle";
+ private static final String BIOMETRICS_AUTH_REQUESTED = "biometrics_auth_requested";
+ private static final String BIOMETRICS_AUTHENTICATED_SUCCESSFULLY =
+ "biometrics_authenticated_successfully";
protected int mUserId;
protected long mGkPwHandle;
private boolean mConfirmCredential;
+ private boolean mBiometricsAuthenticationRequested;
+ private boolean mBiometricsSuccessfullyAuthenticated;
@Nullable private FaceManager mFaceManager;
@Nullable private FingerprintManager mFingerprintManager;
// Do not finish() if choosing/confirming credential, showing fp/face settings, or launching
@@ -113,6 +119,9 @@
mGkPwHandle = BiometricUtils.getGatekeeperPasswordHandle(getIntent());
}
+ mBiometricsSuccessfullyAuthenticated = getIntent().getBooleanExtra(
+ BIOMETRICS_AUTHENTICATED_SUCCESSFULLY, false);
+
if (savedInstanceState != null) {
mConfirmCredential = savedInstanceState.getBoolean(SAVE_STATE_CONFIRM_CREDETIAL);
mDoNotFinishActivity = savedInstanceState.getBoolean(DO_NOT_FINISH_ACTIVITY);
@@ -123,11 +132,20 @@
mGkPwHandle = savedInstanceState.getLong(
ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_GK_PW_HANDLE);
}
+ mBiometricsAuthenticationRequested = savedInstanceState.getBoolean(
+ BIOMETRICS_AUTH_REQUESTED);
+ mBiometricsSuccessfullyAuthenticated = savedInstanceState.getBoolean(
+ BIOMETRICS_AUTHENTICATED_SUCCESSFULLY);
}
if (mGkPwHandle == 0L && !mConfirmCredential) {
mConfirmCredential = true;
launchChooseOrConfirmLock();
+ } else if (Utils.requestBiometricAuthenticationForMandatoryBiometrics(
+ getActivity(), mBiometricsSuccessfullyAuthenticated,
+ mBiometricsAuthenticationRequested)) {
+ mBiometricsAuthenticationRequested = true;
+ Utils.launchBiometricPromptForMandatoryBiometrics(this, BIOMETRIC_AUTH_REQUEST);
}
updateUnlockPhonePreferenceSummary();
@@ -141,6 +159,12 @@
@Override
public void onResume() {
super.onResume();
+ if (Utils.requestBiometricAuthenticationForMandatoryBiometrics(getActivity(),
+ mBiometricsSuccessfullyAuthenticated, mBiometricsAuthenticationRequested)
+ && mGkPwHandle != 0L) {
+ mBiometricsAuthenticationRequested = true;
+ Utils.launchBiometricPromptForMandatoryBiometrics(this, BIOMETRIC_AUTH_REQUEST);
+ }
if (!mConfirmCredential) {
mDoNotFinishActivity = false;
}
@@ -177,6 +201,9 @@
extras.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token);
extras.putInt(BiometricEnrollBase.EXTRA_KEY_SENSOR_ID, sensorId);
extras.putLong(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, challenge);
+ extras.putBoolean(
+ BiometricEnrollBase.EXTRA_BIOMETRICS_AUTHENTICATED_SUCCESSFULLY,
+ mBiometricsSuccessfullyAuthenticated);
onFaceOrFingerprintPreferenceTreeClick(preference);
} catch (IllegalStateException e) {
if (retry) {
@@ -206,6 +233,9 @@
final Bundle extras = preference.getExtras();
extras.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token);
extras.putLong(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, challenge);
+ extras.putBoolean(
+ BiometricEnrollBase.EXTRA_BIOMETRICS_AUTHENTICATED_SUCCESSFULLY,
+ mBiometricsSuccessfullyAuthenticated);
onFaceOrFingerprintPreferenceTreeClick(preference);
} catch (IllegalStateException e) {
if (retry) {
@@ -288,6 +318,10 @@
outState.putString(RETRY_PREFERENCE_KEY, mRetryPreferenceKey);
outState.putBundle(RETRY_PREFERENCE_BUNDLE, mRetryPreferenceExtra);
}
+ outState.putBoolean(BIOMETRICS_AUTH_REQUESTED,
+ mBiometricsAuthenticationRequested);
+ outState.putBoolean(BIOMETRICS_AUTHENTICATED_SUCCESSFULLY,
+ mBiometricsSuccessfullyAuthenticated);
}
@Override
@@ -315,6 +349,13 @@
}
mRetryPreferenceKey = null;
mRetryPreferenceExtra = null;
+ } else if (requestCode == BIOMETRIC_AUTH_REQUEST) {
+ mBiometricsAuthenticationRequested = false;
+ if (resultCode == RESULT_OK) {
+ mBiometricsSuccessfullyAuthenticated = true;
+ } else {
+ finish();
+ }
}
}
diff --git a/src/com/android/settings/biometrics/face/FaceSettings.java b/src/com/android/settings/biometrics/face/FaceSettings.java
index 8884ce3..2a0dd83 100644
--- a/src/com/android/settings/biometrics/face/FaceSettings.java
+++ b/src/com/android/settings/biometrics/face/FaceSettings.java
@@ -20,8 +20,10 @@
import static android.app.admin.DevicePolicyResources.Strings.Settings.FACE_SETTINGS_FOR_WORK_TITLE;
import static com.android.settings.Utils.isPrivateProfile;
+import static com.android.settings.biometrics.BiometricEnrollBase.BIOMETRIC_AUTH_REQUEST;
import static com.android.settings.biometrics.BiometricEnrollBase.CONFIRM_REQUEST;
import static com.android.settings.biometrics.BiometricEnrollBase.ENROLL_REQUEST;
+import static com.android.settings.biometrics.BiometricEnrollBase.EXTRA_BIOMETRICS_AUTHENTICATED_SUCCESSFULLY;
import static com.android.settings.biometrics.BiometricEnrollBase.RESULT_FINISHED;
import static com.android.settings.biometrics.BiometricEnrollBase.RESULT_TIMEOUT;
@@ -66,6 +68,8 @@
private static final String TAG = "FaceSettings";
private static final String KEY_TOKEN = "hw_auth_token";
private static final String KEY_RE_ENROLL_FACE = "re_enroll_face_unlock";
+ private static final String KEY_BIOMETRICS_SUCCESSFULLY_AUTHENTICATED =
+ "biometrics_successfully_authenticated";
private static final String PREF_KEY_DELETE_FACE_DATA =
"security_settings_face_delete_faces_container";
@@ -93,6 +97,8 @@
private FaceFeatureProvider mFaceFeatureProvider;
private boolean mConfirmingPassword;
+ private boolean mBiometricsAuthenticationRequested;
+ private boolean mBiometricsSuccessfullyAuthenticated;
private final FaceSettingsRemoveButtonPreferenceController.Listener mRemovalListener = () -> {
@@ -144,6 +150,8 @@
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putByteArray(KEY_TOKEN, mToken);
+ outState.putBoolean(KEY_BIOMETRICS_SUCCESSFULLY_AUTHENTICATED,
+ mBiometricsSuccessfullyAuthenticated);
}
@Override
@@ -163,6 +171,8 @@
mToken = getIntent().getByteArrayExtra(KEY_TOKEN);
mSensorId = getIntent().getIntExtra(BiometricEnrollBase.EXTRA_KEY_SENSOR_ID, -1);
mChallenge = getIntent().getLongExtra(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, 0L);
+ mBiometricsSuccessfullyAuthenticated = getIntent().getBooleanExtra(
+ EXTRA_BIOMETRICS_AUTHENTICATED_SUCCESSFULLY, false);
mUserId = getActivity().getIntent().getIntExtra(
Intent.EXTRA_USER_ID, UserHandle.myUserId());
@@ -231,6 +241,8 @@
if (savedInstanceState != null) {
mToken = savedInstanceState.getByteArray(KEY_TOKEN);
+ mBiometricsSuccessfullyAuthenticated = savedInstanceState.getBoolean(
+ KEY_BIOMETRICS_SUCCESSFULLY_AUTHENTICATED);
}
}
@@ -276,6 +288,10 @@
Log.e(TAG, "Password not set");
finish();
}
+ } else if (Utils.requestBiometricAuthenticationForMandatoryBiometrics(getActivity(),
+ mBiometricsSuccessfullyAuthenticated, mBiometricsAuthenticationRequested)) {
+ mBiometricsAuthenticationRequested = true;
+ Utils.launchBiometricPromptForMandatoryBiometrics(this, BIOMETRIC_AUTH_REQUEST);
} else {
mAttentionController.setToken(mToken);
mEnrollController.setToken(mToken);
@@ -318,6 +334,13 @@
setResult(resultCode, data);
finish();
}
+ } else if (requestCode == BIOMETRIC_AUTH_REQUEST) {
+ mBiometricsAuthenticationRequested = false;
+ if (resultCode == RESULT_OK) {
+ mBiometricsSuccessfullyAuthenticated = true;
+ } else {
+ finish();
+ }
}
}
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
index db87c0f..d35cda4 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
@@ -23,6 +23,7 @@
import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
import static com.android.settings.Utils.isPrivateProfile;
+import static com.android.settings.biometrics.BiometricEnrollBase.BIOMETRIC_AUTH_REQUEST;
import static com.android.settings.biometrics.BiometricEnrollBase.EXTRA_FROM_SETTINGS_SUMMARY;
import static com.android.settings.biometrics.BiometricEnrollBase.EXTRA_KEY_CHALLENGE;
@@ -218,6 +219,10 @@
"security_settings_fingerprint_unlock_category";
private static final String KEY_FINGERPRINT_UNLOCK_FOOTER =
"security_settings_fingerprint_footer";
+ private static final String KEY_BIOMETRICS_AUTHENTICATION_REQUESTED =
+ "biometrics_authentication_requested";
+ private static final String KEY_BIOMETRICS_SUCCESSFULLY_AUTHENTICATED =
+ "biometrics_successfully_authenticated";
private static final int MSG_REFRESH_FINGERPRINT_TEMPLATES = 1000;
private static final int MSG_FINGER_AUTH_SUCCESS = 1001;
@@ -251,6 +256,8 @@
private boolean mInFingerprintLockout;
private byte[] mToken;
private boolean mLaunchedConfirm;
+ private boolean mBiometricsAuthenticationRequested;
+ private boolean mBiometricsSuccessfullyAuthenticated;
private boolean mHasFirstEnrolled = true;
private Drawable mHighlightDrawable;
private int mUserId;
@@ -356,6 +363,11 @@
*/
protected void handleError(int errMsgId, CharSequence msg) {
switch (errMsgId) {
+ case FingerprintManager.FINGERPRINT_ERROR_CANCELED:
+ case FingerprintManager.FINGERPRINT_ERROR_USER_CANCELED:
+ // Only happens if we get preempted by another activity, or canceled by the
+ // user (e.g. swipe up to home). Ignored.
+ return;
case FingerprintManager.FINGERPRINT_ERROR_LOCKOUT:
mInFingerprintLockout = true;
// We've been locked out. Reset after 30s.
@@ -418,6 +430,8 @@
ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN);
mChallenge = activity.getIntent()
.getLongExtra(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, -1L);
+ mBiometricsSuccessfullyAuthenticated = getIntent().getBooleanExtra(
+ BiometricEnrollBase.EXTRA_BIOMETRICS_AUTHENTICATED_SUCCESSFULLY, false);
mAuthenticateSidecar = (FingerprintAuthenticateSidecar)
getFragmentManager().findFragmentByTag(TAG_AUTHENTICATE_SIDECAR);
@@ -459,6 +473,10 @@
mIsEnrolling = savedInstanceState.getBoolean(KEY_IS_ENROLLING, mIsEnrolling);
mHasFirstEnrolled = savedInstanceState.getBoolean(KEY_HAS_FIRST_ENROLLED,
mHasFirstEnrolled);
+ mBiometricsSuccessfullyAuthenticated = savedInstanceState.getBoolean(
+ KEY_BIOMETRICS_SUCCESSFULLY_AUTHENTICATED);
+ mBiometricsAuthenticationRequested = savedInstanceState.getBoolean(
+ KEY_BIOMETRICS_AUTHENTICATION_REQUESTED);
}
// (mLaunchedConfirm or mIsEnrolling) means that we are waiting an activity result.
@@ -467,6 +485,10 @@
if (mToken == null) {
mLaunchedConfirm = true;
launchChooseOrConfirmLock();
+ } else if (Utils.requestBiometricAuthenticationForMandatoryBiometrics(getActivity(),
+ mBiometricsSuccessfullyAuthenticated, mBiometricsAuthenticationRequested)) {
+ mBiometricsAuthenticationRequested = true;
+ Utils.launchBiometricPromptForMandatoryBiometrics(this, BIOMETRIC_AUTH_REQUEST);
} else if (!mHasFirstEnrolled) {
mIsEnrolling = true;
addFirstFingerprint(null);
@@ -746,6 +768,12 @@
mCalibrator = FeatureFactory.getFeatureFactory().getFingerprintFeatureProvider()
.getUdfpsEnrollCalibrator(getActivity().getApplicationContext(), null, null);
+
+ if (Utils.requestBiometricAuthenticationForMandatoryBiometrics(getActivity(),
+ mBiometricsSuccessfullyAuthenticated, mBiometricsAuthenticationRequested)) {
+ mBiometricsAuthenticationRequested = true;
+ Utils.launchBiometricPromptForMandatoryBiometrics(this, BIOMETRIC_AUTH_REQUEST);
+ }
}
private void updatePreferences() {
@@ -793,6 +821,10 @@
outState.putSerializable("mFingerprintsRenaming", mFingerprintsRenaming);
outState.putBoolean(KEY_IS_ENROLLING, mIsEnrolling);
outState.putBoolean(KEY_HAS_FIRST_ENROLLED, mHasFirstEnrolled);
+ outState.putBoolean(KEY_BIOMETRICS_AUTHENTICATION_REQUESTED,
+ mBiometricsAuthenticationRequested);
+ outState.putBoolean(KEY_BIOMETRICS_SUCCESSFULLY_AUTHENTICATED,
+ mBiometricsSuccessfullyAuthenticated);
}
@Override
@@ -1013,6 +1045,13 @@
mIsEnrolling = false;
mHasFirstEnrolled = true;
updateAddPreference();
+ } else if (requestCode == BIOMETRIC_AUTH_REQUEST) {
+ mBiometricsAuthenticationRequested = false;
+ if (resultCode == RESULT_OK) {
+ mBiometricsSuccessfullyAuthenticated = true;
+ } else {
+ finish();
+ }
}
}
diff --git a/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
index 1326831..11ecf8b 100644
--- a/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
+++ b/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
@@ -39,6 +39,7 @@
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
+import android.widget.ProgressBar;
import android.widget.TextView;
import androidx.annotation.VisibleForTesting;
@@ -46,6 +47,7 @@
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
+import com.android.settings.flags.Flags;
import com.android.settings.fuelgauge.BatteryMeterView;
import com.android.settingslib.bluetooth.BluetoothUtils;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
@@ -456,18 +458,24 @@
com.android.settings.Utils.formatPercentage(batteryLevel));
batterySummaryView.setVisibility(View.VISIBLE);
showBatteryIcon(linearLayout, batteryLevel, lowBatteryLevel, charging);
+ showBatteryRing(linearLayout, batteryLevel);
} else {
if (deviceId == MAIN_DEVICE_ID) {
linearLayout.setVisibility(View.VISIBLE);
linearLayout.findViewById(R.id.bt_battery_icon).setVisibility(View.GONE);
+
int level = preloadedNativeBatteryLevel.get();
if (level != BluetoothDevice.BATTERY_LEVEL_UNKNOWN
&& level != BluetoothDevice.BATTERY_LEVEL_BLUETOOTH_OFF) {
batterySummaryView.setText(
com.android.settings.Utils.formatPercentage(level));
batterySummaryView.setVisibility(View.VISIBLE);
+ showBatteryRing(linearLayout, level);
} else {
batterySummaryView.setVisibility(View.GONE);
+ if (Flags.enableBluetoothDeviceDetailsPolish()) {
+ linearLayout.findViewById(R.id.battery_ring).setVisibility(View.GONE);
+ }
}
} else {
// Hide it if it doesn't have battery information
@@ -481,6 +489,7 @@
com.android.settings.Utils.formatPercentage(batteryLevel));
batterySummaryView.setVisibility(View.VISIBLE);
showBatteryIcon(linearLayout, batteryLevel, lowBatteryLevel, charging);
+ showBatteryRing(linearLayout, batteryLevel);
} else {
batterySummaryView.setVisibility(View.GONE);
}
@@ -610,6 +619,14 @@
imageView.setVisibility(View.VISIBLE);
}
+ private void showBatteryRing(LinearLayout linearLayout, int level) {
+ if (Flags.enableBluetoothDeviceDetailsPolish()) {
+ ProgressBar batteryProgress = linearLayout.findViewById(R.id.battery_ring);
+ batteryProgress.setProgress(level);
+ batteryProgress.setVisibility(View.VISIBLE);
+ }
+ }
+
private void updateDisconnectLayout() {
mLayoutPreference.findViewById(R.id.layout_left).setVisibility(View.GONE);
mLayoutPreference.findViewById(R.id.layout_right).setVisibility(View.GONE);
@@ -620,6 +637,9 @@
linearLayout.findViewById(R.id.header_title).setVisibility(View.GONE);
linearLayout.findViewById(R.id.bt_battery_summary).setVisibility(View.GONE);
linearLayout.findViewById(R.id.bt_battery_icon).setVisibility(View.GONE);
+ if (Flags.enableBluetoothDeviceDetailsPolish()) {
+ linearLayout.findViewById(R.id.battery_ring).setVisibility(View.GONE);
+ }
// Only show bluetooth icon
final BluetoothDevice bluetoothDevice = mCachedDevice.getDevice();
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsController.java b/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsController.java
index 564e138..f7ccc61 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsController.java
@@ -159,19 +159,22 @@
mPreference.setEnabled(mCachedDevice.isConnectedHapClientDevice());
loadAllPresetInfo();
+ mPreference.setSummary(null);
if (mPreference.getEntries().length == 0) {
- if (DEBUG) {
- Log.w(TAG, "Disable the preference since preset info size = 0");
+ if (mPreference.isEnabled()) {
+ if (DEBUG) {
+ Log.w(TAG, "Disable the preference since preset info size = 0");
+ }
+ mPreference.setEnabled(false);
+ mPreference.setSummary(mContext.getString(
+ R.string.bluetooth_hearing_aids_presets_empty_list_message));
}
- mPreference.setEnabled(false);
} else {
int activePresetIndex = mHapClientProfile.getActivePresetIndex(
mCachedDevice.getDevice());
if (activePresetIndex != BluetoothHapClient.PRESET_INDEX_UNAVAILABLE) {
mPreference.setValue(Integer.toString(activePresetIndex));
mPreference.setSummary(mPreference.getEntry());
- } else {
- mPreference.setSummary(null);
}
}
}
@@ -273,7 +276,8 @@
return;
}
List<BluetoothHapPresetInfo> infoList = mHapClientProfile.getAllPresetInfo(
- mCachedDevice.getDevice());
+ mCachedDevice.getDevice()).stream().filter(
+ BluetoothHapPresetInfo::isAvailable).toList();
CharSequence[] presetNames = new CharSequence[infoList.size()];
CharSequence[] presetIndexes = new CharSequence[infoList.size()];
for (int i = 0; i < infoList.size(); i++) {
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioController.java b/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioController.java
index 30e86fe..4ff7136 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioController.java
@@ -19,13 +19,16 @@
import static android.media.Spatializer.SPATIALIZER_IMMERSIVE_LEVEL_NONE;
import android.app.settings.SettingsEnums;
+import android.bluetooth.BluetoothProfile;
import android.content.Context;
import android.media.AudioDeviceAttributes;
import android.media.AudioDeviceInfo;
+import android.media.AudioManager;
import android.media.Spatializer;
import android.text.TextUtils;
import android.util.Log;
+import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
@@ -37,9 +40,14 @@
import com.android.settings.R;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothProfile;
import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.flags.Flags;
import com.android.settingslib.utils.ThreadUtils;
+import com.google.common.collect.ImmutableSet;
+
+import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
/**
@@ -53,22 +61,27 @@
private static final String KEY_SPATIAL_AUDIO = "spatial_audio";
private static final String KEY_HEAD_TRACKING = "head_tracking";
+ private final AudioManager mAudioManager;
private final Spatializer mSpatializer;
@VisibleForTesting
PreferenceCategory mProfilesContainer;
- @VisibleForTesting
- AudioDeviceAttributes mAudioDevice = null;
+ @VisibleForTesting @Nullable AudioDeviceAttributes mAudioDevice = null;
AtomicBoolean mHasHeadTracker = new AtomicBoolean(false);
AtomicBoolean mInitialRefresh = new AtomicBoolean(true);
+ public static final Set<Integer> SA_PROFILES =
+ ImmutableSet.of(
+ BluetoothProfile.A2DP, BluetoothProfile.LE_AUDIO, BluetoothProfile.HEARING_AID);
+
public BluetoothDetailsSpatialAudioController(
Context context,
PreferenceFragmentCompat fragment,
CachedBluetoothDevice device,
Lifecycle lifecycle) {
super(context, fragment, device, lifecycle);
+ mAudioManager = context.getSystemService(AudioManager.class);
mSpatializer = FeatureFactory.getFeatureFactory().getBluetoothFeatureProvider()
.getSpatializer(context);
}
@@ -142,8 +155,12 @@
@Override
protected void refresh() {
- if (mAudioDevice == null) {
- getAvailableDevice();
+ if (Flags.enableDeterminingSpatialAudioAttributesByProfile()) {
+ getAvailableDeviceByProfileState();
+ } else {
+ if (mAudioDevice == null) {
+ getAvailableDevice();
+ }
}
ThreadUtils.postOnBackgroundThread(
() -> {
@@ -274,6 +291,77 @@
+ ", type : " + (mAudioDevice == null ? "no type" : mAudioDevice.getType()));
}
+ private void getAvailableDeviceByProfileState() {
+ Log.i(
+ TAG,
+ "getAvailableDevice() mCachedDevice: "
+ + mCachedDevice
+ + " profiles: "
+ + mCachedDevice.getProfiles());
+
+ AudioDeviceAttributes saDevice = null;
+ for (LocalBluetoothProfile profile : mCachedDevice.getProfiles()) {
+ // pick first enabled profile that is compatible with spatial audio
+ if (SA_PROFILES.contains(profile.getProfileId())
+ && profile.isEnabled(mCachedDevice.getDevice())) {
+ switch (profile.getProfileId()) {
+ case BluetoothProfile.A2DP:
+ saDevice =
+ new AudioDeviceAttributes(
+ AudioDeviceAttributes.ROLE_OUTPUT,
+ AudioDeviceInfo.TYPE_BLUETOOTH_A2DP,
+ mCachedDevice.getAddress());
+ break;
+ case BluetoothProfile.LE_AUDIO:
+ if (mAudioManager.getBluetoothAudioDeviceCategory(
+ mCachedDevice.getAddress())
+ == AudioManager.AUDIO_DEVICE_CATEGORY_SPEAKER) {
+ saDevice =
+ new AudioDeviceAttributes(
+ AudioDeviceAttributes.ROLE_OUTPUT,
+ AudioDeviceInfo.TYPE_BLE_SPEAKER,
+ mCachedDevice.getAddress());
+ } else {
+ saDevice =
+ new AudioDeviceAttributes(
+ AudioDeviceAttributes.ROLE_OUTPUT,
+ AudioDeviceInfo.TYPE_BLE_HEADSET,
+ mCachedDevice.getAddress());
+ }
+
+ break;
+ case BluetoothProfile.HEARING_AID:
+ saDevice =
+ new AudioDeviceAttributes(
+ AudioDeviceAttributes.ROLE_OUTPUT,
+ AudioDeviceInfo.TYPE_HEARING_AID,
+ mCachedDevice.getAddress());
+ break;
+ default:
+ Log.i(
+ TAG,
+ "unrecognized profile for spatial audio: "
+ + profile.getProfileId());
+ break;
+ }
+ break;
+ }
+ }
+ mAudioDevice = null;
+ if (saDevice != null && mSpatializer.isAvailableForDevice(saDevice)) {
+ mAudioDevice = saDevice;
+ }
+
+ Log.d(
+ TAG,
+ "getAvailableDevice() device : "
+ + mCachedDevice.getDevice().getAnonymizedAddress()
+ + ", is available : "
+ + (mAudioDevice != null)
+ + ", type : "
+ + (mAudioDevice == null ? "no type" : mAudioDevice.getType()));
+ }
+
@VisibleForTesting
void setAvailableDevice(AudioDeviceAttributes audioDevice) {
mAudioDevice = audioDevice;
diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
index 44915fe..5f9957b 100644
--- a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
@@ -142,13 +142,23 @@
}
@VisibleForTesting
+ @Nullable
CachedBluetoothDevice getCachedDevice(String deviceAddress) {
if (sTestDataFactory != null) {
return sTestDataFactory.getDevice(deviceAddress);
}
BluetoothDevice remoteDevice =
mManager.getBluetoothAdapter().getRemoteDevice(deviceAddress);
- return mManager.getCachedDeviceManager().findDevice(remoteDevice);
+ if (remoteDevice == null) {
+ return null;
+ }
+ CachedBluetoothDevice cachedDevice =
+ mManager.getCachedDeviceManager().findDevice(remoteDevice);
+ if (cachedDevice != null) {
+ return cachedDevice;
+ }
+ Log.i(TAG, "Add device to cached device manager: " + remoteDevice.getAnonymizedAddress());
+ return mManager.getCachedDeviceManager().addDevice(remoteDevice);
}
@VisibleForTesting
diff --git a/src/com/android/settings/connecteddevice/ConnectedDeviceGroupController.java b/src/com/android/settings/connecteddevice/ConnectedDeviceGroupController.java
index 56a3005..2548b95 100644
--- a/src/com/android/settings/connecteddevice/ConnectedDeviceGroupController.java
+++ b/src/com/android/settings/connecteddevice/ConnectedDeviceGroupController.java
@@ -15,6 +15,8 @@
*/
package com.android.settings.connecteddevice;
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isExternalDisplaySettingsPageEnabled;
+
import android.content.Context;
import android.content.pm.PackageManager;
import android.hardware.input.InputManager;
@@ -22,6 +24,8 @@
import android.util.Log;
import android.view.InputDevice;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import androidx.preference.PreferenceGroup;
@@ -31,12 +35,15 @@
import com.android.settings.bluetooth.BluetoothDeviceUpdater;
import com.android.settings.bluetooth.ConnectedBluetoothDeviceUpdater;
import com.android.settings.bluetooth.Utils;
+import com.android.settings.connecteddevice.display.ExternalDisplayUpdater;
import com.android.settings.connecteddevice.dock.DockUpdater;
import com.android.settings.connecteddevice.stylus.StylusDeviceUpdater;
import com.android.settings.connecteddevice.usb.ConnectedUsbDeviceUpdater;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.flags.FeatureFlags;
+import com.android.settings.flags.FeatureFlagsImpl;
import com.android.settings.flags.Flags;
import com.android.settings.overlay.DockUpdaterFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
@@ -64,6 +71,8 @@
@VisibleForTesting
PreferenceGroup mPreferenceGroup;
+ @Nullable
+ private ExternalDisplayUpdater mExternalDisplayUpdater;
private BluetoothDeviceUpdater mBluetoothDeviceUpdater;
private ConnectedUsbDeviceUpdater mConnectedUsbDeviceUpdater;
private DockUpdater mConnectedDockUpdater;
@@ -71,6 +80,8 @@
private final PackageManager mPackageManager;
private final InputManager mInputManager;
private final LocalBluetoothManager mLocalBluetoothManager;
+ @NonNull
+ private final FeatureFlags mFeatureFlags = new FeatureFlagsImpl();
public ConnectedDeviceGroupController(Context context) {
super(context, KEY);
@@ -81,6 +92,10 @@
@Override
public void onStart() {
+ if (mExternalDisplayUpdater != null) {
+ mExternalDisplayUpdater.registerCallback();
+ }
+
if (mBluetoothDeviceUpdater != null) {
mBluetoothDeviceUpdater.registerCallback();
mBluetoothDeviceUpdater.refreshPreference();
@@ -101,6 +116,10 @@
@Override
public void onStop() {
+ if (mExternalDisplayUpdater != null) {
+ mExternalDisplayUpdater.unregisterCallback();
+ }
+
if (mBluetoothDeviceUpdater != null) {
mBluetoothDeviceUpdater.unregisterCallback();
}
@@ -127,6 +146,10 @@
if (isAvailable()) {
final Context context = screen.getContext();
+ if (mExternalDisplayUpdater != null) {
+ mExternalDisplayUpdater.initPreference(context);
+ }
+
if (mBluetoothDeviceUpdater != null) {
mBluetoothDeviceUpdater.setPrefContext(context);
mBluetoothDeviceUpdater.forceUpdate();
@@ -150,7 +173,8 @@
@Override
public int getAvailabilityStatus() {
- return (hasBluetoothFeature()
+ return (hasExternalDisplayFeature()
+ || hasBluetoothFeature()
|| hasUsbFeature()
|| hasUsiStylusFeature()
|| mConnectedDockUpdater != null)
@@ -180,11 +204,13 @@
}
@VisibleForTesting
- void init(BluetoothDeviceUpdater bluetoothDeviceUpdater,
+ void init(@Nullable ExternalDisplayUpdater externalDisplayUpdater,
+ BluetoothDeviceUpdater bluetoothDeviceUpdater,
ConnectedUsbDeviceUpdater connectedUsbDeviceUpdater,
DockUpdater connectedDockUpdater,
StylusDeviceUpdater connectedStylusDeviceUpdater) {
+ mExternalDisplayUpdater = externalDisplayUpdater;
mBluetoothDeviceUpdater = bluetoothDeviceUpdater;
mConnectedUsbDeviceUpdater = connectedUsbDeviceUpdater;
mConnectedDockUpdater = connectedDockUpdater;
@@ -197,7 +223,10 @@
FeatureFactory.getFeatureFactory().getDockUpdaterFeatureProvider();
final DockUpdater connectedDockUpdater =
dockUpdaterFeatureProvider.getConnectedDockUpdater(context, this);
- init(hasBluetoothFeature()
+ init(hasExternalDisplayFeature()
+ ? new ExternalDisplayUpdater(this, fragment.getMetricsCategory())
+ : null,
+ hasBluetoothFeature()
? new ConnectedBluetoothDeviceUpdater(context, this,
fragment.getMetricsCategory())
: null,
@@ -210,6 +239,19 @@
: null);
}
+ /**
+ * @return trunk stable feature flags.
+ */
+ @VisibleForTesting
+ @NonNull
+ public FeatureFlags getFeatureFlags() {
+ return mFeatureFlags;
+ }
+
+ private boolean hasExternalDisplayFeature() {
+ return isExternalDisplaySettingsPageEnabled(getFeatureFlags());
+ }
+
private boolean hasBluetoothFeature() {
return mPackageManager.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH);
}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioDialogFragment.java
index 75b4acf..5e0ec07 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioDialogFragment.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioDialogFragment.java
@@ -19,6 +19,7 @@
import android.app.Dialog;
import android.app.settings.SettingsEnums;
import android.os.Bundle;
+import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -66,7 +67,13 @@
@NonNull List<AudioSharingDeviceItem> deviceItems,
@NonNull DialogEventListener listener) {
if (!AudioSharingUtils.isFeatureEnabled()) return;
- final FragmentManager manager = host.getChildFragmentManager();
+ final FragmentManager manager;
+ try {
+ manager = host.getChildFragmentManager();
+ } catch (IllegalStateException e) {
+ Log.d(TAG, "Fail to show dialog: " + e.getMessage());
+ return;
+ }
sListener = listener;
if (manager.findFragmentByTag(TAG) == null) {
final Bundle bundle = new Bundle();
@@ -79,10 +86,18 @@
}
@Override
+ @NonNull
public Dialog onCreateDialog(Bundle savedInstanceState) {
Bundle arguments = requireArguments();
List<AudioSharingDeviceItem> deviceItems =
arguments.getParcelable(BUNDLE_KEY_DEVICE_ITEMS, List.class);
+ AlertDialog.Builder builder =
+ new AlertDialog.Builder(getActivity())
+ .setTitle(R.string.audio_sharing_call_audio_title);
+ if (deviceItems == null) {
+ Log.d(TAG, "Create dialog error: null deviceItems");
+ return builder.create();
+ }
int checkedItem = -1;
for (AudioSharingDeviceItem item : deviceItems) {
int fallbackActiveGroupId = AudioSharingUtils.getFallbackActiveGroupId(getContext());
@@ -92,17 +107,14 @@
}
String[] choices =
deviceItems.stream().map(AudioSharingDeviceItem::getName).toArray(String[]::new);
- AlertDialog.Builder builder =
- new AlertDialog.Builder(getActivity())
- .setTitle(R.string.audio_sharing_call_audio_title)
- .setSingleChoiceItems(
- choices,
- checkedItem,
- (dialog, which) -> {
- if (sListener != null) {
- sListener.onItemClick(deviceItems.get(which));
- }
- });
+ builder.setSingleChoiceItems(
+ choices,
+ checkedItem,
+ (dialog, which) -> {
+ if (sListener != null) {
+ sListener.onItemClick(deviceItems.get(which));
+ }
+ });
return builder.create();
}
}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingConfirmDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingConfirmDialogFragment.java
index e9013d7..61b1df1 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingConfirmDialogFragment.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingConfirmDialogFragment.java
@@ -21,6 +21,7 @@
import android.os.Bundle;
import android.util.Log;
+import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.Fragment;
@@ -44,7 +45,13 @@
*/
public static void show(Fragment host) {
if (!AudioSharingUtils.isFeatureEnabled()) return;
- FragmentManager manager = host.getChildFragmentManager();
+ final FragmentManager manager;
+ try {
+ manager = host.getChildFragmentManager();
+ } catch (IllegalStateException e) {
+ Log.d(TAG, "Fail to show dialog: " + e.getMessage());
+ return;
+ }
AlertDialog dialog = AudioSharingDialogHelper.getDialogIfShowing(manager, TAG);
if (dialog != null) {
Log.d(TAG, "Dialog is showing, return.");
@@ -56,6 +63,7 @@
}
@Override
+ @NonNull
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
AlertDialog dialog =
AudioSharingDialogFactory.newBuilder(getActivity())
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragment.java
index e787be3..f00cf73 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragment.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragment.java
@@ -77,7 +77,13 @@
@NonNull DialogEventListener listener,
@NonNull Pair<Integer, Object>[] eventData) {
if (!AudioSharingUtils.isFeatureEnabled()) return;
- final FragmentManager manager = host.getChildFragmentManager();
+ final FragmentManager manager;
+ try {
+ manager = host.getChildFragmentManager();
+ } catch (IllegalStateException e) {
+ Log.d(TAG, "Fail to show dialog: " + e.getMessage());
+ return;
+ }
sListener = listener;
sEventData = eventData;
AlertDialog dialog = AudioSharingDialogHelper.getDialogIfShowing(manager, TAG);
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandler.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandler.java
index 15e3de9..81d7979 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandler.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandler.java
@@ -258,6 +258,8 @@
boolean userTriggered) {
Map<Integer, List<CachedBluetoothDevice>> groupedDevices =
AudioSharingUtils.fetchConnectedDevicesByGroupId(mLocalBtManager);
+ BluetoothDevice btDevice = cachedDevice.getDevice();
+ String deviceAddress = btDevice == null ? "" : btDevice.getAnonymizedAddress();
if (isBroadcasting) {
// If another device within the same is already in the sharing session, add source to
// the device automatically.
@@ -271,10 +273,10 @@
Log.d(
TAG,
"Automatically add another device within the same group to the sharing: "
- + cachedDevice.getDevice().getAnonymizedAddress());
+ + deviceAddress);
if (mAssistant != null && mBroadcast != null) {
mAssistant.addSource(
- cachedDevice.getDevice(),
+ btDevice,
mBroadcast.getLatestBluetoothLeBroadcastMetadata(),
/* isGroupOp= */ false);
}
@@ -313,6 +315,7 @@
cachedDevice,
listener,
eventData);
+ Log.d(TAG, "Show disconnect dialog, device = " + deviceAddress);
});
} else {
// Show audio sharing join dialog when the first or second eligible (LE audio)
@@ -343,9 +346,11 @@
cachedDevice,
listener,
eventData);
+ Log.d(TAG, "Show join dialog, device = " + deviceAddress);
});
}
} else {
+ // Build a list of AudioSharingDeviceItem for connected devices other than cachedDevice.
List<AudioSharingDeviceItem> deviceItems = new ArrayList<>();
for (List<CachedBluetoothDevice> devices : groupedDevices.values()) {
// Use random device in the group within the sharing session to represent the group.
@@ -358,7 +363,7 @@
}
// Show audio sharing join dialog when the second eligible (LE audio) remote
// device connect and no sharing session.
- if (deviceItems.size() == 1) {
+ if (groupedDevices.size() == 2 && deviceItems.size() == 1) {
AudioSharingJoinDialogFragment.DialogEventListener listener =
new AudioSharingJoinDialogFragment.DialogEventListener() {
@Override
@@ -396,16 +401,26 @@
closeOpeningDialogsOtherThan(AudioSharingJoinDialogFragment.tag());
AudioSharingJoinDialogFragment.show(
mHostFragment, deviceItems, cachedDevice, listener, eventData);
+ Log.d(TAG, "Show start dialog, device = " + deviceAddress);
});
} else if (userTriggered) {
cachedDevice.setActive();
+ Log.d(TAG, "Set active device = " + deviceAddress);
+ } else {
+ Log.d(TAG, "Fail to handle LE audio device connected, device = " + deviceAddress);
}
}
}
private void closeOpeningDialogsOtherThan(String tag) {
if (mHostFragment == null) return;
- List<Fragment> fragments = mHostFragment.getChildFragmentManager().getFragments();
+ List<Fragment> fragments;
+ try {
+ fragments = mHostFragment.getChildFragmentManager().getFragments();
+ } catch (IllegalStateException e) {
+ Log.d(TAG, "Fail to closeOpeningDialogsOtherThan " + tag + ": " + e.getMessage());
+ return;
+ }
for (Fragment fragment : fragments) {
if (fragment instanceof DialogFragment
&& fragment.getTag() != null
@@ -421,7 +436,13 @@
public void closeOpeningDialogsForLeaDevice(@NonNull CachedBluetoothDevice cachedDevice) {
if (mHostFragment == null) return;
int groupId = AudioSharingUtils.getGroupId(cachedDevice);
- List<Fragment> fragments = mHostFragment.getChildFragmentManager().getFragments();
+ List<Fragment> fragments;
+ try {
+ fragments = mHostFragment.getChildFragmentManager().getFragments();
+ } catch (IllegalStateException e) {
+ Log.d(TAG, "Fail to closeOpeningDialogsForLeaDevice: " + e.getMessage());
+ return;
+ }
for (Fragment fragment : fragments) {
CachedBluetoothDevice device = getCachedBluetoothDeviceFromDialog(fragment);
if (device != null
@@ -438,7 +459,13 @@
public void closeOpeningDialogsForNonLeaDevice(@NonNull CachedBluetoothDevice cachedDevice) {
if (mHostFragment == null) return;
String address = cachedDevice.getAddress();
- List<Fragment> fragments = mHostFragment.getChildFragmentManager().getFragments();
+ List<Fragment> fragments;
+ try {
+ fragments = mHostFragment.getChildFragmentManager().getFragments();
+ } catch (IllegalStateException e) {
+ Log.d(TAG, "Fail to closeOpeningDialogsForNonLeaDevice: " + e.getMessage());
+ return;
+ }
for (Fragment fragment : fragments) {
CachedBluetoothDevice device = getCachedBluetoothDeviceFromDialog(fragment);
if (device != null && address != null && address.equals(device.getAddress())) {
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHelper.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHelper.java
index 69001aa..010a3ba 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHelper.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHelper.java
@@ -51,12 +51,13 @@
public static AlertDialog getDialogIfShowing(
@NonNull FragmentManager manager, @NonNull String tag) {
Fragment dialog = manager.findFragmentByTag(tag);
- return dialog != null
- && dialog instanceof DialogFragment
- && ((DialogFragment) dialog).getDialog() != null
- && ((DialogFragment) dialog).getDialog().isShowing()
- && ((DialogFragment) dialog).getDialog() instanceof AlertDialog
+ return dialog instanceof DialogFragment
+ && ((DialogFragment) dialog).getDialog() != null
+ && ((DialogFragment) dialog).getDialog().isShowing()
+ && ((DialogFragment) dialog).getDialog() instanceof AlertDialog
? (AlertDialog) ((DialogFragment) dialog).getDialog()
: null;
}
+
+ private AudioSharingDialogHelper() {}
}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragment.java
index dcd8a3b..66e327b 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragment.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragment.java
@@ -84,7 +84,13 @@
@NonNull DialogEventListener listener,
@NonNull Pair<Integer, Object>[] eventData) {
if (!AudioSharingUtils.isFeatureEnabled()) return;
- FragmentManager manager = host.getChildFragmentManager();
+ final FragmentManager manager;
+ try {
+ manager = host.getChildFragmentManager();
+ } catch (IllegalStateException e) {
+ Log.d(TAG, "Fail to show dialog: " + e.getMessage());
+ return;
+ }
AlertDialog dialog = AudioSharingDialogHelper.getDialogIfShowing(manager, TAG);
if (dialog != null) {
int newGroupId = AudioSharingUtils.getGroupId(newDevice);
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragment.java
index ec669bf..9afa186 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragment.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragment.java
@@ -81,7 +81,13 @@
@NonNull DialogEventListener listener,
@NonNull Pair<Integer, Object>[] eventData) {
if (!AudioSharingUtils.isFeatureEnabled()) return;
- final FragmentManager manager = host.getChildFragmentManager();
+ final FragmentManager manager;
+ try {
+ manager = host.getChildFragmentManager();
+ } catch (IllegalStateException e) {
+ Log.d(TAG, "Fail to show dialog: " + e.getMessage());
+ return;
+ }
sListener = listener;
sNewDevice = newDevice;
sEventData = eventData;
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreference.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreference.java
index 0bb6b60..bfccdc4 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreference.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreference.java
@@ -95,14 +95,14 @@
}
private void configureInvisibleStateForQrCodeIcon(ImageButton shareButton, View divider) {
- divider.setVisibility(View.INVISIBLE);
- shareButton.setVisibility(View.INVISIBLE);
+ divider.setVisibility(View.GONE);
+ shareButton.setVisibility(View.GONE);
shareButton.setOnClickListener(null);
}
private void launchAudioSharingQrCodeFragment() {
new SubSettingLauncher(getContext())
- .setTitleText(getContext().getString(R.string.audio_streams_qr_code_page_title))
+ .setTitleRes(R.string.audio_streams_qr_code_page_title)
.setDestination(AudioStreamsQrCodeFragment.class.getName())
.setSourceMetricsCategory(SettingsEnums.AUDIO_SHARING_SETTINGS)
.launch();
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceController.java
index 24b8f20..894ba48 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceController.java
@@ -26,6 +26,7 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
import androidx.lifecycle.DefaultLifecycleObserver;
import androidx.lifecycle.LifecycleOwner;
import androidx.preference.Preference;
@@ -56,7 +57,8 @@
private static final boolean DEBUG = BluetoothUtils.D;
private static final String PREF_KEY = "audio_sharing_stream_name";
- private final BluetoothLeBroadcast.Callback mBroadcastCallback =
+ @VisibleForTesting
+ final BluetoothLeBroadcast.Callback mBroadcastCallback =
new BluetoothLeBroadcast.Callback() {
@Override
public void onBroadcastMetadataChanged(
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordPreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordPreferenceController.java
index 258cf3b..14930e1 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordPreferenceController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordPreferenceController.java
@@ -19,12 +19,19 @@
import static com.android.settings.connecteddevice.audiosharing.AudioSharingUtils.isBroadcasting;
import android.app.settings.SettingsEnums;
+import android.content.ContentResolver;
import android.content.Context;
import android.content.SharedPreferences;
+import android.database.ContentObserver;
+import android.os.Handler;
+import android.os.Looper;
+import android.provider.Settings;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.lifecycle.DefaultLifecycleObserver;
+import androidx.lifecycle.LifecycleOwner;
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
@@ -41,15 +48,19 @@
public class AudioSharingPasswordPreferenceController extends BasePreferenceController
implements ValidatedEditTextPreference.Validator,
- AudioSharingPasswordPreference.OnDialogEventListener {
-
+ AudioSharingPasswordPreference.OnDialogEventListener,
+ DefaultLifecycleObserver {
private static final String TAG = "AudioSharingPasswordPreferenceController";
private static final String PREF_KEY = "audio_sharing_stream_password";
private static final String SHARED_PREF_NAME = "audio_sharing_settings";
private static final String SHARED_PREF_KEY = "default_password";
+ @Nullable private final ContentResolver mContentResolver;
+ @Nullable private final SharedPreferences mSharedPref;
@Nullable private final LocalBluetoothManager mBtManager;
@Nullable private final LocalBluetoothLeBroadcast mBroadcast;
@Nullable private AudioSharingPasswordPreference mPreference;
+ private final ContentObserver mSettingsObserver;
+ private final SharedPreferences.OnSharedPreferenceChangeListener mSharedPrefChangeListener;
private final AudioSharingPasswordValidator mAudioSharingPasswordValidator;
private final MetricsFeatureProvider mMetricsFeatureProvider;
@@ -61,10 +72,45 @@
? mBtManager.getProfileManager().getLeAudioBroadcastProfile()
: null;
mAudioSharingPasswordValidator = new AudioSharingPasswordValidator();
+ mContentResolver = context.getContentResolver();
+ mSettingsObserver = new PasswordSettingsObserver();
+ mSharedPref = context.getSharedPreferences(SHARED_PREF_NAME, Context.MODE_PRIVATE);
+ mSharedPrefChangeListener = new PasswordSharedPrefChangeListener();
mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
}
@Override
+ public void onStart(@NonNull LifecycleOwner owner) {
+ if (!isAvailable()) {
+ Log.d(TAG, "Feature is not available.");
+ return;
+ }
+ if (mContentResolver != null) {
+ mContentResolver.registerContentObserver(
+ Settings.Secure.getUriFor(Settings.Secure.BLUETOOTH_LE_BROADCAST_CODE),
+ false,
+ mSettingsObserver);
+ }
+ if (mSharedPref != null) {
+ mSharedPref.registerOnSharedPreferenceChangeListener(mSharedPrefChangeListener);
+ }
+ }
+
+ @Override
+ public void onStop(@NonNull LifecycleOwner owner) {
+ if (!isAvailable()) {
+ Log.d(TAG, "Feature is not available.");
+ return;
+ }
+ if (mContentResolver != null) {
+ mContentResolver.unregisterContentObserver(mSettingsObserver);
+ }
+ if (mSharedPref != null) {
+ mSharedPref.unregisterOnSharedPreferenceChangeListener(mSharedPrefChangeListener);
+ }
+ }
+
+ @Override
public int getAvailabilityStatus() {
return AudioSharingUtils.isFeatureEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@@ -125,7 +171,6 @@
persistDefaultPassword(mContext, password);
mBroadcast.setBroadcastCode(
isPublicBroadcast ? new byte[0] : password.getBytes());
- updatePreference();
mMetricsFeatureProvider.action(
mContext,
SettingsEnums.ACTION_AUDIO_STREAM_PASSWORD_UPDATED,
@@ -164,32 +209,52 @@
});
}
- private static void persistDefaultPassword(Context context, String defaultPassword) {
+ private class PasswordSettingsObserver extends ContentObserver {
+ PasswordSettingsObserver() {
+ super(new Handler(Looper.getMainLooper()));
+ }
+
+ @Override
+ public void onChange(boolean selfChange) {
+ Log.d(TAG, "onChange, broadcast password has been changed");
+ updatePreference();
+ }
+ }
+
+ private class PasswordSharedPrefChangeListener
+ implements SharedPreferences.OnSharedPreferenceChangeListener {
+ @Override
+ public void onSharedPreferenceChanged(
+ SharedPreferences sharedPreferences, @Nullable String key) {
+ if (!SHARED_PREF_KEY.equals(key)) {
+ return;
+ }
+ Log.d(TAG, "onSharedPreferenceChanged, default password has been changed");
+ updatePreference();
+ }
+ }
+
+ private void persistDefaultPassword(Context context, String defaultPassword) {
if (getDefaultPassword(context).equals(defaultPassword)) {
return;
}
-
- SharedPreferences sharedPref =
- context.getSharedPreferences(SHARED_PREF_NAME, Context.MODE_PRIVATE);
- if (sharedPref == null) {
+ if (mSharedPref == null) {
Log.w(TAG, "persistDefaultPassword(): sharedPref is empty!");
return;
}
- SharedPreferences.Editor editor = sharedPref.edit();
+ SharedPreferences.Editor editor = mSharedPref.edit();
editor.putString(SHARED_PREF_KEY, defaultPassword);
editor.apply();
}
- private static String getDefaultPassword(Context context) {
- SharedPreferences sharedPref =
- context.getSharedPreferences(SHARED_PREF_NAME, Context.MODE_PRIVATE);
- if (sharedPref == null) {
+ private String getDefaultPassword(Context context) {
+ if (mSharedPref == null) {
Log.w(TAG, "getDefaultPassword(): sharedPref is empty!");
return "";
}
- String value = sharedPref.getString(SHARED_PREF_KEY, "");
+ String value = mSharedPref.getString(SHARED_PREF_KEY, "");
if (value != null && value.isEmpty()) {
Log.w(TAG, "getDefaultPassword(): default password is empty!");
}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragment.java
index b8da290..d026fa7 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragment.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragment.java
@@ -81,7 +81,13 @@
@NonNull DialogEventListener listener,
@NonNull Pair<Integer, Object>[] eventData) {
if (!AudioSharingUtils.isFeatureEnabled()) return;
- final FragmentManager manager = host.getChildFragmentManager();
+ final FragmentManager manager;
+ try {
+ manager = host.getChildFragmentManager();
+ } catch (IllegalStateException e) {
+ Log.d(TAG, "Fail to show dialog: " + e.getMessage());
+ return;
+ }
AlertDialog dialog = AudioSharingDialogHelper.getDialogIfShowing(manager, TAG);
if (dialog != null) {
int newGroupId = AudioSharingUtils.getGroupId(newDevice);
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceWaitForResponseState.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceWaitForResponseState.java
index 24a28dd..7be01a2 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceWaitForResponseState.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceWaitForResponseState.java
@@ -36,7 +36,8 @@
@Nullable private static AddSourceWaitForResponseState sInstance = null;
- private AddSourceWaitForResponseState() {}
+ @VisibleForTesting
+ AddSourceWaitForResponseState() {}
static AddSourceWaitForResponseState getInstance() {
if (sInstance == null) {
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamButtonController.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamButtonController.java
index 2661072..939dd5c 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamButtonController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamButtonController.java
@@ -27,6 +27,7 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
import androidx.lifecycle.DefaultLifecycleObserver;
import androidx.lifecycle.LifecycleOwner;
import androidx.preference.PreferenceScreen;
@@ -48,7 +49,9 @@
private static final String TAG = "AudioStreamButtonController";
private static final String KEY = "audio_stream_button";
private static final int SOURCE_ORIGIN_REPOSITORY = SourceOriginForLogging.REPOSITORY.ordinal();
- private final BluetoothLeBroadcastAssistant.Callback mBroadcastAssistantCallback =
+
+ @VisibleForTesting
+ final BluetoothLeBroadcastAssistant.Callback mBroadcastAssistantCallback =
new AudioStreamsBroadcastAssistantCallback() {
@Override
public void onSourceRemoved(BluetoothDevice sink, int sourceId, int reason) {
@@ -97,8 +100,7 @@
}
};
- private final AudioStreamsRepository mAudioStreamsRepository =
- AudioStreamsRepository.getInstance();
+ private AudioStreamsRepository mAudioStreamsRepository = AudioStreamsRepository.getInstance();
private final Executor mExecutor;
private final AudioStreamsHelper mAudioStreamsHelper;
private final @Nullable LocalBluetoothLeBroadcastAssistant mLeBroadcastAssistant;
@@ -228,4 +230,9 @@
void init(int broadcastId) {
mBroadcastId = broadcastId;
}
+
+ @VisibleForTesting
+ void setAudioStreamsRepositoryForTesting(AudioStreamsRepository repository) {
+ mAudioStreamsRepository = repository;
+ }
}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialog.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialog.java
index 6c449a4..148c776 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialog.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialog.java
@@ -31,6 +31,7 @@
import android.util.Log;
import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
import com.android.settings.R;
import com.android.settings.bluetooth.Utils;
@@ -43,9 +44,12 @@
public class AudioStreamConfirmDialog extends InstrumentedDialogFragment {
private static final String TAG = "AudioStreamConfirmDialog";
- private static final int DEFAULT_DEVICE_NAME = R.string.audio_streams_dialog_default_device;
+
+ @VisibleForTesting
+ static final int DEFAULT_DEVICE_NAME = R.string.audio_streams_dialog_default_device;
+
private Context mContext;
- @Nullable private Activity mActivity;
+ @VisibleForTesting @Nullable Activity mActivity;
@Nullable private BluetoothLeBroadcastMetadata mBroadcastMetadata;
@Nullable private BluetoothDevice mConnectedDevice;
private int mAudioStreamConfirmDialogId = SettingsEnums.PAGE_UNKNOWN;
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamHeaderController.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamHeaderController.java
index 860e62e..e1a178d 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamHeaderController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamHeaderController.java
@@ -54,7 +54,9 @@
private final Executor mExecutor;
private final AudioStreamsHelper mAudioStreamsHelper;
@Nullable private final LocalBluetoothLeBroadcastAssistant mLeBroadcastAssistant;
- private final BluetoothLeBroadcastAssistant.Callback mBroadcastAssistantCallback =
+
+ @VisibleForTesting
+ final BluetoothLeBroadcastAssistant.Callback mBroadcastAssistantCallback =
new AudioStreamsBroadcastAssistantCallback() {
@Override
public void onSourceRemoved(BluetoothDevice sink, int sourceId, int reason) {
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaService.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaService.java
index f812e06..ad358ed 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaService.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaService.java
@@ -16,6 +16,8 @@
package com.android.settings.connecteddevice.audiosharing.audiostreams;
+import static java.util.Collections.emptyList;
+
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
@@ -50,10 +52,14 @@
import com.android.settingslib.bluetooth.LocalBluetoothManager;
import com.android.settingslib.bluetooth.VolumeControlProfile;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+import com.android.settingslib.utils.ThreadUtils;
-import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
public class AudioStreamMediaService extends Service {
static final String BROADCAST_ID = "audio_stream_media_service_broadcast_id";
@@ -62,118 +68,13 @@
private static final String TAG = "AudioStreamMediaService";
private static final int NOTIFICATION_ID = 1;
private static final int BROADCAST_CONTENT_TEXT = R.string.audio_streams_listening_now;
- private static final String LEAVE_BROADCAST_ACTION = "leave_broadcast_action";
+ @VisibleForTesting static final String LEAVE_BROADCAST_ACTION = "leave_broadcast_action";
private static final String LEAVE_BROADCAST_TEXT = "Leave Broadcast";
private static final String CHANNEL_ID = "bluetooth_notification_channel";
private static final String DEFAULT_DEVICE_NAME = "";
private static final int STATIC_PLAYBACK_DURATION = 100;
private static final int STATIC_PLAYBACK_POSITION = 30;
private static final int ZERO_PLAYBACK_SPEED = 0;
- private final AudioStreamsBroadcastAssistantCallback mBroadcastAssistantCallback =
- new AudioStreamsBroadcastAssistantCallback() {
- @Override
- public void onSourceLost(int broadcastId) {
- super.onSourceLost(broadcastId);
- if (broadcastId == mBroadcastId) {
- Log.d(TAG, "onSourceLost() : stopSelf");
- if (mNotificationManager != null) {
- mNotificationManager.cancel(NOTIFICATION_ID);
- }
- stopSelf();
- }
- }
-
- @Override
- public void onSourceRemoved(BluetoothDevice sink, int sourceId, int reason) {
- super.onSourceRemoved(sink, sourceId, reason);
- if (mAudioStreamsHelper != null
- && mAudioStreamsHelper.getAllConnectedSources().stream()
- .map(BluetoothLeBroadcastReceiveState::getBroadcastId)
- .noneMatch(id -> id == mBroadcastId)) {
- Log.d(TAG, "onSourceRemoved() : stopSelf");
- if (mNotificationManager != null) {
- mNotificationManager.cancel(NOTIFICATION_ID);
- }
- stopSelf();
- }
- }
- };
-
- private final BluetoothCallback mBluetoothCallback =
- new BluetoothCallback() {
- @Override
- public void onBluetoothStateChanged(int bluetoothState) {
- if (BluetoothAdapter.STATE_OFF == bluetoothState) {
- Log.d(TAG, "onBluetoothStateChanged() : stopSelf");
- if (mNotificationManager != null) {
- mNotificationManager.cancel(NOTIFICATION_ID);
- }
- stopSelf();
- }
- }
-
- @Override
- public void onProfileConnectionStateChanged(
- @NonNull CachedBluetoothDevice cachedDevice,
- @ConnectionState int state,
- int bluetoothProfile) {
- if (state == BluetoothAdapter.STATE_DISCONNECTED
- && bluetoothProfile == BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT
- && mDevices != null) {
- mDevices.remove(cachedDevice.getDevice());
- cachedDevice
- .getMemberDevice()
- .forEach(
- m -> {
- // Check nullability to pass NullAway check
- if (mDevices != null) {
- mDevices.remove(m.getDevice());
- }
- });
- }
- if (mDevices == null || mDevices.isEmpty()) {
- Log.d(TAG, "onProfileConnectionStateChanged() : stopSelf");
- if (mNotificationManager != null) {
- mNotificationManager.cancel(NOTIFICATION_ID);
- }
- stopSelf();
- }
- }
- };
-
- private final BluetoothVolumeControl.Callback mVolumeControlCallback =
- new BluetoothVolumeControl.Callback() {
- @Override
- public void onDeviceVolumeChanged(
- @NonNull BluetoothDevice device,
- @IntRange(from = -255, to = 255) int volume) {
- if (mDevices == null || mDevices.isEmpty()) {
- Log.w(TAG, "active device or device has source is null!");
- return;
- }
- if (mDevices.contains(device)) {
- Log.d(
- TAG,
- "onDeviceVolumeChanged() bluetoothDevice : "
- + device
- + " volume: "
- + volume);
- if (volume == 0) {
- mIsMuted = true;
- } else {
- mIsMuted = false;
- mLatestPositiveVolume = volume;
- }
- if (mLocalSession != null) {
- mLocalSession.setPlaybackState(getPlaybackState());
- if (mNotificationManager != null) {
- mNotificationManager.notify(NOTIFICATION_ID, buildNotification());
- }
- }
- }
- }
- };
-
private final PlaybackState.Builder mPlayStatePlayingBuilder =
new PlaybackState.Builder()
.setActions(PlaybackState.ACTION_PAUSE | PlaybackState.ACTION_SEEK_TO)
@@ -200,20 +101,24 @@
private final MetricsFeatureProvider mMetricsFeatureProvider =
FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
private final ExecutorService mExecutor = Executors.newSingleThreadExecutor();
+ private final AtomicBoolean mIsMuted = new AtomicBoolean(false);
+ // Set 25 as default as the volume range from `VolumeControlProfile` is from 0 to 255.
+ // If the initial volume from `onDeviceVolumeChanged` is larger than zero (not muted), we will
+ // override this value. Otherwise, we raise the volume to 25 when the play button is clicked.
+ private final AtomicInteger mLatestPositiveVolume = new AtomicInteger(25);
+ private final AtomicBoolean mHasStopped = new AtomicBoolean(false);
private int mBroadcastId;
- @Nullable private ArrayList<BluetoothDevice> mDevices;
+ @Nullable private List<BluetoothDevice> mDevices;
@Nullable private LocalBluetoothManager mLocalBtManager;
@Nullable private AudioStreamsHelper mAudioStreamsHelper;
@Nullable private LocalBluetoothLeBroadcastAssistant mLeBroadcastAssistant;
@Nullable private VolumeControlProfile mVolumeControl;
@Nullable private NotificationManager mNotificationManager;
-
- // Set 25 as default as the volume range from `VolumeControlProfile` is from 0 to 255.
- // If the initial volume from `onDeviceVolumeChanged` is larger than zero (not muted), we will
- // override this value. Otherwise, we raise the volume to 25 when the play button is clicked.
- private int mLatestPositiveVolume = 25;
- private boolean mIsMuted = false;
- @VisibleForTesting @Nullable MediaSession mLocalSession;
+ @Nullable private MediaSession mLocalSession;
+ @VisibleForTesting @Nullable AudioStreamsBroadcastAssistantCallback mBroadcastAssistantCallback;
+ @VisibleForTesting @Nullable BluetoothCallback mBluetoothCallback;
+ @VisibleForTesting @Nullable BluetoothVolumeControl.Callback mVolumeControlCallback;
+ @VisibleForTesting @Nullable MediaSession.Callback mMediaSessionCallback;
@Override
public void onCreate() {
@@ -250,13 +155,16 @@
mNotificationManager.createNotificationChannel(notificationChannel);
}
+ mBluetoothCallback = new BtCallback();
mLocalBtManager.getEventManager().registerCallback(mBluetoothCallback);
mVolumeControl = mLocalBtManager.getProfileManager().getVolumeControlProfile();
if (mVolumeControl != null) {
+ mVolumeControlCallback = new VolumeControlCallback();
mVolumeControl.registerCallback(mExecutor, mVolumeControlCallback);
}
+ mBroadcastAssistantCallback = new AssistantCallback();
mLeBroadcastAssistant.registerServiceCallBack(mExecutor, mBroadcastAssistantCallback);
}
@@ -264,25 +172,19 @@
public void onDestroy() {
Log.d(TAG, "onDestroy()");
super.onDestroy();
-
if (!AudioSharingUtils.isFeatureEnabled()) {
- Log.d(TAG, "onDestroy() : skip due to feature not enabled");
return;
}
if (mLocalBtManager != null) {
- Log.d(TAG, "onDestroy() : unregister mBluetoothCallback");
mLocalBtManager.getEventManager().unregisterCallback(mBluetoothCallback);
}
- if (mLeBroadcastAssistant != null) {
- Log.d(TAG, "onDestroy() : unregister mBroadcastAssistantCallback");
+ if (mLeBroadcastAssistant != null && mBroadcastAssistantCallback != null) {
mLeBroadcastAssistant.unregisterServiceCallBack(mBroadcastAssistantCallback);
}
- if (mVolumeControl != null) {
- Log.d(TAG, "onDestroy() : unregister mVolumeControlCallback");
+ if (mVolumeControl != null && mVolumeControlCallback != null) {
mVolumeControl.unregisterCallback(mVolumeControlCallback);
}
if (mLocalSession != null) {
- Log.d(TAG, "onDestroy() : release mLocalSession");
mLocalSession.release();
mLocalSession = null;
}
@@ -291,33 +193,31 @@
@Override
public int onStartCommand(@Nullable Intent intent, int flags, int startId) {
Log.d(TAG, "onStartCommand()");
-
- mBroadcastId = intent != null ? intent.getIntExtra(BROADCAST_ID, -1) : -1;
+ if (intent == null) {
+ Log.w(TAG, "Intent is null. Service will not start.");
+ mHasStopped.set(true);
+ stopSelf();
+ return START_NOT_STICKY;
+ }
+ mBroadcastId = intent.getIntExtra(BROADCAST_ID, -1);
if (mBroadcastId == -1) {
Log.w(TAG, "Invalid broadcast ID. Service will not start.");
- if (mNotificationManager != null) {
- mNotificationManager.cancel(NOTIFICATION_ID);
- }
+ mHasStopped.set(true);
stopSelf();
return START_NOT_STICKY;
}
-
- if (intent != null) {
- mDevices = intent.getParcelableArrayListExtra(DEVICES, BluetoothDevice.class);
- }
- if (mDevices == null || mDevices.isEmpty()) {
+ var extra = intent.getParcelableArrayListExtra(DEVICES, BluetoothDevice.class);
+ if (extra == null || extra.isEmpty()) {
Log.w(TAG, "No device. Service will not start.");
- if (mNotificationManager != null) {
- mNotificationManager.cancel(NOTIFICATION_ID);
- }
+ mHasStopped.set(true);
stopSelf();
return START_NOT_STICKY;
}
- if (intent != null) {
- createLocalMediaSession(intent.getStringExtra(BROADCAST_TITLE));
- startForeground(NOTIFICATION_ID, buildNotification());
- }
-
+ mDevices = Collections.synchronizedList(extra);
+ createLocalMediaSession(intent.getStringExtra(BROADCAST_TITLE));
+ startForeground(NOTIFICATION_ID, buildNotification());
+ // Reset in case the service is previously stopped but not yet destroyed.
+ mHasStopped.set(false);
return START_NOT_STICKY;
}
@@ -330,78 +230,12 @@
.build());
mLocalSession.setActive(true);
mLocalSession.setPlaybackState(getPlaybackState());
- mLocalSession.setCallback(
- new MediaSession.Callback() {
- public void onSeekTo(long pos) {
- Log.d(TAG, "onSeekTo: " + pos);
- if (mLocalSession != null) {
- mLocalSession.setPlaybackState(getPlaybackState());
- if (mNotificationManager != null) {
- mNotificationManager.notify(NOTIFICATION_ID, buildNotification());
- }
- }
- }
-
- @Override
- public void onPause() {
- if (mDevices == null || mDevices.isEmpty()) {
- Log.w(TAG, "active device or device has source is null!");
- return;
- }
- Log.d(
- TAG,
- "onPause() setting volume for device : "
- + mDevices.get(0)
- + " volume: "
- + 0);
- if (mVolumeControl != null) {
- mVolumeControl.setDeviceVolume(mDevices.get(0), 0, true);
- mMetricsFeatureProvider.action(
- getApplicationContext(),
- SettingsEnums
- .ACTION_AUDIO_STREAM_NOTIFICATION_MUTE_BUTTON_CLICK,
- 1);
- }
- }
-
- @Override
- public void onPlay() {
- if (mDevices == null || mDevices.isEmpty()) {
- Log.w(TAG, "active device or device has source is null!");
- return;
- }
- Log.d(
- TAG,
- "onPlay() setting volume for device : "
- + mDevices.get(0)
- + " volume: "
- + mLatestPositiveVolume);
- if (mVolumeControl != null) {
- mVolumeControl.setDeviceVolume(
- mDevices.get(0), mLatestPositiveVolume, true);
- }
- mMetricsFeatureProvider.action(
- getApplicationContext(),
- SettingsEnums.ACTION_AUDIO_STREAM_NOTIFICATION_MUTE_BUTTON_CLICK,
- 0);
- }
-
- @Override
- public void onCustomAction(@NonNull String action, Bundle extras) {
- Log.d(TAG, "onCustomAction: " + action);
- if (action.equals(LEAVE_BROADCAST_ACTION) && mAudioStreamsHelper != null) {
- mAudioStreamsHelper.removeSource(mBroadcastId);
- mMetricsFeatureProvider.action(
- getApplicationContext(),
- SettingsEnums
- .ACTION_AUDIO_STREAM_NOTIFICATION_LEAVE_BUTTON_CLICK);
- }
- }
- });
+ mMediaSessionCallback = new MediaSessionCallback();
+ mLocalSession.setCallback(mMediaSessionCallback);
}
private PlaybackState getPlaybackState() {
- return mIsMuted ? mPlayStatePausingBuilder.build() : mPlayStatePlayingBuilder.build();
+ return mIsMuted.get() ? mPlayStatePausingBuilder.build() : mPlayStatePlayingBuilder.build();
}
private String getDeviceName() {
@@ -442,4 +276,167 @@
public IBinder onBind(Intent intent) {
return null;
}
+
+ private class AssistantCallback extends AudioStreamsBroadcastAssistantCallback {
+ @Override
+ public void onSourceLost(int broadcastId) {
+ super.onSourceLost(broadcastId);
+ handleRemoveSource();
+ }
+
+ @Override
+ public void onSourceRemoved(BluetoothDevice sink, int sourceId, int reason) {
+ super.onSourceRemoved(sink, sourceId, reason);
+ handleRemoveSource();
+ }
+
+ private void handleRemoveSource() {
+ var unused =
+ ThreadUtils.postOnBackgroundThread(
+ () -> {
+ List<BluetoothLeBroadcastReceiveState> connected =
+ mAudioStreamsHelper == null
+ ? emptyList()
+ : mAudioStreamsHelper.getAllConnectedSources();
+ if (connected.stream()
+ .map(BluetoothLeBroadcastReceiveState::getBroadcastId)
+ .noneMatch(id -> id == mBroadcastId)) {
+ mHasStopped.set(true);
+ stopSelf();
+ }
+ });
+ }
+ }
+
+ private class VolumeControlCallback implements BluetoothVolumeControl.Callback {
+ @Override
+ public void onDeviceVolumeChanged(
+ @NonNull BluetoothDevice device, @IntRange(from = -255, to = 255) int volume) {
+ if (mDevices == null || mDevices.isEmpty()) {
+ Log.w(TAG, "active device or device has source is null!");
+ return;
+ }
+ Log.d(
+ TAG,
+ "onDeviceVolumeChanged() bluetoothDevice : " + device + " volume: " + volume);
+ if (mDevices.contains(device)) {
+ if (volume == 0) {
+ mIsMuted.set(true);
+ } else {
+ mIsMuted.set(false);
+ mLatestPositiveVolume.set(volume);
+ }
+ updateNotification(getPlaybackState());
+ }
+ }
+ }
+
+ private class BtCallback implements BluetoothCallback {
+ @Override
+ public void onBluetoothStateChanged(int bluetoothState) {
+ if (BluetoothAdapter.STATE_OFF == bluetoothState) {
+ Log.d(TAG, "onBluetoothStateChanged() : stopSelf");
+ mHasStopped.set(true);
+ stopSelf();
+ }
+ }
+
+ @Override
+ public void onProfileConnectionStateChanged(
+ @NonNull CachedBluetoothDevice cachedDevice,
+ @ConnectionState int state,
+ int bluetoothProfile) {
+ if (state == BluetoothAdapter.STATE_DISCONNECTED
+ && bluetoothProfile == BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT
+ && mDevices != null) {
+ mDevices.remove(cachedDevice.getDevice());
+ cachedDevice
+ .getMemberDevice()
+ .forEach(
+ m -> {
+ // Check nullability to pass NullAway check
+ if (mDevices != null) {
+ mDevices.remove(m.getDevice());
+ }
+ });
+ }
+ if (mDevices == null || mDevices.isEmpty()) {
+ Log.d(TAG, "onProfileConnectionStateChanged() : stopSelf");
+ mHasStopped.set(true);
+ stopSelf();
+ }
+ }
+ }
+
+ private class MediaSessionCallback extends MediaSession.Callback {
+ public void onSeekTo(long pos) {
+ Log.d(TAG, "onSeekTo: " + pos);
+ updateNotification(getPlaybackState());
+ }
+
+ @Override
+ public void onPause() {
+ if (mDevices == null || mDevices.isEmpty()) {
+ Log.w(TAG, "active device or device has source is null!");
+ return;
+ }
+ Log.d(
+ TAG,
+ "onPause() setting volume for device : " + mDevices.get(0) + " volume: " + 0);
+ setDeviceVolume(mDevices.get(0), /* volume= */ 0);
+ }
+
+ @Override
+ public void onPlay() {
+ if (mDevices == null || mDevices.isEmpty()) {
+ Log.w(TAG, "active device or device has source is null!");
+ return;
+ }
+ Log.d(
+ TAG,
+ "onPlay() setting volume for device : "
+ + mDevices.get(0)
+ + " volume: "
+ + mLatestPositiveVolume.get());
+ setDeviceVolume(mDevices.get(0), mLatestPositiveVolume.get());
+ }
+
+ @Override
+ public void onCustomAction(@NonNull String action, Bundle extras) {
+ Log.d(TAG, "onCustomAction: " + action);
+ if (action.equals(LEAVE_BROADCAST_ACTION) && mAudioStreamsHelper != null) {
+ mAudioStreamsHelper.removeSource(mBroadcastId);
+ mMetricsFeatureProvider.action(
+ getApplicationContext(),
+ SettingsEnums.ACTION_AUDIO_STREAM_NOTIFICATION_LEAVE_BUTTON_CLICK);
+ }
+ }
+
+ private void setDeviceVolume(BluetoothDevice device, int volume) {
+ int event = SettingsEnums.ACTION_AUDIO_STREAM_NOTIFICATION_MUTE_BUTTON_CLICK;
+ var unused =
+ ThreadUtils.postOnBackgroundThread(
+ () -> {
+ if (mVolumeControl != null) {
+ mVolumeControl.setDeviceVolume(device, volume, true);
+ mMetricsFeatureProvider.action(
+ getApplicationContext(), event, volume == 0 ? 1 : 0);
+ }
+ });
+ }
+ }
+
+ private void updateNotification(PlaybackState playbackState) {
+ var unused =
+ ThreadUtils.postOnBackgroundThread(
+ () -> {
+ if (mLocalSession != null) {
+ mLocalSession.setPlaybackState(playbackState);
+ if (mNotificationManager != null && !mHasStopped.get()) {
+ mNotificationManager.notify(
+ NOTIFICATION_ID, buildNotification());
+ }
+ }
+ });
+ }
}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamStateHandler.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamStateHandler.java
index b0c5b6b..4bb8475 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamStateHandler.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamStateHandler.java
@@ -35,10 +35,10 @@
private static final boolean DEBUG = BluetoothUtils.D;
@VisibleForTesting static final int EMPTY_STRING_RES = 0;
- final AudioStreamsRepository mAudioStreamsRepository = AudioStreamsRepository.getInstance();
final Handler mHandler = new Handler(Looper.getMainLooper());
final MetricsFeatureProvider mMetricsFeatureProvider =
FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
+ AudioStreamsRepository mAudioStreamsRepository = AudioStreamsRepository.getInstance();
AudioStreamStateHandler() {}
@@ -112,4 +112,9 @@
AudioStreamsProgressCategoryController.AudioStreamState getStateEnum() {
return AudioStreamsProgressCategoryController.AudioStreamState.UNKNOWN;
}
+
+ @VisibleForTesting
+ void setAudioStreamsRepositoryForTesting(AudioStreamsRepository repository) {
+ mAudioStreamsRepository = repository;
+ }
}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceSummaryUpdater.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceSummaryUpdater.java
index ab22b07..47ee440 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceSummaryUpdater.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceSummaryUpdater.java
@@ -16,24 +16,22 @@
package com.android.settings.connecteddevice.audiosharing.audiostreams;
+import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothProfile;
import android.content.Context;
import android.text.TextUtils;
-import android.util.Log;
+import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.android.settings.R;
import com.android.settings.bluetooth.Utils;
import com.android.settingslib.bluetooth.BluetoothCallback;
-import com.android.settingslib.bluetooth.BluetoothUtils;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
import com.android.settingslib.bluetooth.LocalBluetoothManager;
import com.android.settingslib.utils.ThreadUtils;
public class AudioStreamsActiveDeviceSummaryUpdater implements BluetoothCallback {
- private static final String TAG = "AudioStreamsActiveDeviceSummaryUpdater";
- private static final boolean DEBUG = BluetoothUtils.D;
private final LocalBluetoothManager mBluetoothManager;
private Context mContext;
@Nullable private String mSummary;
@@ -47,17 +45,20 @@
}
@Override
- public void onActiveDeviceChanged(
- @Nullable CachedBluetoothDevice activeDevice, int bluetoothProfile) {
- if (DEBUG) {
- Log.d(
- TAG,
- "onActiveDeviceChanged() with activeDevice : "
- + (activeDevice == null ? "null" : activeDevice.getAddress())
- + " on profile : "
- + bluetoothProfile);
+ public void onBluetoothStateChanged(@AdapterState int bluetoothState) {
+ if (bluetoothState == BluetoothAdapter.STATE_OFF) {
+ notifyChangeIfNeeded();
}
- if (bluetoothProfile == BluetoothProfile.LE_AUDIO) {
+ }
+
+ @Override
+ public void onProfileConnectionStateChanged(
+ @NonNull CachedBluetoothDevice cachedDevice,
+ @ConnectionState int state,
+ int bluetoothProfile) {
+ if (bluetoothProfile == BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT
+ && (state == BluetoothAdapter.STATE_CONNECTED
+ || state == BluetoothAdapter.STATE_DISCONNECTED)) {
notifyChangeIfNeeded();
}
}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsCategoryController.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsCategoryController.java
index 3174ace..0107c6e 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsCategoryController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsCategoryController.java
@@ -16,12 +16,12 @@
package com.android.settings.connecteddevice.audiosharing.audiostreams;
+import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothProfile;
import android.content.Context;
import android.util.Log;
import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
import androidx.lifecycle.LifecycleOwner;
import com.android.settings.bluetooth.Utils;
@@ -44,9 +44,13 @@
private final BluetoothCallback mBluetoothCallback =
new BluetoothCallback() {
@Override
- public void onActiveDeviceChanged(
- @Nullable CachedBluetoothDevice activeDevice, int bluetoothProfile) {
- if (bluetoothProfile == BluetoothProfile.LE_AUDIO) {
+ public void onProfileConnectionStateChanged(
+ @NonNull CachedBluetoothDevice cachedDevice,
+ @ConnectionState int state,
+ int bluetoothProfile) {
+ if (bluetoothProfile == BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT
+ && (state == BluetoothAdapter.STATE_CONNECTED
+ || state == BluetoothAdapter.STATE_DISCONNECTED)) {
updateVisibility();
}
}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDashboardFragment.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDashboardFragment.java
index ce32cdb..ae5cb6e 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDashboardFragment.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDashboardFragment.java
@@ -23,7 +23,6 @@
import android.bluetooth.BluetoothLeBroadcastMetadata;
import android.content.Context;
import android.content.Intent;
-import android.os.Bundle;
import android.util.Log;
import androidx.annotation.Nullable;
@@ -64,11 +63,6 @@
}
@Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- }
-
- @Override
public void onAttach(Context context) {
super.onAttach(context);
use(AudioStreamsScanQrCodeController.class).setFragment(this);
@@ -92,11 +86,6 @@
}
@Override
- public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
- }
-
- @Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (DEBUG) {
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsHelper.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsHelper.java
index 775186a..6e335a0 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsHelper.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsHelper.java
@@ -71,7 +71,8 @@
*
* @param source The LE broadcast metadata representing the audio source.
*/
- void addSource(BluetoothLeBroadcastMetadata source) {
+ @VisibleForTesting
+ public void addSource(BluetoothLeBroadcastMetadata source) {
if (mLeBroadcastAssistant == null) {
Log.w(TAG, "addSource(): LeBroadcastAssistant is null!");
return;
@@ -97,7 +98,8 @@
}
/** Removes sources from LE broadcasts associated for all active sinks based on broadcast Id. */
- void removeSource(int broadcastId) {
+ @VisibleForTesting
+ public void removeSource(int broadcastId) {
if (mLeBroadcastAssistant == null) {
Log.w(TAG, "removeSource(): LeBroadcastAssistant is null!");
return;
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryCallback.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryCallback.java
index cb3a0da..3370d8d 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryCallback.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryCallback.java
@@ -19,7 +19,6 @@
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothLeBroadcastMetadata;
import android.bluetooth.BluetoothLeBroadcastReceiveState;
-import android.util.Log;
public class AudioStreamsProgressCategoryCallback extends AudioStreamsBroadcastAssistantCallback {
private static final String TAG = "AudioStreamsProgressCategoryCallback";
@@ -53,10 +52,6 @@
@Override
public void onSearchStarted(int reason) {
super.onSearchStarted(reason);
- if (mCategoryController == null) {
- Log.w(TAG, "onSearchStarted() : mCategoryController is null!");
- return;
- }
mCategoryController.setScanning(true);
}
@@ -69,10 +64,6 @@
@Override
public void onSearchStopped(int reason) {
super.onSearchStopped(reason);
- if (mCategoryController == null) {
- Log.w(TAG, "onSearchStopped() : mCategoryController is null!");
- return;
- }
mCategoryController.setScanning(false);
}
@@ -86,10 +77,6 @@
@Override
public void onSourceFound(BluetoothLeBroadcastMetadata source) {
super.onSourceFound(source);
- if (mCategoryController == null) {
- Log.w(TAG, "onSourceFound() : mCategoryController is null!");
- return;
- }
mCategoryController.handleSourceFound(source);
}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryController.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryController.java
index 890879e..9bbf135 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryController.java
@@ -20,6 +20,7 @@
import android.app.AlertDialog;
import android.app.settings.SettingsEnums;
+import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothLeBroadcastMetadata;
import android.bluetooth.BluetoothLeBroadcastReceiveState;
import android.bluetooth.BluetoothProfile;
@@ -27,10 +28,12 @@
import android.util.Log;
import androidx.annotation.NonNull;
+import androidx.fragment.app.Fragment;
import androidx.lifecycle.DefaultLifecycleObserver;
import androidx.lifecycle.LifecycleOwner;
import androidx.preference.PreferenceScreen;
+import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R;
import com.android.settings.bluetooth.Utils;
import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
@@ -55,13 +58,35 @@
implements DefaultLifecycleObserver {
private static final String TAG = "AudioStreamsProgressCategoryController";
private static final boolean DEBUG = BluetoothUtils.D;
- private static final int UNSET_BROADCAST_ID = -1;
- private final BluetoothCallback mBluetoothCallback =
+ @VisibleForTesting static final int UNSET_BROADCAST_ID = -1;
+
+ @VisibleForTesting
+ final BluetoothCallback mBluetoothCallback =
new BluetoothCallback() {
@Override
- public void onActiveDeviceChanged(
- @Nullable CachedBluetoothDevice activeDevice, int bluetoothProfile) {
- if (bluetoothProfile == BluetoothProfile.LE_AUDIO) {
+ public void onBluetoothStateChanged(@AdapterState int bluetoothState) {
+ Log.d(TAG, "onBluetoothStateChanged() with bluetoothState : " + bluetoothState);
+ if (bluetoothState == BluetoothAdapter.STATE_OFF) {
+ mExecutor.execute(() -> init());
+ }
+ }
+
+ @Override
+ public void onProfileConnectionStateChanged(
+ @NonNull CachedBluetoothDevice cachedDevice,
+ @ConnectionState int state,
+ int bluetoothProfile) {
+ Log.d(
+ TAG,
+ "onProfileConnectionStateChanged() with cachedDevice : "
+ + cachedDevice.getAddress()
+ + " with state : "
+ + state
+ + " on profile : "
+ + bluetoothProfile);
+ if (bluetoothProfile == BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT
+ && (state == BluetoothAdapter.STATE_CONNECTED
+ || state == BluetoothAdapter.STATE_DISCONNECTED)) {
mExecutor.execute(() -> init());
}
}
@@ -92,7 +117,7 @@
SOURCE_ADDED,
}
- private final Executor mExecutor;
+ @VisibleForTesting Executor mExecutor;
private final AudioStreamsProgressCategoryCallback mBroadcastAssistantCallback;
private final AudioStreamsHelper mAudioStreamsHelper;
private final MediaControlHelper mMediaControlHelper;
@@ -103,7 +128,7 @@
private @Nullable BluetoothLeBroadcastMetadata mSourceFromQrCode;
private SourceOriginForLogging mSourceFromQrCodeOriginForLogging;
@Nullable private AudioStreamsProgressCategoryPreference mCategoryPreference;
- @Nullable private AudioStreamsDashboardFragment mFragment;
+ @Nullable private Fragment mFragment;
public AudioStreamsProgressCategoryController(Context context, String preferenceKey) {
super(context, preferenceKey);
@@ -142,12 +167,12 @@
mExecutor.execute(this::stopScanning);
}
- void setFragment(AudioStreamsDashboardFragment fragment) {
+ void setFragment(Fragment fragment) {
mFragment = fragment;
}
@Nullable
- AudioStreamsDashboardFragment getFragment() {
+ Fragment getFragment() {
return mFragment;
}
@@ -546,7 +571,8 @@
return preference;
}
- private void moveToState(AudioStreamPreference preference, AudioStreamState state) {
+ @VisibleForTesting
+ void moveToState(AudioStreamPreference preference, AudioStreamState state) {
AudioStreamStateHandler stateHandler =
switch (state) {
case SYNCED -> SyncedState.getInstance();
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsScanQrCodeController.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsScanQrCodeController.java
index 5f50be7..d0d82fb 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsScanQrCodeController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsScanQrCodeController.java
@@ -16,6 +16,7 @@
package com.android.settings.connecteddevice.audiosharing.audiostreams;
+import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothProfile;
import android.content.Context;
import android.util.Log;
@@ -47,9 +48,13 @@
final BluetoothCallback mBluetoothCallback =
new BluetoothCallback() {
@Override
- public void onActiveDeviceChanged(
- @Nullable CachedBluetoothDevice activeDevice, int bluetoothProfile) {
- if (bluetoothProfile == BluetoothProfile.LE_AUDIO) {
+ public void onProfileConnectionStateChanged(
+ @NonNull CachedBluetoothDevice cachedDevice,
+ @ConnectionState int state,
+ int bluetoothProfile) {
+ if (bluetoothProfile == BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT
+ && (state == BluetoothAdapter.STATE_CONNECTED
+ || state == BluetoothAdapter.STATE_DISCONNECTED)) {
updateVisibility();
}
}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SourceAddedState.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SourceAddedState.java
index ee84429..88393ab 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SourceAddedState.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SourceAddedState.java
@@ -25,6 +25,7 @@
import com.android.settings.R;
import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.dashboard.DashboardFragment;
class SourceAddedState extends AudioStreamStateHandler {
@VisibleForTesting
@@ -32,7 +33,8 @@
@Nullable private static SourceAddedState sInstance = null;
- private SourceAddedState() {}
+ @VisibleForTesting
+ SourceAddedState() {}
static SourceAddedState getInstance() {
if (sInstance == null) {
@@ -80,13 +82,13 @@
AudioStreamDetailsFragment.BROADCAST_ID_ARG, p.getAudioStreamBroadcastId());
new SubSettingLauncher(p.getContext())
- .setTitleText(
- p.getContext().getString(R.string.audio_streams_detail_page_title))
+ .setTitleRes(R.string.audio_streams_detail_page_title)
.setDestination(AudioStreamDetailsFragment.class.getName())
.setSourceMetricsCategory(
- controller.getFragment() == null
+ !(controller.getFragment() instanceof DashboardFragment)
? SettingsEnums.PAGE_UNKNOWN
- : controller.getFragment().getMetricsCategory())
+ : ((DashboardFragment) controller.getFragment())
+ .getMetricsCategory())
.setArguments(broadcast)
.launch();
return true;
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/WaitForSyncState.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/WaitForSyncState.java
index 55f61fd..9689b26 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/WaitForSyncState.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/WaitForSyncState.java
@@ -39,7 +39,8 @@
@Nullable private static WaitForSyncState sInstance = null;
- private WaitForSyncState() {}
+ @VisibleForTesting
+ WaitForSyncState() {}
static WaitForSyncState getInstance() {
if (sInstance == null) {
@@ -114,7 +115,8 @@
SettingsEnums.DIALOG_AUDIO_STREAM_MAIN_WAIT_FOR_SYNC_TIMEOUT);
}
- private void launchQrCodeScanFragment(Context context, Fragment fragment) {
+ @VisibleForTesting
+ void launchQrCodeScanFragment(Context context, Fragment fragment) {
new SubSettingLauncher(context)
.setTitleRes(R.string.audio_streams_main_page_scan_qr_code_title)
.setDestination(AudioStreamsQrCodeScanFragment.class.getName())
diff --git a/src/com/android/settings/connecteddevice/display/ExternalDisplayPreferenceFragment.java b/src/com/android/settings/connecteddevice/display/ExternalDisplayPreferenceFragment.java
new file mode 100644
index 0000000..09f8e92
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/display/ExternalDisplayPreferenceFragment.java
@@ -0,0 +1,544 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.connecteddevice.display;
+
+
+import static android.view.Display.INVALID_DISPLAY;
+
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.EXTERNAL_DISPLAY_HELP_URL;
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.DISPLAY_ID_ARG;
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.EXTERNAL_DISPLAY_NOT_FOUND_RESOURCE;
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isDisplayAllowed;
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isUseDisplaySettingEnabled;
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isResolutionSettingEnabled;
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isRotationSettingEnabled;
+
+import android.app.Activity;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.Bundle;
+import android.view.Display;
+import android.view.View;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.ListPreference;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragmentBase;
+import com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.DisplayListener;
+import com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.Injector;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.search.Indexable;
+import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.widget.FooterPreference;
+import com.android.settingslib.widget.IllustrationPreference;
+import com.android.settingslib.widget.MainSwitchPreference;
+import com.android.settingslib.widget.TwoTargetPreference;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The Settings screen for External Displays configuration and connection management.
+ */
+@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
+public class ExternalDisplayPreferenceFragment extends SettingsPreferenceFragmentBase
+ implements Indexable {
+ static final int EXTERNAL_DISPLAY_SETTINGS_RESOURCE = R.xml.external_display_settings;
+ public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+ new BaseSearchIndexProvider(EXTERNAL_DISPLAY_SETTINGS_RESOURCE);
+ static final String DISPLAYS_LIST_PREFERENCE_KEY = "displays_list_preference";
+ static final String EXTERNAL_DISPLAY_USE_PREFERENCE_KEY = "external_display_use_preference";
+ static final String EXTERNAL_DISPLAY_ROTATION_KEY = "external_display_rotation";
+ static final String EXTERNAL_DISPLAY_RESOLUTION_PREFERENCE_KEY = "external_display_resolution";
+ static final int EXTERNAL_DISPLAY_CHANGE_RESOLUTION_FOOTER_RESOURCE =
+ R.string.external_display_change_resolution_footer_title;
+ static final int EXTERNAL_DISPLAY_LANDSCAPE_DRAWABLE =
+ R.drawable.external_display_mirror_landscape;
+ static final int EXTERANAL_DISPLAY_TITLE_RESOURCE =
+ R.string.external_display_settings_title;
+ static final int EXTERNAL_DISPLAY_USE_TITLE_RESOURCE =
+ R.string.external_display_use_title;
+ static final int EXTERNAL_DISPLAY_NOT_FOUND_FOOTER_RESOURCE =
+ R.string.external_display_not_found_footer_title;
+ static final int EXTERNAL_DISPLAY_PORTRAIT_DRAWABLE =
+ R.drawable.external_display_mirror_portrait;
+ static final int EXTERNAL_DISPLAY_ROTATION_TITLE_RESOURCE =
+ R.string.external_display_rotation;
+ static final int EXTERNAL_DISPLAY_RESOLUTION_TITLE_RESOURCE =
+ R.string.external_display_resolution_settings_title;
+ @VisibleForTesting
+ static final String PREVIOUSLY_SHOWN_LIST_KEY = "mPreviouslyShownListOfDisplays";
+ private boolean mStarted;
+ @Nullable
+ private MainSwitchPreference mUseDisplayPref;
+ @Nullable
+ private IllustrationPreference mImagePreference;
+ @Nullable
+ private Preference mResolutionPreference;
+ @Nullable
+ private ListPreference mRotationPref;
+ @Nullable
+ private FooterPreference mFooterPreference;
+ @Nullable
+ private PreferenceCategory mDisplaysPreference;
+ @Nullable
+ private Injector mInjector;
+ @Nullable
+ private String[] mRotationEntries;
+ @Nullable
+ private String[] mRotationEntriesValues;
+ @NonNull
+ private final Runnable mUpdateRunnable = this::update;
+ private final DisplayListener mListener = new DisplayListener() {
+ @Override
+ public void update(int displayId) {
+ scheduleUpdate();
+ }
+ };
+ private boolean mPreviouslyShownListOfDisplays;
+
+ public ExternalDisplayPreferenceFragment() {}
+
+ @VisibleForTesting
+ ExternalDisplayPreferenceFragment(@NonNull Injector injector) {
+ mInjector = injector;
+ }
+
+ @Override
+ public int getMetricsCategory() {
+ return SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY;
+ }
+
+ @Override
+ public int getHelpResource() {
+ return EXTERNAL_DISPLAY_HELP_URL;
+ }
+
+ @Override
+ public void onSaveInstanceStateCallback(@NonNull Bundle outState) {
+ outState.putSerializable(PREVIOUSLY_SHOWN_LIST_KEY,
+ (Serializable) mPreviouslyShownListOfDisplays);
+ }
+
+ @Override
+ public void onCreateCallback(@Nullable Bundle icicle) {
+ if (mInjector == null) {
+ mInjector = new Injector(getPrefContext());
+ }
+ addPreferencesFromResource(EXTERNAL_DISPLAY_SETTINGS_RESOURCE);
+ }
+
+ @Override
+ public void onActivityCreatedCallback(@Nullable Bundle savedInstanceState) {
+ restoreState(savedInstanceState);
+ View view = getView();
+ TextView emptyView = null;
+ if (view != null) {
+ emptyView = (TextView) view.findViewById(android.R.id.empty);
+ }
+ if (emptyView != null) {
+ emptyView.setText(EXTERNAL_DISPLAY_NOT_FOUND_RESOURCE);
+ setEmptyView(emptyView);
+ }
+ }
+
+ @Override
+ public void onStartCallback() {
+ mStarted = true;
+ if (mInjector == null) {
+ return;
+ }
+ mInjector.registerDisplayListener(mListener);
+ scheduleUpdate();
+ }
+
+ @Override
+ public void onStopCallback() {
+ mStarted = false;
+ if (mInjector == null) {
+ return;
+ }
+ mInjector.unregisterDisplayListener(mListener);
+ unscheduleUpdate();
+ }
+
+ /**
+ * @return id of the preference.
+ */
+ @Override
+ protected int getPreferenceScreenResId() {
+ return EXTERNAL_DISPLAY_SETTINGS_RESOURCE;
+ }
+
+ @VisibleForTesting
+ protected void launchResolutionSelector(@NonNull final Context context, final int displayId) {
+ final Bundle args = new Bundle();
+ args.putInt(DISPLAY_ID_ARG, displayId);
+ new SubSettingLauncher(context)
+ .setDestination(ResolutionPreferenceFragment.class.getName())
+ .setArguments(args)
+ .setSourceMetricsCategory(getMetricsCategory()).launch();
+ }
+
+ @VisibleForTesting
+ protected void launchDisplaySettings(final int displayId) {
+ final Bundle args = new Bundle();
+ var context = getPrefContext();
+ args.putInt(DISPLAY_ID_ARG, displayId);
+ new SubSettingLauncher(context)
+ .setDestination(this.getClass().getName())
+ .setArguments(args)
+ .setSourceMetricsCategory(getMetricsCategory()).launch();
+ }
+
+ /**
+ * Returns the preference for the footer.
+ */
+ @NonNull
+ @VisibleForTesting
+ FooterPreference getFooterPreference(@NonNull Context context) {
+ if (mFooterPreference == null) {
+ mFooterPreference = new FooterPreference(context);
+ mFooterPreference.setPersistent(false);
+ }
+ return mFooterPreference;
+ }
+
+ @NonNull
+ @VisibleForTesting
+ ListPreference getRotationPreference(@NonNull Context context) {
+ if (mRotationPref == null) {
+ mRotationPref = new ListPreference(context);
+ mRotationPref.setPersistent(false);
+ }
+ return mRotationPref;
+ }
+
+ @NonNull
+ @VisibleForTesting
+ Preference getResolutionPreference(@NonNull Context context) {
+ if (mResolutionPreference == null) {
+ mResolutionPreference = new Preference(context);
+ mResolutionPreference.setPersistent(false);
+ }
+ return mResolutionPreference;
+ }
+
+ @NonNull
+ @VisibleForTesting
+ MainSwitchPreference getUseDisplayPreference(@NonNull Context context) {
+ if (mUseDisplayPref == null) {
+ mUseDisplayPref = new MainSwitchPreference(context);
+ mUseDisplayPref.setPersistent(false);
+ }
+ return mUseDisplayPref;
+ }
+
+ @NonNull
+ @VisibleForTesting
+ IllustrationPreference getIllustrationPreference(@NonNull Context context) {
+ if (mImagePreference == null) {
+ mImagePreference = new IllustrationPreference(context);
+ mImagePreference.setPersistent(false);
+ }
+ return mImagePreference;
+ }
+
+ /**
+ * @return return display id argument of this settings page.
+ */
+ @VisibleForTesting
+ protected int getDisplayIdArg() {
+ var args = getArguments();
+ return args != null ? args.getInt(DISPLAY_ID_ARG, INVALID_DISPLAY) : INVALID_DISPLAY;
+ }
+
+ @NonNull
+ private PreferenceCategory getDisplaysListPreference(@NonNull Context context) {
+ if (mDisplaysPreference == null) {
+ mDisplaysPreference = new PreferenceCategory(context);
+ mDisplaysPreference.setPersistent(false);
+ }
+ return mDisplaysPreference;
+ }
+
+ private void restoreState(@Nullable Bundle savedInstanceState) {
+ if (savedInstanceState == null) {
+ return;
+ }
+ mPreviouslyShownListOfDisplays = Boolean.TRUE.equals(savedInstanceState.getSerializable(
+ PREVIOUSLY_SHOWN_LIST_KEY, Boolean.class));
+ }
+
+ private void update() {
+ final var screen = getPreferenceScreen();
+ if (screen == null || mInjector == null || mInjector.getContext() == null) {
+ return;
+ }
+ screen.removeAll();
+ updateScreenForDisplayId(getDisplayIdArg(), screen, mInjector.getContext());
+ }
+
+ private void updateScreenForDisplayId(final int displayId,
+ @NonNull final PreferenceScreen screen, @NonNull Context context) {
+ final var displaysToShow = getDisplaysToShow(displayId);
+ if (displaysToShow.isEmpty() && displayId == INVALID_DISPLAY) {
+ showTextWhenNoDisplaysToShow(screen, context);
+ } else if (displaysToShow.size() == 1
+ && ((displayId == INVALID_DISPLAY && !mPreviouslyShownListOfDisplays)
+ || displaysToShow.get(0).getDisplayId() == displayId)) {
+ showDisplaySettings(displaysToShow.get(0), screen, context);
+ } else if (displayId == INVALID_DISPLAY) {
+ // If ever shown a list of displays - keep showing it for consistency after
+ // disconnecting one of the displays, and only one display is left.
+ mPreviouslyShownListOfDisplays = true;
+ showDisplaysList(displaysToShow, screen, context);
+ }
+ updateSettingsTitle(displaysToShow, displayId);
+ }
+
+ private void updateSettingsTitle(@NonNull final List<Display> displaysToShow, int displayId) {
+ final Activity activity = getCurrentActivity();
+ if (activity == null) {
+ return;
+ }
+ if (displaysToShow.size() == 1 && displaysToShow.get(0).getDisplayId() == displayId) {
+ var displayName = displaysToShow.get(0).getName();
+ if (!displayName.isEmpty()) {
+ activity.setTitle(displayName.substring(0, Math.min(displayName.length(), 40)));
+ return;
+ }
+ }
+ activity.setTitle(EXTERANAL_DISPLAY_TITLE_RESOURCE);
+ }
+
+ private void showTextWhenNoDisplaysToShow(@NonNull final PreferenceScreen screen,
+ @NonNull Context context) {
+ if (isUseDisplaySettingEnabled(mInjector)) {
+ screen.addPreference(updateUseDisplayPreferenceNoDisplaysFound(context));
+ }
+ screen.addPreference(updateFooterPreference(context,
+ EXTERNAL_DISPLAY_NOT_FOUND_FOOTER_RESOURCE));
+ }
+
+ private void showDisplaySettings(@NonNull Display display, @NonNull PreferenceScreen screen,
+ @NonNull Context context) {
+ final var isEnabled = mInjector != null && mInjector.isDisplayEnabled(display);
+ if (isUseDisplaySettingEnabled(mInjector)) {
+ screen.addPreference(updateUseDisplayPreference(context, display, isEnabled));
+ }
+ if (!isEnabled) {
+ // Skip all other settings
+ return;
+ }
+ final var displayRotation = getDisplayRotation(display.getDisplayId());
+ screen.addPreference(updateIllustrationImage(context, displayRotation));
+ screen.addPreference(updateResolutionPreference(context, display));
+ screen.addPreference(updateRotationPreference(context, display, displayRotation));
+ if (isResolutionSettingEnabled(mInjector)) {
+ screen.addPreference(updateFooterPreference(context,
+ EXTERNAL_DISPLAY_CHANGE_RESOLUTION_FOOTER_RESOURCE));
+ }
+ }
+
+ private void showDisplaysList(@NonNull List<Display> displaysToShow,
+ @NonNull PreferenceScreen screen, @NonNull Context context) {
+ var pref = getDisplaysListPreference(context);
+ pref.setKey(DISPLAYS_LIST_PREFERENCE_KEY);
+ pref.removeAll();
+ if (!displaysToShow.isEmpty()) {
+ screen.addPreference(pref);
+ }
+ for (var display : displaysToShow) {
+ pref.addPreference(new DisplayPreference(context, display));
+ }
+ }
+
+ private List<Display> getDisplaysToShow(int displayIdToShow) {
+ if (mInjector == null) {
+ return List.of();
+ }
+ if (displayIdToShow != INVALID_DISPLAY) {
+ var display = mInjector.getDisplay(displayIdToShow);
+ if (display != null && isDisplayAllowed(display, mInjector)) {
+ return List.of(display);
+ }
+ }
+ var displaysToShow = new ArrayList<Display>();
+ for (var display : mInjector.getAllDisplays()) {
+ if (display != null && isDisplayAllowed(display, mInjector)) {
+ displaysToShow.add(display);
+ }
+ }
+ return displaysToShow;
+ }
+
+ private Preference updateUseDisplayPreferenceNoDisplaysFound(@NonNull Context context) {
+ final var pref = getUseDisplayPreference(context);
+ pref.setKey(EXTERNAL_DISPLAY_USE_PREFERENCE_KEY);
+ pref.setTitle(EXTERNAL_DISPLAY_USE_TITLE_RESOURCE);
+ pref.setChecked(false);
+ pref.setEnabled(false);
+ pref.setOnPreferenceChangeListener(null);
+ return pref;
+ }
+
+ private Preference updateUseDisplayPreference(@NonNull final Context context,
+ @NonNull final Display display, boolean isEnabled) {
+ final var pref = getUseDisplayPreference(context);
+ pref.setKey(EXTERNAL_DISPLAY_USE_PREFERENCE_KEY);
+ pref.setTitle(EXTERNAL_DISPLAY_USE_TITLE_RESOURCE);
+ pref.setChecked(isEnabled);
+ pref.setEnabled(true);
+ pref.setOnPreferenceChangeListener((p, newValue) -> {
+ writePreferenceClickMetric(p);
+ final boolean result;
+ if (mInjector == null) {
+ return false;
+ }
+ if ((Boolean) newValue) {
+ result = mInjector.enableConnectedDisplay(display.getDisplayId());
+ } else {
+ result = mInjector.disableConnectedDisplay(display.getDisplayId());
+ }
+ if (result) {
+ pref.setChecked((Boolean) newValue);
+ }
+ return result;
+ });
+ return pref;
+ }
+
+ private Preference updateIllustrationImage(@NonNull final Context context,
+ final int displayRotation) {
+ var pref = getIllustrationPreference(context);
+ if (displayRotation % 2 == 0) {
+ pref.setLottieAnimationResId(EXTERNAL_DISPLAY_PORTRAIT_DRAWABLE);
+ } else {
+ pref.setLottieAnimationResId(EXTERNAL_DISPLAY_LANDSCAPE_DRAWABLE);
+ }
+ return pref;
+ }
+
+ private Preference updateFooterPreference(@NonNull final Context context, final int title) {
+ var pref = getFooterPreference(context);
+ pref.setTitle(title);
+ return pref;
+ }
+
+ private Preference updateRotationPreference(@NonNull final Context context,
+ @NonNull final Display display, final int displayRotation) {
+ var pref = getRotationPreference(context);
+ pref.setKey(EXTERNAL_DISPLAY_ROTATION_KEY);
+ pref.setTitle(EXTERNAL_DISPLAY_ROTATION_TITLE_RESOURCE);
+ if (mRotationEntries == null || mRotationEntriesValues == null) {
+ mRotationEntries = new String[] {
+ context.getString(R.string.external_display_standard_rotation),
+ context.getString(R.string.external_display_rotation_90),
+ context.getString(R.string.external_display_rotation_180),
+ context.getString(R.string.external_display_rotation_270)};
+ mRotationEntriesValues = new String[] {"0", "1", "2", "3"};
+ }
+ pref.setEntries(mRotationEntries);
+ pref.setEntryValues(mRotationEntriesValues);
+ pref.setValueIndex(displayRotation);
+ pref.setSummary(mRotationEntries[displayRotation]);
+ pref.setOnPreferenceChangeListener((p, newValue) -> {
+ writePreferenceClickMetric(p);
+ var rotation = Integer.parseInt((String) newValue);
+ var displayId = display.getDisplayId();
+ if (mInjector == null || !mInjector.freezeDisplayRotation(displayId, rotation)) {
+ return false;
+ }
+ pref.setValueIndex(rotation);
+ return true;
+ });
+ pref.setEnabled(isRotationSettingEnabled(mInjector));
+ return pref;
+ }
+
+ private Preference updateResolutionPreference(@NonNull final Context context,
+ @NonNull final Display display) {
+ var pref = getResolutionPreference(context);
+ pref.setKey(EXTERNAL_DISPLAY_RESOLUTION_PREFERENCE_KEY);
+ pref.setTitle(EXTERNAL_DISPLAY_RESOLUTION_TITLE_RESOURCE);
+ pref.setSummary(display.getMode().getPhysicalWidth() + " x "
+ + display.getMode().getPhysicalHeight());
+ pref.setOnPreferenceClickListener((Preference p) -> {
+ writePreferenceClickMetric(p);
+ launchResolutionSelector(context, display.getDisplayId());
+ return true;
+ });
+ pref.setEnabled(isResolutionSettingEnabled(mInjector));
+ return pref;
+ }
+
+ private int getDisplayRotation(int displayId) {
+ if (mInjector == null) {
+ return 0;
+ }
+ return Math.min(3, Math.max(0, mInjector.getDisplayUserRotation(displayId)));
+ }
+
+ private void scheduleUpdate() {
+ if (mInjector == null || !mStarted) {
+ return;
+ }
+ unscheduleUpdate();
+ mInjector.getHandler().post(mUpdateRunnable);
+ }
+
+ private void unscheduleUpdate() {
+ if (mInjector == null || !mStarted) {
+ return;
+ }
+ mInjector.getHandler().removeCallbacks(mUpdateRunnable);
+ }
+
+ @VisibleForTesting
+ class DisplayPreference extends TwoTargetPreference
+ implements Preference.OnPreferenceClickListener {
+ private final int mDisplayId;
+
+ DisplayPreference(@NonNull final Context context, @NonNull final Display display) {
+ super(context);
+ mDisplayId = display.getDisplayId();
+ setPersistent(false);
+ setKey("display_id_" + mDisplayId);
+ setTitle(display.getName());
+ setSummary(display.getMode().getPhysicalWidth() + " x "
+ + display.getMode().getPhysicalHeight());
+ setOnPreferenceClickListener(this);
+ }
+
+ @Override
+ public boolean onPreferenceClick(@NonNull Preference preference) {
+ launchDisplaySettings(mDisplayId);
+ writePreferenceClickMetric(preference);
+ return true;
+ }
+ }
+}
diff --git a/src/com/android/settings/connecteddevice/display/ExternalDisplaySettingsConfiguration.java b/src/com/android/settings/connecteddevice/display/ExternalDisplaySettingsConfiguration.java
new file mode 100644
index 0000000..89d464c
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/display/ExternalDisplaySettingsConfiguration.java
@@ -0,0 +1,341 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.connecteddevice.display;
+
+import static android.content.Context.DISPLAY_SERVICE;
+import static android.hardware.display.DisplayManager.DISPLAY_CATEGORY_ALL_INCLUDING_DISABLED;
+import static android.hardware.display.DisplayManager.EVENT_FLAG_DISPLAY_ADDED;
+import static android.hardware.display.DisplayManager.EVENT_FLAG_DISPLAY_CHANGED;
+import static android.hardware.display.DisplayManager.EVENT_FLAG_DISPLAY_CONNECTION_CHANGED;
+import static android.hardware.display.DisplayManager.EVENT_FLAG_DISPLAY_REMOVED;
+import static android.view.Display.INVALID_DISPLAY;
+
+import android.content.Context;
+import android.hardware.display.DisplayManager;
+import android.hardware.display.DisplayManagerGlobal;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.RemoteException;
+import android.os.SystemProperties;
+import android.view.Display;
+import android.view.Display.Mode;
+import android.view.IWindowManager;
+import android.view.WindowManagerGlobal;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.android.settings.R;
+import com.android.settings.flags.FeatureFlags;
+import com.android.settings.flags.FeatureFlagsImpl;
+
+public class ExternalDisplaySettingsConfiguration {
+ static final String VIRTUAL_DISPLAY_PACKAGE_NAME_SYSTEM_PROPERTY =
+ "persist.demo.userrotation.package_name";
+ static final String DISPLAY_ID_ARG = "display_id";
+ static final int EXTERNAL_DISPLAY_NOT_FOUND_RESOURCE = R.string.external_display_not_found;
+ static final int EXTERNAL_DISPLAY_HELP_URL = R.string.help_url_external_display;
+
+ public static class SystemServicesProvider {
+ @Nullable
+ private IWindowManager mWindowManager;
+ @Nullable
+ private DisplayManager mDisplayManager;
+ @Nullable
+ protected Context mContext;
+ /**
+ * @param name of a system property.
+ * @return the value of the system property.
+ */
+ @NonNull
+ public String getSystemProperty(@NonNull String name) {
+ return SystemProperties.get(name);
+ }
+
+ /**
+ * @return return public Display manager.
+ */
+ @Nullable
+ public DisplayManager getDisplayManager() {
+ if (mDisplayManager == null && getContext() != null) {
+ mDisplayManager = (DisplayManager) getContext().getSystemService(DISPLAY_SERVICE);
+ }
+ return mDisplayManager;
+ }
+
+ /**
+ * @return internal IWindowManager
+ */
+ @Nullable
+ public IWindowManager getWindowManager() {
+ if (mWindowManager == null) {
+ mWindowManager = WindowManagerGlobal.getWindowManagerService();
+ }
+ return mWindowManager;
+ }
+
+ /**
+ * @return context.
+ */
+ @Nullable
+ public Context getContext() {
+ return mContext;
+ }
+ }
+
+ public static class Injector extends SystemServicesProvider {
+ @NonNull
+ private final FeatureFlags mFlags;
+ @NonNull
+ private final Handler mHandler;
+
+ Injector(@Nullable Context context) {
+ this(context, new FeatureFlagsImpl(), new Handler(Looper.getMainLooper()));
+ }
+
+ Injector(@Nullable Context context, @NonNull FeatureFlags flags, @NonNull Handler handler) {
+ mContext = context;
+ mFlags = flags;
+ mHandler = handler;
+ }
+
+ /**
+ * @return all displays including disabled.
+ */
+ @NonNull
+ public Display[] getAllDisplays() {
+ var dm = getDisplayManager();
+ if (dm == null) {
+ return new Display[0];
+ }
+ return dm.getDisplays(DISPLAY_CATEGORY_ALL_INCLUDING_DISABLED);
+ }
+
+ /**
+ * @return enabled displays only.
+ */
+ @NonNull
+ public Display[] getEnabledDisplays() {
+ var dm = getDisplayManager();
+ if (dm == null) {
+ return new Display[0];
+ }
+ return dm.getDisplays();
+ }
+
+ /**
+ * @return true if the display is enabled
+ */
+ public boolean isDisplayEnabled(@NonNull Display display) {
+ for (var enabledDisplay : getEnabledDisplays()) {
+ if (enabledDisplay.getDisplayId() == display.getDisplayId()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Register display listener.
+ */
+ public void registerDisplayListener(@NonNull DisplayManager.DisplayListener listener) {
+ var dm = getDisplayManager();
+ if (dm == null) {
+ return;
+ }
+ dm.registerDisplayListener(listener, mHandler, EVENT_FLAG_DISPLAY_ADDED
+ | EVENT_FLAG_DISPLAY_CHANGED | EVENT_FLAG_DISPLAY_REMOVED
+ | EVENT_FLAG_DISPLAY_CONNECTION_CHANGED);
+ }
+
+ /**
+ * Unregister display listener.
+ */
+ public void unregisterDisplayListener(@NonNull DisplayManager.DisplayListener listener) {
+ var dm = getDisplayManager();
+ if (dm == null) {
+ return;
+ }
+ dm.unregisterDisplayListener(listener);
+ }
+
+ /**
+ * @return feature flags.
+ */
+ @NonNull
+ public FeatureFlags getFlags() {
+ return mFlags;
+ }
+
+ /**
+ * Enable connected display.
+ */
+ public boolean enableConnectedDisplay(int displayId) {
+ var dm = getDisplayManager();
+ if (dm == null) {
+ return false;
+ }
+ dm.enableConnectedDisplay(displayId);
+ return true;
+ }
+
+ /**
+ * Disable connected display.
+ */
+ public boolean disableConnectedDisplay(int displayId) {
+ var dm = getDisplayManager();
+ if (dm == null) {
+ return false;
+ }
+ dm.disableConnectedDisplay(displayId);
+ return true;
+ }
+
+ /**
+ * @param displayId which must be returned
+ * @return display object for the displayId
+ */
+ @Nullable
+ public Display getDisplay(int displayId) {
+ if (displayId == INVALID_DISPLAY) {
+ return null;
+ }
+ var dm = getDisplayManager();
+ if (dm == null) {
+ return null;
+ }
+ return dm.getDisplay(displayId);
+ }
+
+ /**
+ * @return handler
+ */
+ @NonNull
+ public Handler getHandler() {
+ return mHandler;
+ }
+
+ /**
+ * Get display rotation
+ * @param displayId display identifier
+ * @return rotation
+ */
+ public int getDisplayUserRotation(int displayId) {
+ var wm = getWindowManager();
+ if (wm == null) {
+ return 0;
+ }
+ try {
+ return wm.getDisplayUserRotation(displayId);
+ } catch (RemoteException e) {
+ return 0;
+ }
+ }
+
+ /**
+ * Freeze rotation of the display in the specified rotation.
+ * @param displayId display identifier
+ * @param rotation [0, 1, 2, 3]
+ * @return true if successful
+ */
+ public boolean freezeDisplayRotation(int displayId, int rotation) {
+ var wm = getWindowManager();
+ if (wm == null) {
+ return false;
+ }
+ try {
+ wm.freezeDisplayRotation(displayId, rotation,
+ "ExternalDisplayPreferenceFragment");
+ return true;
+ } catch (RemoteException e) {
+ return false;
+ }
+ }
+
+ /**
+ * Enforce display mode on the given display.
+ */
+ public void setUserPreferredDisplayMode(int displayId, @NonNull Mode mode) {
+ DisplayManagerGlobal.getInstance().setUserPreferredDisplayMode(displayId, mode);
+ }
+ }
+
+ public abstract static class DisplayListener implements DisplayManager.DisplayListener {
+ @Override
+ public void onDisplayAdded(int displayId) {
+ update(displayId);
+ }
+
+ @Override
+ public void onDisplayRemoved(int displayId) {
+ update(displayId);
+ }
+
+ @Override
+ public void onDisplayChanged(int displayId) {
+ update(displayId);
+ }
+
+ @Override
+ public void onDisplayConnected(int displayId) {
+ update(displayId);
+ }
+
+ @Override
+ public void onDisplayDisconnected(int displayId) {
+ update(displayId);
+ }
+
+ /**
+ * Called from other listener methods to trigger update of the settings page.
+ */
+ public abstract void update(int displayId);
+ }
+
+ /**
+ * @return whether the settings page is enabled or not.
+ */
+ public static boolean isExternalDisplaySettingsPageEnabled(@NonNull FeatureFlags flags) {
+ return flags.rotationConnectedDisplaySetting()
+ || flags.resolutionAndEnableConnectedDisplaySetting();
+ }
+
+ static boolean isDisplayAllowed(@NonNull Display display,
+ @NonNull SystemServicesProvider props) {
+ return display.getType() == Display.TYPE_EXTERNAL
+ || display.getType() == Display.TYPE_OVERLAY
+ || isVirtualDisplayAllowed(display, props);
+ }
+
+ static boolean isVirtualDisplayAllowed(@NonNull Display display,
+ @NonNull SystemServicesProvider properties) {
+ var sysProp = properties.getSystemProperty(VIRTUAL_DISPLAY_PACKAGE_NAME_SYSTEM_PROPERTY);
+ return !sysProp.isEmpty() && display.getType() == Display.TYPE_VIRTUAL
+ && sysProp.equals(display.getOwnerPackageName());
+ }
+
+ static boolean isUseDisplaySettingEnabled(@Nullable Injector injector) {
+ return injector != null && injector.getFlags().resolutionAndEnableConnectedDisplaySetting();
+ }
+
+ static boolean isResolutionSettingEnabled(@Nullable Injector injector) {
+ return injector != null && injector.getFlags().resolutionAndEnableConnectedDisplaySetting();
+ }
+
+ static boolean isRotationSettingEnabled(@Nullable Injector injector) {
+ return injector != null && injector.getFlags().rotationConnectedDisplaySetting();
+ }
+}
diff --git a/src/com/android/settings/connecteddevice/display/ExternalDisplayUpdater.java b/src/com/android/settings/connecteddevice/display/ExternalDisplayUpdater.java
new file mode 100644
index 0000000..64dd7bb
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/display/ExternalDisplayUpdater.java
@@ -0,0 +1,181 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.connecteddevice.display;
+
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isDisplayAllowed;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.os.UserHandle;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.connecteddevice.DevicePreferenceCallback;
+import com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.DisplayListener;
+import com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.Injector;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedLockUtilsInternal;
+import com.android.settingslib.RestrictedPreference;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+
+public class ExternalDisplayUpdater {
+
+ private static final String PREF_KEY = "external_display_settings";
+ private final int mMetricsCategory;
+ @NonNull
+ private final MetricsFeatureProvider mMetricsFeatureProvider;
+ @NonNull
+ private final Runnable mUpdateRunnable = this::update;
+ @NonNull
+ private final DevicePreferenceCallback mDevicePreferenceCallback;
+ @Nullable
+ private RestrictedPreference mPreference;
+ @Nullable
+ private Injector mInjector;
+ private final DisplayListener mListener = new DisplayListener() {
+ @Override
+ public void update(int displayId) {
+ scheduleUpdate();
+ }
+ };
+
+ public ExternalDisplayUpdater(@NonNull DevicePreferenceCallback callback, int metricsCategory) {
+ mDevicePreferenceCallback = callback;
+ mMetricsCategory = metricsCategory;
+ mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
+ }
+
+ /**
+ * Set the context to generate the {@link Preference}, so it could get the correct theme.
+ */
+ public void initPreference(@NonNull Context context) {
+ initPreference(context, new Injector(context));
+ }
+
+ @VisibleForTesting
+ void initPreference(@NonNull Context context, Injector injector) {
+ mInjector = injector;
+ mPreference = new RestrictedPreference(context, null /* AttributeSet */);
+ mPreference.setTitle(R.string.external_display_settings_title);
+ mPreference.setSummary(getSummary());
+ mPreference.setIcon(getDrawable(context));
+ mPreference.setKey(PREF_KEY);
+ mPreference.setDisabledByAdmin(checkIfUsbDataSignalingIsDisabled(context));
+ mPreference.setOnPreferenceClickListener((Preference p) -> {
+ mMetricsFeatureProvider.logClickedPreference(p, mMetricsCategory);
+ // New version - uses a separate screen.
+ new SubSettingLauncher(context)
+ .setDestination(ExternalDisplayPreferenceFragment.class.getName())
+ .setTitleRes(R.string.external_display_settings_title)
+ .setSourceMetricsCategory(mMetricsCategory)
+ .launch();
+ return true;
+ });
+
+ scheduleUpdate();
+ }
+
+ /**
+ * Unregister the display listener.
+ */
+ public void unregisterCallback() {
+ if (mInjector != null) {
+ mInjector.unregisterDisplayListener(mListener);
+ }
+ }
+
+ /**
+ * Register the display listener.
+ */
+ public void registerCallback() {
+ if (mInjector != null) {
+ mInjector.registerDisplayListener(mListener);
+ }
+ }
+
+ @VisibleForTesting
+ @Nullable
+ protected RestrictedLockUtils.EnforcedAdmin checkIfUsbDataSignalingIsDisabled(Context context) {
+ return RestrictedLockUtilsInternal.checkIfUsbDataSignalingIsDisabled(context,
+ UserHandle.myUserId());
+ }
+
+ @VisibleForTesting
+ @Nullable
+ protected Drawable getDrawable(Context context) {
+ return context.getDrawable(R.drawable.ic_external_display_32dp);
+ }
+
+ @Nullable
+ protected CharSequence getSummary() {
+ if (mInjector == null) {
+ return null;
+ }
+ var context = mInjector.getContext();
+ if (context == null) {
+ return null;
+ }
+
+ for (var display : mInjector.getEnabledDisplays()) {
+ if (display != null && isDisplayAllowed(display, mInjector)) {
+ return context.getString(R.string.external_display_on);
+ }
+ }
+
+ for (var display : mInjector.getAllDisplays()) {
+ if (display != null && isDisplayAllowed(display, mInjector)) {
+ return context.getString(R.string.external_display_off);
+ }
+ }
+
+ return null;
+ }
+
+ private void scheduleUpdate() {
+ if (mInjector == null) {
+ return;
+ }
+ unscheduleUpdate();
+ mInjector.getHandler().post(mUpdateRunnable);
+ }
+
+ private void unscheduleUpdate() {
+ if (mInjector == null) {
+ return;
+ }
+ mInjector.getHandler().removeCallbacks(mUpdateRunnable);
+ }
+
+ private void update() {
+ var summary = getSummary();
+ if (mPreference == null) {
+ return;
+ }
+ mPreference.setSummary(summary);
+ if (summary != null) {
+ mDevicePreferenceCallback.onDeviceAdded(mPreference);
+ } else {
+ mDevicePreferenceCallback.onDeviceRemoved(mPreference);
+ }
+ }
+}
diff --git a/src/com/android/settings/connecteddevice/display/OWNERS b/src/com/android/settings/connecteddevice/display/OWNERS
new file mode 100644
index 0000000..78aecb9
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/display/OWNERS
@@ -0,0 +1,7 @@
+# Default reviewers for this and subdirectories.
+santoscordon@google.com
+petsjonkin@google.com
+flc@google.com
+wilczynskip@google.com
+brup@google.com
+olb@google.com
diff --git a/src/com/android/settings/connecteddevice/display/ResolutionPreferenceFragment.java b/src/com/android/settings/connecteddevice/display/ResolutionPreferenceFragment.java
new file mode 100644
index 0000000..10314cb
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/display/ResolutionPreferenceFragment.java
@@ -0,0 +1,343 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.connecteddevice.display;
+
+import static android.view.Display.INVALID_DISPLAY;
+
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.DISPLAY_ID_ARG;
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.EXTERNAL_DISPLAY_HELP_URL;
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.EXTERNAL_DISPLAY_NOT_FOUND_RESOURCE;
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.isDisplayAllowed;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.res.Resources;
+import android.os.Bundle;
+import android.util.Log;
+import android.util.Pair;
+import android.view.Display;
+import android.view.Display.Mode;
+import android.view.View;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceGroup;
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.util.ToBooleanFunction;
+import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragmentBase;
+import com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.DisplayListener;
+import com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.Injector;
+import com.android.settingslib.widget.SelectorWithWidgetPreference;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+
+public class ResolutionPreferenceFragment extends SettingsPreferenceFragmentBase {
+ private static final String TAG = "ResolutionPreferenceFragment";
+ static final int DEFAULT_LOW_REFRESH_RATE = 60;
+ static final String MORE_OPTIONS_KEY = "more_options";
+ static final String TOP_OPTIONS_KEY = "top_options";
+ static final int MORE_OPTIONS_TITLE_RESOURCE =
+ R.string.external_display_more_options_title;
+ static final int EXTERNAL_DISPLAY_RESOLUTION_SETTINGS_RESOURCE =
+ R.xml.external_display_resolution_settings;
+ @Nullable
+ private Injector mInjector;
+ @Nullable
+ private PreferenceCategory mTopOptionsPreference;
+ @Nullable
+ private PreferenceCategory mMoreOptionsPreference;
+ private boolean mStarted;
+ private final HashSet<String> mResolutionPreferences = new HashSet<>();
+ private int mExternalDisplayPeakWidth;
+ private int mExternalDisplayPeakHeight;
+ private int mExternalDisplayPeakRefreshRate;
+ private boolean mRefreshRateSynchronizationEnabled;
+ private boolean mMoreOptionsExpanded;
+ private final Runnable mUpdateRunnable = this::update;
+ private final DisplayListener mListener = new DisplayListener() {
+ @Override
+ public void update(int displayId) {
+ scheduleUpdate();
+ }
+ };
+
+ @Override
+ public int getMetricsCategory() {
+ return SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY;
+ }
+
+ @Override
+ public int getHelpResource() {
+ return EXTERNAL_DISPLAY_HELP_URL;
+ }
+
+ @Override
+ public void onCreateCallback(@Nullable Bundle icicle) {
+ if (mInjector == null) {
+ mInjector = new Injector(getPrefContext());
+ }
+ addPreferencesFromResource(EXTERNAL_DISPLAY_RESOLUTION_SETTINGS_RESOURCE);
+ updateDisplayModeLimits(mInjector.getContext());
+ }
+
+ @Override
+ public void onActivityCreatedCallback(@Nullable Bundle savedInstanceState) {
+ View view = getView();
+ TextView emptyView = null;
+ if (view != null) {
+ emptyView = (TextView) view.findViewById(android.R.id.empty);
+ }
+ if (emptyView != null) {
+ emptyView.setText(EXTERNAL_DISPLAY_NOT_FOUND_RESOURCE);
+ setEmptyView(emptyView);
+ }
+ }
+
+ @Override
+ public void onStartCallback() {
+ mStarted = true;
+ if (mInjector == null) {
+ return;
+ }
+ mInjector.registerDisplayListener(mListener);
+ scheduleUpdate();
+ }
+
+ @Override
+ public void onStopCallback() {
+ mStarted = false;
+ if (mInjector == null) {
+ return;
+ }
+ mInjector.unregisterDisplayListener(mListener);
+ unscheduleUpdate();
+ }
+
+ public ResolutionPreferenceFragment() {}
+
+ @VisibleForTesting
+ ResolutionPreferenceFragment(@NonNull Injector injector) {
+ mInjector = injector;
+ }
+
+ @VisibleForTesting
+ protected int getDisplayIdArg() {
+ var args = getArguments();
+ return args != null ? args.getInt(DISPLAY_ID_ARG, INVALID_DISPLAY) : INVALID_DISPLAY;
+ }
+
+ @VisibleForTesting
+ @NonNull
+ protected Resources getResources(@NonNull Context context) {
+ return context.getResources();
+ }
+
+ private void update() {
+ final PreferenceScreen screen = getPreferenceScreen();
+ if (screen == null || mInjector == null) {
+ return;
+ }
+ var context = mInjector.getContext();
+ if (context == null) {
+ return;
+ }
+ var display = mInjector.getDisplay(getDisplayIdArg());
+ if (display == null || !isDisplayAllowed(display, mInjector)) {
+ screen.removeAll();
+ mTopOptionsPreference = null;
+ mMoreOptionsPreference = null;
+ return;
+ }
+ mResolutionPreferences.clear();
+ var remainingModes = addModePreferences(context,
+ getTopPreference(context, screen),
+ display.getSupportedModes(), this::isTopMode, display);
+ addRemainingPreferences(context,
+ getMorePreference(context, screen),
+ display, remainingModes.first, remainingModes.second);
+ }
+
+ private PreferenceCategory getTopPreference(@NonNull Context context,
+ @NonNull PreferenceScreen screen) {
+ if (mTopOptionsPreference == null) {
+ mTopOptionsPreference = new PreferenceCategory(context);
+ mTopOptionsPreference.setPersistent(false);
+ mTopOptionsPreference.setKey(TOP_OPTIONS_KEY);
+ screen.addPreference(mTopOptionsPreference);
+ } else {
+ mTopOptionsPreference.removeAll();
+ }
+ return mTopOptionsPreference;
+ }
+
+ private PreferenceCategory getMorePreference(@NonNull Context context,
+ @NonNull PreferenceScreen screen) {
+ if (mMoreOptionsPreference == null) {
+ mMoreOptionsPreference = new PreferenceCategory(context);
+ mMoreOptionsPreference.setPersistent(false);
+ mMoreOptionsPreference.setTitle(MORE_OPTIONS_TITLE_RESOURCE);
+ mMoreOptionsPreference.setOnExpandButtonClickListener(() -> {
+ mMoreOptionsExpanded = true;
+ });
+ mMoreOptionsPreference.setKey(MORE_OPTIONS_KEY);
+ screen.addPreference(mMoreOptionsPreference);
+ } else {
+ mMoreOptionsPreference.removeAll();
+ }
+ return mMoreOptionsPreference;
+ }
+
+ private void addRemainingPreferences(@NonNull Context context,
+ @NonNull PreferenceCategory group, @NonNull Display display,
+ boolean isSelectedModeFound, @NonNull Mode[] moreModes) {
+ if (moreModes.length == 0) {
+ return;
+ }
+ mMoreOptionsExpanded |= !isSelectedModeFound;
+ group.setInitialExpandedChildrenCount(mMoreOptionsExpanded ? Integer.MAX_VALUE : 0);
+ addModePreferences(context, group, moreModes, /*checkMode=*/ null, display);
+ }
+
+ private Pair<Boolean, Mode[]> addModePreferences(@NonNull Context context,
+ @NonNull PreferenceGroup group,
+ @NonNull Mode[] modes,
+ @Nullable ToBooleanFunction<Mode> checkMode,
+ @NonNull Display display) {
+ Display.Mode curMode = display.getMode();
+ var currentResolution = curMode.getPhysicalWidth() + "x" + curMode.getPhysicalHeight();
+ var rotatedResolution = curMode.getPhysicalHeight() + "x" + curMode.getPhysicalWidth();
+ var skippedModes = new ArrayList<Mode>();
+ var isAnyOfModesSelected = false;
+ for (var mode : modes) {
+ var modeStr = mode.getPhysicalWidth() + "x" + mode.getPhysicalHeight();
+ SelectorWithWidgetPreference pref = group.findPreference(modeStr);
+ if (pref != null) {
+ continue;
+ }
+ if (checkMode != null && !checkMode.apply(mode)) {
+ skippedModes.add(mode);
+ continue;
+ }
+ var isCurrentMode =
+ currentResolution.equals(modeStr) || rotatedResolution.equals(modeStr);
+ if (!isCurrentMode && !isAllowedMode(mode)) {
+ continue;
+ }
+ if (mResolutionPreferences.contains(modeStr)) {
+ // Added to "Top modes" already.
+ continue;
+ }
+ mResolutionPreferences.add(modeStr);
+ pref = new SelectorWithWidgetPreference(context);
+ pref.setPersistent(false);
+ pref.setKey(modeStr);
+ pref.setTitle(mode.getPhysicalWidth() + " x " + mode.getPhysicalHeight());
+ pref.setSingleLineTitle(true);
+ pref.setOnClickListener(preference -> onDisplayModeClicked(preference, display));
+ pref.setChecked(isCurrentMode);
+ isAnyOfModesSelected |= isCurrentMode;
+ group.addPreference(pref);
+ }
+ return new Pair<>(isAnyOfModesSelected, skippedModes.toArray(Mode.EMPTY_ARRAY));
+ }
+
+ private boolean isTopMode(@NonNull Mode mode) {
+ return mTopOptionsPreference != null
+ && mTopOptionsPreference.getPreferenceCount() < 3;
+ }
+
+ private boolean isAllowedMode(@NonNull Mode mode) {
+ if (mRefreshRateSynchronizationEnabled
+ && (mode.getRefreshRate() < DEFAULT_LOW_REFRESH_RATE - 1
+ || mode.getRefreshRate() > DEFAULT_LOW_REFRESH_RATE + 1)) {
+ Log.d(TAG, mode + " refresh rate is out of synchronization range");
+ return false;
+ }
+ if (mExternalDisplayPeakHeight > 0
+ && mode.getPhysicalHeight() > mExternalDisplayPeakHeight) {
+ Log.d(TAG, mode + " height is above the allowed limit");
+ return false;
+ }
+ if (mExternalDisplayPeakWidth > 0
+ && mode.getPhysicalWidth() > mExternalDisplayPeakWidth) {
+ Log.d(TAG, mode + " width is above the allowed limit");
+ return false;
+ }
+ if (mExternalDisplayPeakRefreshRate > 0
+ && mode.getRefreshRate() > mExternalDisplayPeakRefreshRate) {
+ Log.d(TAG, mode + " refresh rate is above the allowed limit");
+ return false;
+ }
+ return true;
+ }
+
+ private void scheduleUpdate() {
+ if (mInjector == null || !mStarted) {
+ return;
+ }
+ unscheduleUpdate();
+ mInjector.getHandler().post(mUpdateRunnable);
+ }
+
+ private void unscheduleUpdate() {
+ if (mInjector == null || !mStarted) {
+ return;
+ }
+ mInjector.getHandler().removeCallbacks(mUpdateRunnable);
+ }
+
+ private void onDisplayModeClicked(@NonNull SelectorWithWidgetPreference preference,
+ @NonNull Display display) {
+ if (mInjector == null) {
+ return;
+ }
+ String[] modeResolution = preference.getKey().split("x");
+ int width = Integer.parseInt(modeResolution[0]);
+ int height = Integer.parseInt(modeResolution[1]);
+ for (var mode : display.getSupportedModes()) {
+ if (mode.getPhysicalWidth() == width && mode.getPhysicalHeight() == height
+ && isAllowedMode(mode)) {
+ mInjector.setUserPreferredDisplayMode(display.getDisplayId(), mode);
+ return;
+ }
+ }
+ }
+
+ private void updateDisplayModeLimits(@Nullable Context context) {
+ if (context == null) {
+ return;
+ }
+ mExternalDisplayPeakRefreshRate = getResources(context).getInteger(
+ com.android.internal.R.integer.config_externalDisplayPeakRefreshRate);
+ mExternalDisplayPeakWidth = getResources(context).getInteger(
+ com.android.internal.R.integer.config_externalDisplayPeakWidth);
+ mExternalDisplayPeakHeight = getResources(context).getInteger(
+ com.android.internal.R.integer.config_externalDisplayPeakHeight);
+ mRefreshRateSynchronizationEnabled = getResources(context).getBoolean(
+ com.android.internal.R.bool.config_refreshRateSynchronizationEnabled);
+ Log.d(TAG, "mExternalDisplayPeakRefreshRate=" + mExternalDisplayPeakRefreshRate);
+ Log.d(TAG, "mExternalDisplayPeakWidth=" + mExternalDisplayPeakWidth);
+ Log.d(TAG, "mExternalDisplayPeakHeight=" + mExternalDisplayPeakHeight);
+ Log.d(TAG, "mRefreshRateSynchronizationEnabled=" + mRefreshRateSynchronizationEnabled);
+ }
+}
diff --git a/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java b/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java
index 04fab7d..ae9dbeb 100644
--- a/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java
+++ b/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java
@@ -31,6 +31,7 @@
import com.android.settings.R;
import com.android.settings.Utils;
+import com.android.settings.flags.Flags;
import com.android.settingslib.widget.SelectorWithWidgetPreference;
import java.util.LinkedHashMap;
@@ -130,39 +131,54 @@
@Override
public void onRadioButtonClicked(SelectorWithWidgetPreference preference) {
- requireAuthAndExecute(() -> {
- final long function = UsbBackend.usbFunctionsFromString(preference.getKey());
- final long previousFunction = mUsbBackend.getCurrentFunctions();
- if (DEBUG) {
- Log.d(TAG, "onRadioButtonClicked() function : " + function + ", toString() : "
- + UsbManager.usbFunctionsToString(function) + ", previousFunction : "
- + previousFunction + ", toString() : "
- + UsbManager.usbFunctionsToString(previousFunction));
- }
- if (function != previousFunction && !Utils.isMonkeyRunning()
- && !isClickEventIgnored(function, previousFunction)) {
- mPreviousFunction = previousFunction;
+ final long function = UsbBackend.usbFunctionsFromString(preference.getKey());
+ if (isAuthRequired(function)) {
+ requireAuthAndExecute(()->handleRadioButtonClicked(preference, function));
+ } else {
+ handleRadioButtonClicked(preference, function);
+ }
+ }
- //Update the UI in advance to make it looks smooth
- final SelectorWithWidgetPreference prevPref =
- (SelectorWithWidgetPreference) mProfilesContainer.findPreference(
- UsbBackend.usbFunctionsToString(mPreviousFunction));
- if (prevPref != null) {
- prevPref.setChecked(false);
- preference.setChecked(true);
- }
+ private void handleRadioButtonClicked(SelectorWithWidgetPreference preference, long function) {
+ final long previousFunction = mUsbBackend.getCurrentFunctions();
+ if (DEBUG) {
+ Log.d(TAG, "onRadioButtonClicked() function : " + function + ", toString() : "
+ + UsbManager.usbFunctionsToString(function) + ", previousFunction : "
+ + previousFunction + ", toString() : "
+ + UsbManager.usbFunctionsToString(previousFunction));
+ }
+ if (function != previousFunction && !Utils.isMonkeyRunning()
+ && !isClickEventIgnored(function, previousFunction)) {
+ mPreviousFunction = previousFunction;
- if (function == UsbManager.FUNCTION_RNDIS || function == UsbManager.FUNCTION_NCM) {
- // We need to have entitlement check for usb tethering, so use API in
- // TetheringManager.
- mTetheringManager.startTethering(
- TetheringManager.TETHERING_USB, new HandlerExecutor(mHandler),
- mOnStartTetheringCallback);
- } else {
- mUsbBackend.setCurrentFunctions(function);
- }
+ //Update the UI in advance to make it looks smooth
+ final SelectorWithWidgetPreference prevPref =
+ (SelectorWithWidgetPreference) mProfilesContainer.findPreference(
+ UsbBackend.usbFunctionsToString(mPreviousFunction));
+ if (prevPref != null) {
+ prevPref.setChecked(false);
+ preference.setChecked(true);
}
- });
+
+ if (function == UsbManager.FUNCTION_RNDIS || function == UsbManager.FUNCTION_NCM) {
+ // We need to have entitlement check for usb tethering, so use API in
+ // TetheringManager.
+ mTetheringManager.startTethering(
+ TetheringManager.TETHERING_USB, new HandlerExecutor(mHandler),
+ mOnStartTetheringCallback);
+ } else {
+ mUsbBackend.setCurrentFunctions(function);
+ }
+ }
+ }
+
+ private boolean isAuthRequired(long function) {
+ if (!Flags.excludeWebcamAuthChallenge()) {
+ return true;
+ }
+ // Since webcam and MIDI don't transfer any persistent data over USB
+ // don't require authentication.
+ return !(function == UsbManager.FUNCTION_UVC || function == UsbManager.FUNCTION_MIDI);
}
private boolean isClickEventIgnored(long function, long previousFunction) {
diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java
index 1c14712..734bddc 100644
--- a/src/com/android/settings/core/gateway/SettingsGateway.java
+++ b/src/com/android/settings/core/gateway/SettingsGateway.java
@@ -156,12 +156,15 @@
import com.android.settings.notification.ConfigureNotificationSettings;
import com.android.settings.notification.NotificationAccessSettings;
import com.android.settings.notification.NotificationAssistantPicker;
+import com.android.settings.notification.PoliteNotificationsPreferenceFragment;
import com.android.settings.notification.SoundSettings;
import com.android.settings.notification.app.AppBubbleNotificationSettings;
import com.android.settings.notification.app.AppNotificationSettings;
import com.android.settings.notification.app.ChannelNotificationSettings;
import com.android.settings.notification.app.ConversationListSettings;
import com.android.settings.notification.history.NotificationStation;
+import com.android.settings.notification.modes.ZenModeFragment;
+import com.android.settings.notification.modes.ZenModesListFragment;
import com.android.settings.notification.zen.ZenAccessSettings;
import com.android.settings.notification.zen.ZenModeAutomationSettings;
import com.android.settings.notification.zen.ZenModeBlockedEffectsSettings;
@@ -312,6 +315,7 @@
AppInfoDashboardFragment.class.getName(),
BatterySaverSettings.class.getName(),
AppNotificationSettings.class.getName(),
+ PoliteNotificationsPreferenceFragment.class.getName(),
NotificationAssistantPicker.class.getName(),
ChannelNotificationSettings.class.getName(),
SatelliteSetting.class.getName(),
@@ -396,6 +400,8 @@
CellularSecuritySettingsFragment.class.getName(),
AccessibilityHearingAidsFragment.class.getName(),
HearingDevicePairingFragment.class.getName(),
+ ZenModesListFragment.class.getName(),
+ ZenModeFragment.class.getName()
};
public static final String[] SETTINGS_FOR_RESTRICTED = {
diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java
index 9abc6c2..0808da1 100644
--- a/src/com/android/settings/dashboard/DashboardFragment.java
+++ b/src/com/android/settings/dashboard/DashboardFragment.java
@@ -649,8 +649,12 @@
DynamicDataObserver observer) {
Log.d(TAG, "register observer: @" + Integer.toHexString(observer.hashCode())
+ ", uri: " + observer.getUri());
- resolver.registerContentObserver(observer.getUri(), false, observer);
- mRegisteredObservers.add(observer);
+ try {
+ resolver.registerContentObserver(observer.getUri(), false, observer);
+ mRegisteredObservers.add(observer);
+ } catch (Exception e) {
+ Log.w(TAG, "Cannot register observer: " + observer.getUri(), e);
+ }
}
private void unregisterDynamicDataObservers(List<DynamicDataObserver> observers) {
@@ -661,8 +665,13 @@
observers.forEach(observer -> {
Log.d(TAG, "unregister observer: @" + Integer.toHexString(observer.hashCode())
+ ", uri: " + observer.getUri());
- mRegisteredObservers.remove(observer);
- resolver.unregisterContentObserver(observer);
+ if (mRegisteredObservers.remove(observer)) {
+ try {
+ resolver.unregisterContentObserver(observer);
+ } catch (Exception e) {
+ Log.w(TAG, "Cannot unregister observer: " + observer.getUri(), e);
+ }
+ }
});
}
diff --git a/src/com/android/settings/datausage/DataUsageList.kt b/src/com/android/settings/datausage/DataUsageList.kt
index af115d9..a293277 100644
--- a/src/com/android/settings/datausage/DataUsageList.kt
+++ b/src/com/android/settings/datausage/DataUsageList.kt
@@ -33,13 +33,10 @@
import com.android.settings.dashboard.DashboardFragment
import com.android.settings.datausage.lib.BillingCycleRepository
import com.android.settings.datausage.lib.NetworkUsageData
-import com.android.settings.network.MobileNetworkRepository
import com.android.settings.network.SubscriptionUtil
-import com.android.settings.network.telephony.requireSubscriptionManager
-import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity
+import com.android.settings.network.telephony.SubscriptionRepository
import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
import com.android.settingslib.spaprivileged.framework.common.userManager
-import com.android.settingslib.utils.ThreadUtils
import kotlin.jvm.optionals.getOrNull
/**
@@ -59,7 +56,6 @@
private lateinit var billingCycleRepository: BillingCycleRepository
private var usageAmount: Preference? = null
- private var subscriptionInfoEntity: SubscriptionInfoEntity? = null
private var dataUsageListAppsController: DataUsageListAppsController? = null
private var chartDataUsagePreferenceController: ChartDataUsagePreferenceController? = null
private var dataUsageListHeaderController: DataUsageListHeaderController? = null
@@ -90,7 +86,6 @@
finish()
return
}
- updateSubscriptionInfoEntity()
dataUsageListAppsController = use(DataUsageListAppsController::class.java).apply {
init(template)
}
@@ -132,6 +127,16 @@
viewModel.chartDataFlow.collectLatestWithLifecycle(viewLifecycleOwner) { chartData ->
chartDataUsagePreferenceController?.update(chartData)
}
+ finishIfSubscriptionDisabled()
+ }
+
+ private fun finishIfSubscriptionDisabled() {
+ if (SubscriptionManager.isUsableSubscriptionId(subId)) {
+ SubscriptionRepository(requireContext()).isSubscriptionEnabledFlow(subId)
+ .collectLatestWithLifecycle(viewLifecycleOwner) { isSubscriptionEnabled ->
+ if (!isSubscriptionEnabled) finish()
+ }
+ }
}
override fun getPreferenceScreenResId() = R.xml.data_usage_list
@@ -155,23 +160,12 @@
}
}
- private fun updateSubscriptionInfoEntity() {
- ThreadUtils.postOnBackgroundThread {
- subscriptionInfoEntity =
- MobileNetworkRepository.getInstance(context).getSubInfoById(subId.toString())
- }
- }
-
/** Update chart sweeps and cycle list to reflect [NetworkPolicy] for current [template]. */
private fun updatePolicy(isModifiable: Boolean) {
- val isBillingCycleModifiable = isModifiable && isActiveSubscription()
- dataUsageListHeaderController?.setConfigButtonVisible(isBillingCycleModifiable)
- chartDataUsagePreferenceController?.setBillingCycleModifiable(isBillingCycleModifiable)
+ dataUsageListHeaderController?.setConfigButtonVisible(isModifiable)
+ chartDataUsagePreferenceController?.setBillingCycleModifiable(isModifiable)
}
- private fun isActiveSubscription(): Boolean =
- requireContext().requireSubscriptionManager().getActiveSubscriptionInfo(subId) != null
-
/**
* Updates the chart and detail data when initial loaded or selected cycle changed.
*/
@@ -187,7 +181,7 @@
/** Updates applications data usage. */
private fun updateApps(usageData: NetworkUsageData) {
dataUsageListAppsController?.update(
- carrierId = subscriptionInfoEntity?.carrierId,
+ subId = subId,
startTime = usageData.startTime,
endTime = usageData.endTime,
)
diff --git a/src/com/android/settings/datausage/DataUsageListAppsController.kt b/src/com/android/settings/datausage/DataUsageListAppsController.kt
index 93623f4..d8bddde 100644
--- a/src/com/android/settings/datausage/DataUsageListAppsController.kt
+++ b/src/com/android/settings/datausage/DataUsageListAppsController.kt
@@ -20,6 +20,7 @@
import android.content.Context
import android.net.NetworkTemplate
import android.os.Bundle
+import android.telephony.SubscriptionManager
import androidx.annotation.OpenForTesting
import androidx.annotation.VisibleForTesting
import androidx.lifecycle.LifecycleCoroutineScope
@@ -32,6 +33,7 @@
import com.android.settings.core.SubSettingLauncher
import com.android.settings.datausage.lib.AppDataUsageRepository
import com.android.settings.datausage.lib.NetworkUsageData
+import com.android.settings.network.telephony.requireSubscriptionManager
import com.android.settingslib.AppItem
import com.android.settingslib.net.UidDetailProvider
import kotlinx.coroutines.Dispatchers
@@ -74,8 +76,11 @@
this.cycleData = cycleData
}
- fun update(carrierId: Int?, startTime: Long, endTime: Long) = lifecycleScope.launch {
+ fun update(subId: Int, startTime: Long, endTime: Long) = lifecycleScope.launch {
val apps = withContext(Dispatchers.Default) {
+ val carrierId = if (SubscriptionManager.isValidSubscriptionId(subId)) {
+ mContext.requireSubscriptionManager().getActiveSubscriptionInfo(subId)?.carrierId
+ } else null
repository.getAppPercent(carrierId, startTime, endTime).map { (appItem, percent) ->
AppDataUsagePreference(mContext, appItem, percent, uidDetailProvider).apply {
setOnPreferenceClickListener {
diff --git a/src/com/android/settings/datausage/lib/BillingCycleRepository.kt b/src/com/android/settings/datausage/lib/BillingCycleRepository.kt
index d324c75..59c853d 100644
--- a/src/com/android/settings/datausage/lib/BillingCycleRepository.kt
+++ b/src/com/android/settings/datausage/lib/BillingCycleRepository.kt
@@ -21,7 +21,7 @@
import android.os.ServiceManager
import android.util.Log
import androidx.annotation.OpenForTesting
-import com.android.settings.network.telephony.TelephonyRepository
+import com.android.settings.network.telephony.MobileDataRepository
import com.android.settingslib.spaprivileged.framework.common.userManager
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.Flow
@@ -36,13 +36,13 @@
INetworkManagementService.Stub.asInterface(
ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE)
),
- private val telephonyRepository: TelephonyRepository = TelephonyRepository(context),
+ private val mobileDataRepository: MobileDataRepository = MobileDataRepository(context),
) {
private val userManager = context.userManager
fun isModifiableFlow(subId: Int): Flow<Boolean> =
- telephonyRepository.isDataEnabledFlow(subId).map { isDataEnabled ->
- isDataEnabled && isBandwidthControlEnabled() && userManager.isAdminUser
+ mobileDataRepository.isMobileDataEnabledFlow(subId).map { mobileDataEnabled ->
+ mobileDataEnabled && isBandwidthControlEnabled() && userManager.isAdminUser
}.conflate().flowOn(Dispatchers.Default)
open fun isBandwidthControlEnabled(): Boolean = try {
diff --git a/src/com/android/settings/development/DesktopModePreferenceController.java b/src/com/android/settings/development/DesktopModePreferenceController.java
index c6b2397..3f8ddab 100644
--- a/src/com/android/settings/development/DesktopModePreferenceController.java
+++ b/src/com/android/settings/development/DesktopModePreferenceController.java
@@ -16,33 +16,39 @@
package com.android.settings.development;
-import static android.provider.Settings.Global.DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS;
+import static android.provider.Settings.Global.DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES;
+
+import static com.android.wm.shell.shared.desktopmode.DesktopModeFlags.convertToToggleOverrideWithFallback;
+import static com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_OFF;
+import static com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_ON;
+import static com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_UNSET;
import android.content.Context;
-import android.os.Build;
import android.provider.Settings;
+import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import androidx.preference.TwoStatePreference;
import com.android.settings.R;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+import com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride;
+import com.android.wm.shell.shared.desktopmode.DesktopModeStatus;
+/**
+ * Preference controller to control Desktop mode features
+ */
public class DesktopModePreferenceController extends DeveloperOptionsPreferenceController
implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin,
RebootConfirmationDialogHost {
- private static final String FORCE_DESKTOP_MODE_KEY = "force_desktop_mode_on_external_displays";
+ private static final String OVERRIDE_DESKTOP_MODE_FEATURES_KEY =
+ "override_desktop_mode_features";
- @VisibleForTesting
- static final int SETTING_VALUE_OFF = 0;
- @VisibleForTesting
- static final int SETTING_VALUE_ON = 1;
-
- @Nullable private final DevelopmentSettingsDashboardFragment mFragment;
+ @Nullable
+ private final DevelopmentSettingsDashboardFragment mFragment;
public DesktopModePreferenceController(
Context context, @Nullable DevelopmentSettingsDashboardFragment fragment) {
@@ -51,40 +57,47 @@
}
@Override
- public String getPreferenceKey() {
- return FORCE_DESKTOP_MODE_KEY;
+ public boolean isAvailable() {
+ return DesktopModeStatus.canShowDesktopModeDevOption(mContext);
}
@Override
- public boolean onPreferenceChange(Preference preference, Object newValue) {
+ public String getPreferenceKey() {
+ return OVERRIDE_DESKTOP_MODE_FEATURES_KEY;
+ }
+
+ @Override
+ public boolean onPreferenceChange(@NonNull Preference preference, Object newValue) {
final boolean isEnabled = (Boolean) newValue;
Settings.Global.putInt(mContext.getContentResolver(),
- DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS,
- isEnabled ? SETTING_VALUE_ON : SETTING_VALUE_OFF);
- if (isEnabled) {
+ DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES,
+ isEnabled ? OVERRIDE_ON.getSetting() : OVERRIDE_OFF.getSetting());
+ if (mFragment != null) {
RebootConfirmationDialogFragment.show(
- mFragment, R.string.reboot_dialog_force_desktop_mode, this);
+ mFragment, R.string.reboot_dialog_override_desktop_mode, this);
}
return true;
}
@Override
public void updateState(Preference preference) {
- final int mode = Settings.Global.getInt(mContext.getContentResolver(),
- DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, SETTING_VALUE_OFF);
- ((TwoStatePreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
+ // Use overridden state, if not present, then use default state
+ final int overrideInt = Settings.Global.getInt(mContext.getContentResolver(),
+ DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, OVERRIDE_UNSET.getSetting());
+ final ToggleOverride toggleOverride = convertToToggleOverrideWithFallback(overrideInt,
+ OVERRIDE_UNSET);
+ final boolean shouldDevOptionBeEnabled = switch (toggleOverride) {
+ case OVERRIDE_OFF -> false;
+ case OVERRIDE_ON -> true;
+ case OVERRIDE_UNSET -> DesktopModeStatus.shouldDevOptionBeEnabledByDefault();
+ };
+ ((TwoStatePreference) mPreference).setChecked(shouldDevOptionBeEnabled);
}
@Override
protected void onDeveloperOptionsSwitchDisabled() {
super.onDeveloperOptionsSwitchDisabled();
Settings.Global.putInt(mContext.getContentResolver(),
- DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, SETTING_VALUE_OFF);
- ((TwoStatePreference) mPreference).setChecked(false);
- }
-
- @VisibleForTesting
- String getBuildType() {
- return Build.TYPE;
+ DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, OVERRIDE_UNSET.getSetting());
}
}
diff --git a/src/com/android/settings/development/DesktopModeSecondaryDisplayPreferenceController.java b/src/com/android/settings/development/DesktopModeSecondaryDisplayPreferenceController.java
new file mode 100644
index 0000000..ff513c2
--- /dev/null
+++ b/src/com/android/settings/development/DesktopModeSecondaryDisplayPreferenceController.java
@@ -0,0 +1,96 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.development;
+
+import static android.provider.Settings.Global.DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS;
+
+import android.content.Context;
+import android.os.Build;
+import android.provider.Settings;
+
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.TwoStatePreference;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+
+/**
+ * Preference controller to control Desktop mode features on secondary display
+ */
+public class DesktopModeSecondaryDisplayPreferenceController extends
+ DeveloperOptionsPreferenceController
+ implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin,
+ RebootConfirmationDialogHost {
+
+ private static final String ENABLE_DESKTOP_MODE_ON_SECONDARY_DISPLAY =
+ "force_desktop_mode_on_external_displays";
+
+ @VisibleForTesting
+ static final int SETTING_VALUE_OFF = 0;
+ @VisibleForTesting
+ static final int SETTING_VALUE_ON = 1;
+
+ @Nullable
+ private final DevelopmentSettingsDashboardFragment mFragment;
+
+ public DesktopModeSecondaryDisplayPreferenceController(
+ Context context, @Nullable DevelopmentSettingsDashboardFragment fragment) {
+ super(context);
+ mFragment = fragment;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return ENABLE_DESKTOP_MODE_ON_SECONDARY_DISPLAY;
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ final boolean isEnabled = (Boolean) newValue;
+ Settings.Global.putInt(mContext.getContentResolver(),
+ DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS,
+ isEnabled ? SETTING_VALUE_ON : SETTING_VALUE_OFF);
+ if (isEnabled && mFragment != null) {
+ RebootConfirmationDialogFragment.show(
+ mFragment, R.string.reboot_dialog_force_desktop_mode, this);
+ }
+ return true;
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ final int mode = Settings.Global.getInt(mContext.getContentResolver(),
+ DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, SETTING_VALUE_OFF);
+ ((TwoStatePreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
+ }
+
+ @Override
+ protected void onDeveloperOptionsSwitchDisabled() {
+ super.onDeveloperOptionsSwitchDisabled();
+ Settings.Global.putInt(mContext.getContentResolver(),
+ DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, SETTING_VALUE_OFF);
+ ((TwoStatePreference) mPreference).setChecked(false);
+ }
+
+ @VisibleForTesting
+ String getBuildType() {
+ return Build.TYPE;
+ }
+}
diff --git a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
index 38cb6c7..0389b45 100644
--- a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
+++ b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
@@ -749,6 +749,7 @@
controllers.add(new ResizableActivityPreferenceController(context));
controllers.add(new FreeformWindowsPreferenceController(context, fragment));
controllers.add(new DesktopModePreferenceController(context, fragment));
+ controllers.add(new DesktopModeSecondaryDisplayPreferenceController(context, fragment));
controllers.add(new NonResizableMultiWindowPreferenceController(context));
controllers.add(new ShortcutManagerThrottlingPreferenceController(context));
controllers.add(new EnableGnssRawMeasFullTrackingPreferenceController(context));
diff --git a/src/com/android/settings/development/Enable16KBootReceiver.java b/src/com/android/settings/development/Enable16KBootReceiver.java
index 007a67b..bc2096d 100644
--- a/src/com/android/settings/development/Enable16KBootReceiver.java
+++ b/src/com/android/settings/development/Enable16KBootReceiver.java
@@ -28,17 +28,17 @@
@Override
public void onReceive(@NonNull Context context, @NonNull Intent intent) {
String action = intent.getAction();
- if (!Intent.ACTION_BOOT_COMPLETED.equals(action)) {
- return;
- }
+ if (Intent.ACTION_BOOT_COMPLETED.equals(action)
+ || PageAgnosticNotificationService.INTENT_ACTION_DISMISSED.equals(action)) {
+ // Do nothing if device is not in page-agnostic mode
+ if (!Enable16kUtils.isPageAgnosticModeOn(context)) {
+ return;
+ }
- // Do nothing if device is not in page-agnostic mode
- if (!Enable16kUtils.isPageAgnosticModeOn(context)) {
- return;
+ // start a service to post persistent notification
+ Intent startServiceIntent = new Intent(context, PageAgnosticNotificationService.class);
+ startServiceIntent.setAction(action);
+ context.startServiceAsUser(startServiceIntent, UserHandle.SYSTEM);
}
-
- // start a service to post persistent notification
- Intent startNotificationIntent = new Intent(context, PageAgnosticNotificationService.class);
- context.startServiceAsUser(startNotificationIntent, UserHandle.SYSTEM);
}
}
diff --git a/src/com/android/settings/development/OWNERS b/src/com/android/settings/development/OWNERS
index 92c8cfa..cc573ea 100644
--- a/src/com/android/settings/development/OWNERS
+++ b/src/com/android/settings/development/OWNERS
@@ -9,3 +9,6 @@
# ShowRefreshRatePreferenceController
per-file ShowRefreshRatePreferenceController.java=file:platform/frameworks/native:/services/surfaceflinger/OWNERS
+
+# DesktopModePreferenceController
+per-file DesktopModePreferenceController.java=file:platform/frameworks/base:/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/OWNERS
diff --git a/src/com/android/settings/development/PageAgnosticNotificationService.java b/src/com/android/settings/development/PageAgnosticNotificationService.java
index bce1dd9..d33f1da 100644
--- a/src/com/android/settings/development/PageAgnosticNotificationService.java
+++ b/src/com/android/settings/development/PageAgnosticNotificationService.java
@@ -34,6 +34,8 @@
private static final String NOTIFICATION_CHANNEL_ID =
"com.android.settings.development.PageAgnosticNotificationService";
+ public static final String INTENT_ACTION_DISMISSED =
+ "com.android.settings.development.NOTIFICATION_DISMISSED";
private static final int NOTIFICATION_ID = 1;
static final int DISABLE_UPDATES_SETTING = 1;
@@ -63,6 +65,9 @@
public void onCreate() {
super.onCreate();
createNotificationChannel();
+
+ // No updates should be allowed in page-agnostic mode
+ disableAutomaticUpdates();
}
private Notification buildNotification() {
@@ -89,6 +94,15 @@
notifyIntent,
PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
+ Intent dismissIntent = new Intent(this, Enable16KBootReceiver.class);
+ dismissIntent.setAction(INTENT_ACTION_DISMISSED);
+ PendingIntent dismissPendingIntent =
+ PendingIntent.getBroadcast(
+ this.getApplicationContext(),
+ 0,
+ dismissIntent,
+ PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
+
Notification.Action action =
new Notification.Action.Builder(
R.drawable.empty_icon,
@@ -96,14 +110,15 @@
notifyPendingIntent)
.build();
+ // TODO:(b/349860833) Change text style to BigTextStyle once the ellipsis issue is fixed.
Notification.Builder builder =
new Notification.Builder(this, NOTIFICATION_CHANNEL_ID)
.setContentTitle(title)
.setContentText(text)
.setOngoing(true)
.setSmallIcon(R.drawable.ic_settings_24dp)
- .setStyle(new Notification.BigTextStyle().bigText(text))
.setContentIntent(notifyPendingIntent)
+ .setDeleteIntent(dismissPendingIntent)
.addAction(action);
return builder.build();
@@ -131,9 +146,6 @@
if (mNotificationManager != null) {
mNotificationManager.notify(NOTIFICATION_ID, notification);
}
-
- // No updates should be allowed in page-agnostic mode
- disableAutomaticUpdates();
- return Service.START_NOT_STICKY;
+ return Service.START_REDELIVER_INTENT;
}
}
diff --git a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogRepository.kt b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogRepository.kt
index 5ed6993..760f8b6 100644
--- a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogRepository.kt
+++ b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogRepository.kt
@@ -23,10 +23,10 @@
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle
+import com.android.settings.network.telephony.CarrierConfigRepository
import com.android.settings.network.telephony.SimSlotRepository
import com.android.settings.network.telephony.ims.ImsMmTelRepository
import com.android.settings.network.telephony.ims.ImsMmTelRepositoryImpl
-import com.android.settings.network.telephony.safeGetConfig
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.Flow
@@ -39,7 +39,9 @@
import kotlinx.coroutines.launch
@OptIn(ExperimentalCoroutinesApi::class)
-class SimStatusDialogRepository @JvmOverloads constructor(
+class SimStatusDialogRepository
+@JvmOverloads
+constructor(
private val context: Context,
private val simSlotRepository: SimSlotRepository = SimSlotRepository(context),
private val signalStrengthRepository: SignalStrengthRepository =
@@ -48,7 +50,7 @@
ImsMmTelRepositoryImpl(context, subId)
},
) {
- private val carrierConfigManager = context.getSystemService(CarrierConfigManager::class.java)!!
+ private val carrierConfigRepository = CarrierConfigRepository(context)
data class SimStatusDialogInfo(
val signalStrength: String? = null,
@@ -73,7 +75,8 @@
}
private fun simStatusDialogInfoBySlotFlow(simSlotIndex: Int): Flow<SimStatusDialogInfo> =
- simSlotRepository.subIdInSimSlotFlow(simSlotIndex)
+ simSlotRepository
+ .subIdInSimSlotFlow(simSlotIndex)
.flatMapLatest { subId ->
if (SubscriptionManager.isValidSubscriptionId(subId)) {
simStatusDialogInfoFlow(subId)
@@ -99,22 +102,16 @@
}
private fun showUpFlow(subId: Int) = flow {
- val config = carrierConfigManager.safeGetConfig(
- keys = listOf(
- CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL,
- CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL,
- ),
- subId = subId,
- )
- val visibility = SimStatusDialogVisibility(
- signalStrengthShowUp = config.getBoolean(
- CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL,
- true, // by default we show the signal strength in sim status
- ),
- imsRegisteredShowUp = config.getBoolean(
- CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL
- ),
- )
+ val visibility =
+ carrierConfigRepository.transformConfig(subId) {
+ SimStatusDialogVisibility(
+ signalStrengthShowUp =
+ getBoolean(
+ CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL),
+ imsRegisteredShowUp =
+ getBoolean(CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL),
+ )
+ }
emit(visibility)
}
}
diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
index 005c073..7bbb06a 100644
--- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
@@ -269,6 +269,11 @@
}
@Override
+ protected boolean shouldSkipForInitialSUW() {
+ return true;
+ }
+
+ @Override
public void onPause() {
super.onPause();
diff --git a/src/com/android/settings/fuelgauge/BatteryInfo.java b/src/com/android/settings/fuelgauge/BatteryInfo.java
index b54801a..fa30253 100644
--- a/src/com/android/settings/fuelgauge/BatteryInfo.java
+++ b/src/com/android/settings/fuelgauge/BatteryInfo.java
@@ -53,7 +53,8 @@
public int batteryStatus;
public int pluggedStatus;
public boolean discharging = true;
- public boolean isBatteryDefender;
+ public boolean isBatteryDefender = false;
+ public boolean isLongLife = false;
public boolean isFastCharging;
public long remainingTimeUs = 0;
public long averageTimeToDischarge = EstimateKt.AVERAGE_TIME_TO_DISCHARGE_UNKNOWN;
@@ -306,12 +307,13 @@
info.pluggedStatus = batteryBroadcast.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0);
info.mCharging = info.pluggedStatus != 0;
info.averageTimeToDischarge = estimate.getAverageDischargeTime();
- info.isBatteryDefender =
- batteryBroadcast.getIntExtra(
- BatteryManager.EXTRA_CHARGING_STATUS,
- BatteryManager.CHARGING_POLICY_DEFAULT)
- == BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE;
+ final int chargingPolicy =
+ batteryBroadcast.getIntExtra(
+ BatteryManager.EXTRA_CHARGING_STATUS,
+ BatteryManager.CHARGING_POLICY_DEFAULT);
+
+ info.isLongLife = chargingPolicy == BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE;
info.statusLabel = Utils.getBatteryStatus(context, batteryBroadcast, isCompactStatus);
info.batteryStatus =
batteryBroadcast.getIntExtra(
@@ -319,13 +321,21 @@
info.isFastCharging =
BatteryStatus.getChargingSpeed(context, batteryBroadcast)
== BatteryStatus.CHARGING_FAST;
- if (info.isBatteryDefender) {
+ if (info.isLongLife) {
info.isBatteryDefender =
FeatureFactory.getFeatureFactory()
.getPowerUsageFeatureProvider()
.isBatteryDefend(info);
}
- if (!info.mCharging) {
+ Log.d(
+ TAG,
+ "chargingPolicy = "
+ + chargingPolicy
+ + ", pluggedStatus = "
+ + info.pluggedStatus
+ + ", batteryStatus = "
+ + info.batteryStatus);
+ if (!isPluggedIn(context, info.mCharging, chargingPolicy)) {
updateBatteryInfoDischarging(context, shortString, estimate, info);
} else {
updateBatteryInfoCharging(
@@ -555,6 +565,14 @@
}
}
+ private static boolean isPluggedIn(Context context, boolean isCharging, int chargingPolicy) {
+ return isCharging
+ || (chargingPolicy == BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE
+ && FeatureFactory.getFeatureFactory()
+ .getBatterySettingsFeatureProvider()
+ .isChargingOptimizationMode(context));
+ }
+
public interface BatteryDataParser {
void onParsingStarted(long startTime, long endTime);
diff --git a/src/com/android/settings/fuelgauge/BatteryUtils.java b/src/com/android/settings/fuelgauge/BatteryUtils.java
index 9e08664..7cb5733 100644
--- a/src/com/android/settings/fuelgauge/BatteryUtils.java
+++ b/src/com/android/settings/fuelgauge/BatteryUtils.java
@@ -600,12 +600,12 @@
context.getContentResolver(), SETTINGS_GLOBAL_DOCK_DEFENDER_BYPASS, 0)
== 1) {
return DockDefenderMode.TEMPORARILY_BYPASSED;
- } else if (batteryInfo.isBatteryDefender
+ } else if (batteryInfo.isLongLife
&& FeatureFactory.getFeatureFactory()
.getPowerUsageFeatureProvider()
.isExtraDefend()) {
return DockDefenderMode.ACTIVE;
- } else if (!batteryInfo.isBatteryDefender) {
+ } else if (!batteryInfo.isLongLife) {
return DockDefenderMode.FUTURE_BYPASS;
}
}
diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
index 0132273..e441b85 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
@@ -23,11 +23,16 @@
import android.util.ArrayMap;
import android.util.SparseIntArray;
+import androidx.annotation.NonNull;
+
+import com.android.settings.fuelgauge.batteryusage.BatteryDiffData;
+import com.android.settings.fuelgauge.batteryusage.BatteryEvent;
import com.android.settings.fuelgauge.batteryusage.DetectRequestSourceType;
import com.android.settings.fuelgauge.batteryusage.PowerAnomalyEventList;
import com.android.settingslib.fuelgauge.Estimate;
import java.util.List;
+import java.util.Map;
import java.util.Set;
/** Feature Provider used in power usage */
@@ -39,6 +44,9 @@
/** Check whether the battery tips card is enabled in the battery usage page */
boolean isBatteryTipsEnabled();
+ /** Check whether overwrite the app optimization mode to restricted mode is enabled */
+ boolean isRestrictedModeOverwriteEnabled();
+
/** Check whether force expire the app optimization mode. */
boolean isForceExpireAppOptimizationModeEnabled();
@@ -157,4 +165,14 @@
/** Whether the device is under the battery defender mode */
boolean isBatteryDefend(BatteryInfo info);
+
+ /** Whether the battery usage reattribute is eabled or not. */
+ boolean isBatteryUsageReattributeEnabled();
+
+ /** Collect and process battery reattribute data if needed. */
+ boolean processBatteryReattributeData(
+ @NonNull Context context,
+ @NonNull Map<Long, BatteryDiffData> batteryDiffDataMap,
+ @NonNull List<BatteryEvent> batteryEventList,
+ final boolean isFromPeriodJob);
}
diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
index 1675ce6..bdb236a 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
@@ -18,7 +18,6 @@
import static com.android.settings.Utils.SYSTEMUI_PACKAGE_NAME;
-import android.annotation.Nullable;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
@@ -27,13 +26,19 @@
import android.util.ArraySet;
import android.util.SparseIntArray;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
import com.android.internal.util.ArrayUtils;
+import com.android.settings.fuelgauge.batteryusage.BatteryDiffData;
+import com.android.settings.fuelgauge.batteryusage.BatteryEvent;
import com.android.settings.fuelgauge.batteryusage.DetectRequestSourceType;
import com.android.settings.fuelgauge.batteryusage.PowerAnomalyEventList;
import com.android.settingslib.fuelgauge.Estimate;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import java.util.Set;
/** Implementation of {@code PowerUsageFeatureProvider} */
@@ -84,6 +89,11 @@
}
@Override
+ public boolean isRestrictedModeOverwriteEnabled() {
+ return false;
+ }
+
+ @Override
public boolean isForceExpireAppOptimizationModeEnabled() {
return false;
}
@@ -243,6 +253,20 @@
@Override
public boolean isBatteryDefend(BatteryInfo info) {
- return info.isBatteryDefender && !isExtraDefend();
+ return info.isLongLife && !isExtraDefend();
+ }
+
+ @Override
+ public boolean isBatteryUsageReattributeEnabled() {
+ return false;
+ }
+
+ @Override
+ public boolean processBatteryReattributeData(
+ @NonNull Context context,
+ @NonNull Map<Long, BatteryDiffData> batteryDiffDataMap,
+ @NonNull List<BatteryEvent> batteryEventList,
+ final boolean isFromPeriodJob) {
+ return false;
}
}
diff --git a/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetector.java b/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetector.java
index 639b3c7..6ff2665 100644
--- a/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetector.java
+++ b/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetector.java
@@ -21,7 +21,6 @@
import com.android.settings.fuelgauge.BatteryInfo;
import com.android.settings.fuelgauge.batterytip.tips.BatteryDefenderTip;
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
-import com.android.settings.overlay.FeatureFactory;
/** Detect whether the battery is overheated */
public class BatteryDefenderDetector implements BatteryTipDetector {
@@ -35,12 +34,10 @@
@Override
public BatteryTip detect() {
- final boolean isBasicBatteryDefend =
- FeatureFactory.getFeatureFactory()
- .getPowerUsageFeatureProvider()
- .isBatteryDefend(mBatteryInfo);
final int state =
- isBasicBatteryDefend ? BatteryTip.StateType.NEW : BatteryTip.StateType.INVISIBLE;
+ mBatteryInfo.isBatteryDefender
+ ? BatteryTip.StateType.NEW
+ : BatteryTip.StateType.INVISIBLE;
final boolean isPluggedIn = mBatteryInfo.pluggedStatus != 0;
return new BatteryDefenderTip(state, isPluggedIn);
}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/AppOptModeSharedPreferencesUtils.kt b/src/com/android/settings/fuelgauge/batteryusage/AppOptModeSharedPreferencesUtils.kt
index afff1c9..508c4df 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/AppOptModeSharedPreferencesUtils.kt
+++ b/src/com/android/settings/fuelgauge/batteryusage/AppOptModeSharedPreferencesUtils.kt
@@ -76,8 +76,7 @@
fun resetExpiredAppOptModeBeforeTimestamp(context: Context, queryTimestampMs: Long) =
synchronized(appOptimizationModeLock) {
val forceExpireEnabled =
- featureFactory
- .powerUsageFeatureProvider.isForceExpireAppOptimizationModeEnabled
+ featureFactory.powerUsageFeatureProvider.isForceExpireAppOptimizationModeEnabled
val eventsMap = getAppOptModeEventsMap(context)
val expirationUids = ArrayList<Int>(eventsMap.size)
for ((uid, event) in eventsMap) {
@@ -113,12 +112,22 @@
getBatteryOptimizeUtils: (Int, String) -> BatteryOptimizeUtils,
) =
synchronized(appOptimizationModeLock) {
+ val restrictedModeOverwriteEnabled =
+ featureFactory.powerUsageFeatureProvider.isRestrictedModeOverwriteEnabled
val eventsMap = getAppOptModeEventsMap(context)
val expirationEvents: MutableMap<Int, AppOptimizationModeEvent> = ArrayMap()
for (i in uids.indices) {
val uid = uids[i]
val packageName = packageNames[i]
val optimizationMode = optimizationModes[i]
+ if (
+ !restrictedModeOverwriteEnabled &&
+ optimizationMode == BatteryOptimizeUtils.MODE_RESTRICTED
+ ) {
+ // Unable to set restricted mode due to flag protection.
+ Log.w(TAG, "setOptimizationMode($packageName) into restricted ignored")
+ continue
+ }
val originalOptMode: Int =
updateBatteryOptimizationMode(
context,
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java
index 7ea7203..b5d5099 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java
@@ -77,11 +77,13 @@
processAndSortEntries(mSystemEntries);
}
- long getStartTimestamp() {
+ /** Gets the start timestamp. */
+ public long getStartTimestamp() {
return mStartTimestamp;
}
- long getEndTimestamp() {
+ /** Gets the end timestamp. */
+ public long getEndTimestamp() {
return mEndTimestamp;
}
@@ -97,7 +99,8 @@
return mScreenOnTime;
}
- List<BatteryDiffEntry> getAppDiffEntryList() {
+ /** Gets the {@link BatteryDiffEntry} list for apps. */
+ public List<BatteryDiffEntry> getAppDiffEntryList() {
return mAppEntries;
}
@@ -296,8 +299,7 @@
* Sets total consume power, and adjusts the percentages to ensure the total round percentage
* could be 100%, and then sorts entries based on the sorting key.
*/
- @VisibleForTesting
- static void processAndSortEntries(final List<BatteryDiffEntry> batteryDiffEntries) {
+ public static void processAndSortEntries(final List<BatteryDiffEntry> batteryDiffEntries) {
if (batteryDiffEntries.isEmpty()) {
return;
}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntry.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntry.java
index 5b05e34..4d1545a 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntry.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntry.java
@@ -422,7 +422,8 @@
return;
}
final boolean isValidPackage =
- BatteryUtils.getInstance(mContext).getPackageUid(getPackageName())
+ BatteryUtils.getInstance(mContext)
+ .getPackageUidAsUser(getPackageName(), (int) mUserId)
!= BatteryUtils.UID_NULL;
if (!isValidPackage) {
mValidForRestriction = false;
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
index ddb8ecb..fef3056 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
@@ -22,7 +22,6 @@
import android.content.pm.IPackageManager;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.UserInfo;
import android.graphics.drawable.Drawable;
import android.os.BatteryConsumer;
@@ -176,18 +175,7 @@
}
}
if (mDefaultPackageName != null) {
- PackageManager pm = context.getPackageManager();
- try {
- ApplicationInfo appInfo =
- pm.getApplicationInfo(mDefaultPackageName, 0 /* no flags */);
- mName = pm.getApplicationLabel(appInfo).toString();
- } catch (NameNotFoundException e) {
- Log.d(
- TAG,
- "PackageManager failed to retrieve ApplicationInfo for: "
- + mDefaultPackageName);
- mName = mDefaultPackageName;
- }
+ mName = mDefaultPackageName;
}
mTimeInForegroundMs =
uidBatteryConsumer.getTimeInProcessStateMs(
diff --git a/src/com/android/settings/fuelgauge/batteryusage/DataProcessManager.java b/src/com/android/settings/fuelgauge/batteryusage/DataProcessManager.java
index 719d3bd..0a1a547 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/DataProcessManager.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/DataProcessManager.java
@@ -28,6 +28,8 @@
import androidx.annotation.Nullable;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
+import com.android.settings.overlay.FeatureFactory;
import java.util.ArrayList;
import java.util.Calendar;
@@ -78,6 +80,7 @@
// Raw start timestamp with round to the nearest hour.
private final long mRawStartTimestamp;
private final long mLastFullChargeTimestamp;
+ private final boolean mIsFromPeriodJob;
private final Context mContext;
private final Handler mHandler;
private final UserIdsSeries mUserIdsSeries;
@@ -122,6 +125,7 @@
Context context,
Handler handler,
final UserIdsSeries userIdsSeries,
+ final boolean isFromPeriodJob,
final long rawStartTimestamp,
final long lastFullChargeTimestamp,
@NonNull final OnBatteryDiffDataMapLoadedListener callbackFunction,
@@ -130,6 +134,7 @@
mContext = context.getApplicationContext();
mHandler = handler;
mUserIdsSeries = userIdsSeries;
+ mIsFromPeriodJob = isFromPeriodJob;
mRawStartTimestamp = rawStartTimestamp;
mLastFullChargeTimestamp = lastFullChargeTimestamp;
mCallbackFunction = callbackFunction;
@@ -147,6 +152,7 @@
mHandler = handler;
mUserIdsSeries = userIdsSeries;
mCallbackFunction = callbackFunction;
+ mIsFromPeriodJob = false;
mRawStartTimestamp = 0L;
mLastFullChargeTimestamp = 0L;
mHourlyBatteryLevelsPerDay = null;
@@ -158,14 +164,9 @@
/** Starts the async tasks to load battery history data and app usage data. */
public void start() {
- start(/* isFromPeriodJob= */ false);
- }
-
- /** Starts the async tasks to load battery history data and app usage data. */
- public void start(boolean isFromPeriodJob) {
// If we have battery level data, load the battery history map and app usage simultaneously.
if (mHourlyBatteryLevelsPerDay != null) {
- if (isFromPeriodJob) {
+ if (mIsFromPeriodJob) {
mIsCurrentBatteryHistoryLoaded = true;
mIsCurrentAppUsageLoaded = true;
mIsBatteryUsageSlotLoaded = true;
@@ -514,6 +515,14 @@
mAppUsagePeriodMap,
getSystemAppsPackageNames(),
getSystemAppsUids()));
+ // Process the reattributate data for the following two cases:
+ // 1) the latest slot for the timestamp "until now"
+ // 2) walkthrough all BatteryDiffData again to handle "re-compute" case
+ final PowerUsageFeatureProvider featureProvider =
+ FeatureFactory.getFeatureFactory()
+ .getPowerUsageFeatureProvider();
+ featureProvider.processBatteryReattributeData(
+ mContext, batteryDiffDataMap, mBatteryEventList, mIsFromPeriodJob);
Log.d(
TAG,
@@ -683,12 +692,13 @@
context,
handler,
userIdsSeries,
+ isFromPeriodJob,
startTimestamp,
lastFullChargeTime,
onBatteryDiffDataMapLoadedListener,
batteryLevelData.getHourlyBatteryLevelsPerDay(),
processedBatteryHistoryMap)
- .start(isFromPeriodJob);
+ .start();
return batteryLevelData;
}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProvider.java b/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProvider.java
index baae109..7e759ee 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProvider.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProvider.java
@@ -55,12 +55,12 @@
}
writer.println("dump BatteryUsage and AppUsage states:");
LogUtils.dumpAppOptimizationModeEventHist(context, writer);
+ LogUtils.dumpBatteryReattributeDatabaseHist(context, writer);
LogUtils.dumpBatteryUsageDatabaseHist(context, writer);
LogUtils.dumpAppUsageDatabaseHist(context, writer);
LogUtils.dumpBatteryUsageSlotDatabaseHist(context, writer);
LogUtils.dumpBatteryEventDatabaseHist(context, writer);
LogUtils.dumpBatteryStateDatabaseHist(context, writer);
- LogUtils.dumpBatteryReattributeDatabaseHist(context, writer);
}
@Override
diff --git a/src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtils.java b/src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtils.java
index d2f3adc..45871a3 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtils.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtils.java
@@ -38,6 +38,7 @@
import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDatabase;
import com.android.settings.fuelgauge.batteryusage.db.BatteryUsageSlotDao;
import com.android.settings.fuelgauge.batteryusage.db.BatteryUsageSlotEntity;
+import com.android.settings.overlay.FeatureFactory;
import java.io.PrintWriter;
import java.time.Clock;
@@ -132,14 +133,23 @@
}
static void dumpBatteryReattributeDatabaseHist(Context context, PrintWriter writer) {
- dumpBatteryReattributeDatabaseHist(
- BatteryStateDatabase.getInstance(context).batteryReattributeDao(),
- writer);
+ try {
+ dumpBatteryReattributeDatabaseHist(
+ BatteryStateDatabase.getInstance(context).batteryReattributeDao(),
+ writer);
+ } catch (Exception e) {
+ Log.e(TAG, "failed to run dumpBatteryReattributeDatabaseHist()", e);
+ }
}
@VisibleForTesting
static void dumpBatteryReattributeDatabaseHist(
BatteryReattributeDao batteryReattributeDao, PrintWriter writer) {
+ if (!FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider()
+ .isBatteryUsageReattributeEnabled()) {
+ writer.println("\n\tBatteryReattribute is disabled!");
+ return;
+ }
writer.println("\n\tBatteryReattribute DatabaseHistory:");
final List<BatteryReattributeEntity> entities =
batteryReattributeDao.getAllAfter(
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryReattributeEntity.java b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryReattributeEntity.java
index 5367849..0ee2260 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryReattributeEntity.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryReattributeEntity.java
@@ -58,12 +58,16 @@
@NonNull
@Override
public String toString() {
+ final BatteryReattribute batteryReattribute =
+ ConvertUtils.decodeBatteryReattribute(reattributeData);
final StringBuilder builder = new StringBuilder()
.append("\nBatteryReattributeEntity{")
.append("\n\t" + utcToLocalTimeForLogging(timestampStart))
.append("\n\t" + utcToLocalTimeForLogging(timestampEnd))
- .append("\n\t" + ConvertUtils.decodeBatteryReattribute(reattributeData))
- .append("\n}");
- return builder.toString();
+ .append("\n\t" + batteryReattribute);
+ if (batteryReattribute != null) {
+ builder.append("\n\t" + batteryReattribute.getReattributeDataMap());
+ }
+ return builder.append("\n}").toString();
}
}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDatabase.java b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDatabase.java
index 9a4f164..c3aea08 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDatabase.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDatabase.java
@@ -33,10 +33,10 @@
BatteryUsageSlotEntity.class,
BatteryReattributeEntity.class
},
- version = 1)
+ version = 3)
public abstract class BatteryStateDatabase extends RoomDatabase {
private static final String TAG = "BatteryStateDatabase";
- private static final String DB_FILE_NAME = "battery-usage-db-v10";
+ private static final String DB_FILE_NAME = "battery-usage-db-v11";
private static BatteryStateDatabase sBatteryStateDatabase;
diff --git a/src/com/android/settings/homepage/contextualcards/conditional/DndConditionCardController.java b/src/com/android/settings/homepage/contextualcards/conditional/DndConditionCardController.java
index e69a336..6362068 100644
--- a/src/com/android/settings/homepage/contextualcards/conditional/DndConditionCardController.java
+++ b/src/com/android/settings/homepage/contextualcards/conditional/DndConditionCardController.java
@@ -105,7 +105,8 @@
+ mAppContext.getText(R.string.condition_zen_title))
.setTitleText(mAppContext.getText(R.string.condition_zen_title).toString())
.setSummaryText(getSummary())
- .setIconDrawable(mAppContext.getDrawable(R.drawable.ic_do_not_disturb_on_24dp))
+ .setIconDrawable(mAppContext.getDrawable(
+ com.android.settingslib.R.drawable.ic_do_not_disturb_on_24dp))
.setViewType(ConditionContextualCardRenderer.VIEW_TYPE_HALF_WIDTH)
.build();
}
diff --git a/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardController.java b/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardController.java
index b0061fa..122cb6d 100644
--- a/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardController.java
+++ b/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardController.java
@@ -16,6 +16,7 @@
package com.android.settings.homepage.contextualcards.legacysuggestion;
+import android.app.ActivityOptions;
import android.app.PendingIntent;
import android.content.ComponentName;
import android.content.Context;
@@ -79,7 +80,10 @@
@Override
public void onPrimaryClick(ContextualCard card) {
try {
- ((LegacySuggestionContextualCard) card).getPendingIntent().send();
+ ActivityOptions options = ActivityOptions.makeBasic()
+ .setPendingIntentBackgroundActivityStartMode(
+ ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_ALLOWED);
+ ((LegacySuggestionContextualCard) card).getPendingIntent().send(options.toBundle());
} catch (PendingIntent.CanceledException e) {
Log.w(TAG, "Failed to start suggestion " + card.getTitleText());
}
diff --git a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
index 5ba1c84..29292a1 100644
--- a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
@@ -70,7 +70,6 @@
private static final String KEYBOARD_OPTIONS_CATEGORY = "keyboard_options_category";
private static final String KEYBOARD_A11Y_CATEGORY = "keyboard_a11y_category";
- private static final String SHOW_VIRTUAL_KEYBOARD_SWITCH = "show_virtual_keyboard_switch";
private static final String ACCESSIBILITY_BOUNCE_KEYS = "accessibility_bounce_keys";
private static final String ACCESSIBILITY_SLOW_KEYS = "accessibility_slow_keys";
private static final String ACCESSIBILITY_STICKY_KEYS = "accessibility_sticky_keys";
@@ -100,8 +99,6 @@
@Nullable
private PreferenceCategory mKeyboardA11yCategory = null;
@Nullable
- private TwoStatePreference mShowVirtualKeyboardSwitch = null;
- @Nullable
private TwoStatePreference mAccessibilityBounceKeys = null;
@Nullable
private TwoStatePreference mAccessibilitySlowKeys = null;
@@ -129,8 +126,6 @@
mImm = Preconditions.checkNotNull(activity.getSystemService(InputMethodManager.class));
mKeyboardAssistanceCategory = Preconditions.checkNotNull(
findPreference(KEYBOARD_OPTIONS_CATEGORY));
- mShowVirtualKeyboardSwitch = Objects.requireNonNull(
- mKeyboardAssistanceCategory.findPreference(SHOW_VIRTUAL_KEYBOARD_SWITCH));
mKeyboardA11yCategory = Objects.requireNonNull(findPreference(KEYBOARD_A11Y_CATEGORY));
mAccessibilityBounceKeys = Objects.requireNonNull(
@@ -207,8 +202,6 @@
mLastHardKeyboards.clear();
scheduleUpdateHardKeyboards();
mIm.registerInputDeviceListener(this, null);
- Objects.requireNonNull(mShowVirtualKeyboardSwitch).setOnPreferenceChangeListener(
- mShowVirtualKeyboardSwitchPreferenceChangeListener);
Objects.requireNonNull(mAccessibilityBounceKeys).setOnPreferenceChangeListener(
mAccessibilityBounceKeysSwitchPreferenceChangeListener);
Objects.requireNonNull(mAccessibilitySlowKeys).setOnPreferenceChangeListener(
@@ -223,7 +216,6 @@
super.onPause();
mLastHardKeyboards.clear();
mIm.unregisterInputDeviceListener(this);
- Objects.requireNonNull(mShowVirtualKeyboardSwitch).setOnPreferenceChangeListener(null);
Objects.requireNonNull(mAccessibilityBounceKeys).setOnPreferenceChangeListener(null);
Objects.requireNonNull(mAccessibilitySlowKeys).setOnPreferenceChangeListener(null);
Objects.requireNonNull(mAccessibilityStickyKeys).setOnPreferenceChangeListener(null);
@@ -314,7 +306,6 @@
if (mSupportsFirmwareUpdate) {
mFeatureProvider.addFirmwareUpdateCategory(getPrefContext(), preferenceScreen);
}
- updateShowVirtualKeyboardSwitch();
if (InputSettings.isAccessibilityBounceKeysFeatureEnabled()
|| InputSettings.isAccessibilityStickyKeysFeatureEnabled()
@@ -374,7 +365,6 @@
mContentObserver,
UserHandle.myUserId());
}
- updateShowVirtualKeyboardSwitch();
updateAccessibilityBounceKeysSwitch();
updateAccessibilitySlowKeysSwitch();
updateAccessibilityStickyKeysSwitch();
@@ -384,11 +374,6 @@
getActivity().getContentResolver().unregisterContentObserver(mContentObserver);
}
- private void updateShowVirtualKeyboardSwitch() {
- Objects.requireNonNull(mShowVirtualKeyboardSwitch).setChecked(
- Secure.getInt(getContentResolver(), Secure.SHOW_IME_WITH_HARD_KEYBOARD, 0) != 0);
- }
-
private void updateAccessibilityBounceKeysSwitch() {
if (!InputSettings.isAccessibilityBounceKeysFeatureEnabled()) {
return;
@@ -417,15 +402,6 @@
getActivity().requestShowKeyboardShortcuts();
}
- private final OnPreferenceChangeListener mShowVirtualKeyboardSwitchPreferenceChangeListener =
- (preference, newValue) -> {
- final ContentResolver cr = getContentResolver();
- Secure.putInt(cr, Secure.SHOW_IME_WITH_HARD_KEYBOARD, ((Boolean) newValue) ? 1 : 0);
- cr.notifyChange(Secure.getUriFor(Secure.SHOW_IME_WITH_HARD_KEYBOARD),
- null /* observer */, ContentResolver.NOTIFY_NO_DELAY);
- return true;
- };
-
private final OnPreferenceChangeListener
mAccessibilityBounceKeysSwitchPreferenceChangeListener = (preference, newValue) -> {
InputSettings.setAccessibilityBounceKeysThreshold(getContext(),
@@ -449,9 +425,7 @@
private final ContentObserver mContentObserver = new ContentObserver(new Handler(true)) {
@Override
public void onChange(boolean selfChange, Uri uri) {
- if (sVirtualKeyboardSettingsUri.equals(uri)) {
- updateShowVirtualKeyboardSwitch();
- } else if (sAccessibilityBounceKeysUri.equals(uri)) {
+ if (sAccessibilityBounceKeysUri.equals(uri)) {
updateAccessibilityBounceKeysSwitch();
} else if (sAccessibilitySlowKeysUri.equals(uri)) {
updateAccessibilitySlowKeysSwitch();
diff --git a/src/com/android/settings/inputmethod/PointerScaleSeekBarController.java b/src/com/android/settings/inputmethod/PointerScaleSeekBarController.java
new file mode 100644
index 0000000..06d5203
--- /dev/null
+++ b/src/com/android/settings/inputmethod/PointerScaleSeekBarController.java
@@ -0,0 +1,95 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.inputmethod;
+
+import static android.view.PointerIcon.DEFAULT_POINTER_SCALE;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.os.UserHandle;
+import android.provider.Settings;
+import android.widget.SeekBar;
+
+import androidx.annotation.NonNull;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.widget.LabeledSeekBarPreference;
+
+public class PointerScaleSeekBarController extends BasePreferenceController {
+
+ private final int mProgressMin;
+ private final int mProgressMax;
+ private final float mScaleMin;
+ private final float mScaleMax;
+
+ public PointerScaleSeekBarController(@NonNull Context context, @NonNull String key) {
+ super(context, key);
+
+ Resources res = context.getResources();
+ mProgressMin = res.getInteger(R.integer.pointer_scale_seek_bar_start);
+ mProgressMax = res.getInteger(R.integer.pointer_scale_seek_bar_end);
+ mScaleMin = res.getFloat(R.dimen.pointer_scale_size_start);
+ mScaleMax = res.getFloat(R.dimen.pointer_scale_size_end);
+ }
+
+ @AvailabilityStatus
+ public int getAvailabilityStatus() {
+ return android.view.flags.Flags.enableVectorCursorA11ySettings() ? AVAILABLE
+ : CONDITIONALLY_UNAVAILABLE;
+ }
+
+ @Override
+ public void displayPreference(@NonNull PreferenceScreen screen) {
+ super.displayPreference(screen);
+
+ LabeledSeekBarPreference seekBarPreference = screen.findPreference(getPreferenceKey());
+ seekBarPreference.setMax(mProgressMax);
+ seekBarPreference.setContinuousUpdates(/* continuousUpdates= */ true);
+ seekBarPreference.setProgress(scaleToProgress(
+ Settings.System.getFloatForUser(mContext.getContentResolver(),
+ Settings.System.POINTER_SCALE, DEFAULT_POINTER_SCALE,
+ UserHandle.USER_CURRENT)));
+ seekBarPreference.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
+ @Override
+ public void onProgressChanged(@NonNull SeekBar seekBar, int progress,
+ boolean fromUser) {
+ Settings.System.putFloatForUser(mContext.getContentResolver(),
+ Settings.System.POINTER_SCALE, progressToScale(progress),
+ UserHandle.USER_CURRENT);
+ }
+
+ @Override
+ public void onStartTrackingTouch(@NonNull SeekBar seekBar) {}
+
+ @Override
+ public void onStopTrackingTouch(@NonNull SeekBar seekBar) {}
+ });
+ }
+
+ private float progressToScale(int progress) {
+ return (((progress - mProgressMin) * (mScaleMax - mScaleMin)) / (mProgressMax
+ - mProgressMin)) + mScaleMin;
+ }
+
+ private int scaleToProgress(float scale) {
+ return (int) (
+ (((scale - mScaleMin) * (mProgressMax - mProgressMin)) / (mScaleMax - mScaleMin))
+ + mProgressMin);
+ }
+}
diff --git a/src/com/android/settings/inputmethod/PointerStrokeStylePreference.java b/src/com/android/settings/inputmethod/PointerStrokeStylePreference.java
new file mode 100644
index 0000000..1c02332
--- /dev/null
+++ b/src/com/android/settings/inputmethod/PointerStrokeStylePreference.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.inputmethod;
+
+import static android.view.PointerIcon.POINTER_ICON_VECTOR_STYLE_STROKE_BLACK;
+import static android.view.PointerIcon.POINTER_ICON_VECTOR_STYLE_STROKE_NONE;
+import static android.view.PointerIcon.POINTER_ICON_VECTOR_STYLE_STROKE_WHITE;
+
+import android.content.Context;
+import android.provider.Settings;
+import android.util.AttributeSet;
+import android.view.PointerIcon;
+import android.widget.LinearLayout;
+import android.widget.RadioButton;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+
+public class PointerStrokeStylePreference extends Preference {
+
+ public PointerStrokeStylePreference(@NonNull Context context, @Nullable AttributeSet attrs) {
+ super(context, attrs);
+ setLayoutResource(R.layout.pointer_icon_stroke_style_layout);
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull PreferenceViewHolder holder) {
+ super.onBindViewHolder(holder);
+
+ LinearLayout buttonHolder = (LinearLayout) holder.findViewById(R.id.button_holder);
+ // Intercept hover events so setting row does not highlight when hovering buttons.
+ buttonHolder.setOnHoverListener((v, e) -> true);
+
+ int currentStroke = getPreferenceDataStore().getInt(Settings.System.POINTER_STROKE_STYLE,
+ POINTER_ICON_VECTOR_STYLE_STROKE_WHITE);
+ initRadioButton(holder, R.id.stroke_style_white, POINTER_ICON_VECTOR_STYLE_STROKE_WHITE,
+ currentStroke);
+ initRadioButton(holder, R.id.stroke_style_black, POINTER_ICON_VECTOR_STYLE_STROKE_BLACK,
+ currentStroke);
+ initRadioButton(holder, R.id.stroke_style_none, POINTER_ICON_VECTOR_STYLE_STROKE_NONE,
+ currentStroke);
+ }
+
+ private void initRadioButton(@NonNull PreferenceViewHolder holder, int id, int strokeStyle,
+ int currentStroke) {
+ RadioButton radioButton = (RadioButton) holder.findViewById(id);
+ if (radioButton == null) {
+ return;
+ }
+ radioButton.setOnCheckedChangeListener((v, isChecked) -> {
+ if (isChecked) {
+ getPreferenceDataStore().putInt(Settings.System.POINTER_STROKE_STYLE, strokeStyle);
+ }
+ });
+ radioButton.setChecked(currentStroke == strokeStyle);
+ radioButton.setPointerIcon(PointerIcon.getSystemIcon(getContext(), PointerIcon.TYPE_ARROW));
+ }
+}
diff --git a/src/com/android/settings/inputmethod/PointerStrokeStylePreferenceController.java b/src/com/android/settings/inputmethod/PointerStrokeStylePreferenceController.java
new file mode 100644
index 0000000..e4ea996
--- /dev/null
+++ b/src/com/android/settings/inputmethod/PointerStrokeStylePreferenceController.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.inputmethod;
+
+import android.content.Context;
+import android.os.UserHandle;
+import android.provider.Settings;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceDataStore;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.BasePreferenceController;
+
+public class PointerStrokeStylePreferenceController extends BasePreferenceController {
+
+ @VisibleForTesting
+ static final String KEY_POINTER_STROKE_STYLE = "pointer_stroke_style";
+
+ public PointerStrokeStylePreferenceController(@NonNull Context context) {
+ super(context, KEY_POINTER_STROKE_STYLE);
+ }
+
+ @AvailabilityStatus
+ public int getAvailabilityStatus() {
+ return android.view.flags.Flags.enableVectorCursorA11ySettings() ? AVAILABLE
+ : CONDITIONALLY_UNAVAILABLE;
+ }
+
+ @Override
+ public void displayPreference(@NonNull PreferenceScreen screen) {
+ super.displayPreference(screen);
+ Preference pointerStrokeStylePreference = screen.findPreference(KEY_POINTER_STROKE_STYLE);
+ if (pointerStrokeStylePreference == null) {
+ return;
+ }
+ pointerStrokeStylePreference.setPreferenceDataStore(new PreferenceDataStore() {
+ @Override
+ public void putInt(@NonNull String key, int value) {
+ Settings.System.putIntForUser(mContext.getContentResolver(), key, value,
+ UserHandle.USER_CURRENT);
+ }
+
+ @Override
+ public int getInt(@NonNull String key, int defValue) {
+ return Settings.System.getIntForUser(mContext.getContentResolver(), key, defValue,
+ UserHandle.USER_CURRENT);
+ }
+ });
+ }
+}
diff --git a/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java b/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java
index 648a3e6..245901e 100644
--- a/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java
@@ -16,8 +16,11 @@
package com.android.settings.inputmethod;
+import static com.android.systemui.shared.Flags.newTouchpadGesturesTutorial;
+
import android.app.settings.SettingsEnums;
import android.content.Context;
+import android.content.Intent;
import android.util.FeatureFlagUtils;
import androidx.fragment.app.Fragment;
@@ -34,6 +37,7 @@
private static final int ORDER_BOTTOM = 100;
private static final String PREFERENCE_KEY = "trackpad_touch_gesture";
private static final String GESTURE_DIALOG_TAG = "GESTURE_DIALOG_TAG";
+ private static final String TUTORIAL_ACTION = "com.android.systemui.action.TOUCHPAD_TUTORIAL";
private Fragment mParent;
private MetricsFeatureProvider mMetricsFeatureProvider;
@@ -73,8 +77,15 @@
private void showTouchpadGestureEducation() {
mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_LEARN_TOUCHPAD_GESTURE_CLICK);
- TrackpadGestureDialogFragment fragment = new TrackpadGestureDialogFragment();
- fragment.setTargetFragment(mParent, 0);
- fragment.show(mParent.getActivity().getSupportFragmentManager(), GESTURE_DIALOG_TAG);
+ if (newTouchpadGesturesTutorial()) {
+ Intent intent = new Intent(TUTORIAL_ACTION);
+ intent.addCategory(Intent.CATEGORY_DEFAULT);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ mContext.startActivity(intent);
+ } else {
+ TrackpadGestureDialogFragment fragment = new TrackpadGestureDialogFragment();
+ fragment.setTargetFragment(mParent, 0);
+ fragment.show(mParent.getActivity().getSupportFragmentManager(), GESTURE_DIALOG_TAG);
+ }
}
}
diff --git a/src/com/android/settings/inputmethod/TrackpadSettings.java b/src/com/android/settings/inputmethod/TrackpadSettings.java
index 4955933..dca418a 100644
--- a/src/com/android/settings/inputmethod/TrackpadSettings.java
+++ b/src/com/android/settings/inputmethod/TrackpadSettings.java
@@ -56,7 +56,8 @@
@Override
protected boolean isPageSearchEnabled(Context context) {
return FeatureFlagUtils
- .isEnabled(context, FeatureFlagUtils.SETTINGS_NEW_KEYBOARD_TRACKPAD);
+ .isEnabled(context, FeatureFlagUtils.SETTINGS_NEW_KEYBOARD_TRACKPAD)
+ && NewKeyboardSettingsUtils.isTouchpad();
}
};
}
diff --git a/src/com/android/settings/inputmethod/TrackpadTouchGestureSettings.java b/src/com/android/settings/inputmethod/TrackpadTouchGestureSettings.java
index 9a4b90f..a6af3f6 100644
--- a/src/com/android/settings/inputmethod/TrackpadTouchGestureSettings.java
+++ b/src/com/android/settings/inputmethod/TrackpadTouchGestureSettings.java
@@ -58,7 +58,8 @@
return FeatureFlagUtils
.isEnabled(
context,
- FeatureFlagUtils.SETTINGS_NEW_KEYBOARD_TRACKPAD_GESTURE);
+ FeatureFlagUtils.SETTINGS_NEW_KEYBOARD_TRACKPAD_GESTURE)
+ && NewKeyboardSettingsUtils.isTouchpad();
}
};
}
diff --git a/src/com/android/settings/inputmethod/TrackpadTouchGestureSettingsController.java b/src/com/android/settings/inputmethod/TrackpadTouchGestureSettingsController.java
index 8f04aee..7949727 100644
--- a/src/com/android/settings/inputmethod/TrackpadTouchGestureSettingsController.java
+++ b/src/com/android/settings/inputmethod/TrackpadTouchGestureSettingsController.java
@@ -31,6 +31,7 @@
public int getAvailabilityStatus() {
boolean isFeatureOn = FeatureFlagUtils
.isEnabled(mContext, FeatureFlagUtils.SETTINGS_NEW_KEYBOARD_TRACKPAD_GESTURE);
- return isFeatureOn ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+ boolean isTouchpad = NewKeyboardSettingsUtils.isTouchpad();
+ return (isFeatureOn && isTouchpad) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
}
}
diff --git a/src/com/android/settings/network/MobileDataEnabledFlow.kt b/src/com/android/settings/network/MobileDataEnabledFlow.kt
deleted file mode 100644
index 1f995a9..0000000
--- a/src/com/android/settings/network/MobileDataEnabledFlow.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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.settings.network
-
-import android.content.Context
-import android.provider.Settings
-import android.telephony.SubscriptionManager
-import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalChangeFlow
-import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.merge
-
-/**
- * Flow for mobile data enabled changed event.
- *
- * Note: This flow can only notify enabled status changes, cannot provide the latest status.
- */
-fun Context.mobileDataEnabledFlow(subId: Int, sendInitialValue: Boolean = true): Flow<Unit> {
- val flow = settingsGlobalChangeFlow(Settings.Global.MOBILE_DATA, sendInitialValue)
- return when (subId) {
- SubscriptionManager.INVALID_SUBSCRIPTION_ID -> flow
- else -> {
- val subIdFlow = settingsGlobalChangeFlow(
- name = Settings.Global.MOBILE_DATA + subId,
- sendInitialValue = false,
- )
- merge(flow, subIdFlow)
- }
- }
-}
diff --git a/src/com/android/settings/network/MobileNetworkRepository.java b/src/com/android/settings/network/MobileNetworkRepository.java
index 8ee5389..9901929 100644
--- a/src/com/android/settings/network/MobileNetworkRepository.java
+++ b/src/com/android/settings/network/MobileNetworkRepository.java
@@ -41,7 +41,6 @@
import androidx.lifecycle.LifecycleOwner;
import com.android.internal.telephony.flags.Flags;
-import com.android.settings.network.telephony.MobileNetworkUtils;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.mobile.dataservice.MobileNetworkDatabase;
@@ -49,7 +48,6 @@
import com.android.settingslib.mobile.dataservice.MobileNetworkInfoEntity;
import com.android.settingslib.mobile.dataservice.SubscriptionInfoDao;
import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
-import com.android.settingslib.mobile.dataservice.UiccInfoDao;
import com.android.settingslib.mobile.dataservice.UiccInfoEntity;
import java.util.ArrayList;
@@ -81,15 +79,11 @@
private SubscriptionManager mSubscriptionManager;
private MobileNetworkDatabase mMobileNetworkDatabase;
private SubscriptionInfoDao mSubscriptionInfoDao;
- private UiccInfoDao mUiccInfoDao;
private MobileNetworkInfoDao mMobileNetworkInfoDao;
private List<SubscriptionInfoEntity> mAvailableSubInfoEntityList = new ArrayList<>();
private List<SubscriptionInfoEntity> mActiveSubInfoEntityList = new ArrayList<>();
- private List<UiccInfoEntity> mUiccInfoEntityList = new ArrayList<>();
- private List<MobileNetworkInfoEntity> mMobileNetworkInfoEntityList = new ArrayList<>();
private Context mContext;
private AirplaneModeObserver mAirplaneModeObserver;
- private DataRoamingObserver mDataRoamingObserver;
private MetricsFeatureProvider mMetricsFeatureProvider;
private int mPhysicalSlotIndex = SubscriptionManager.INVALID_SIM_SLOT_INDEX;
private int mLogicalSlotIndex = SubscriptionManager.INVALID_SIM_SLOT_INDEX;
@@ -124,10 +118,8 @@
mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_MOBILE_NETWORK_DB_CREATED);
mSubscriptionManager = context.getSystemService(SubscriptionManager.class);
mSubscriptionInfoDao = mMobileNetworkDatabase.mSubscriptionInfoDao();
- mUiccInfoDao = mMobileNetworkDatabase.mUiccInfoDao();
mMobileNetworkInfoDao = mMobileNetworkDatabase.mMobileNetworkInfoDao();
mAirplaneModeObserver = new AirplaneModeObserver(new Handler(Looper.getMainLooper()));
- mDataRoamingObserver = new DataRoamingObserver(new Handler(Looper.getMainLooper()));
}
private class AirplaneModeObserver extends ContentObserver {
@@ -158,47 +150,6 @@
}
}
- private class DataRoamingObserver extends ContentObserver {
- private int mRegSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
- private String mBaseField = Settings.Global.DATA_ROAMING;
-
- DataRoamingObserver(Handler handler) {
- super(handler);
- }
-
- public void register(Context context, int subId) {
- mRegSubId = subId;
- String lastField = mBaseField;
- createTelephonyManagerBySubId(subId);
- TelephonyManager tm = mTelephonyManagerMap.get(subId);
- if (tm.getSimCount() != 1) {
- lastField += subId;
- }
- context.getContentResolver().registerContentObserver(
- Settings.Global.getUriFor(lastField), false, this);
- }
-
- public void unRegister(Context context) {
- context.getContentResolver().unregisterContentObserver(this);
- }
-
- @Override
- public void onChange(boolean selfChange, Uri uri) {
- TelephonyManager tm = mTelephonyManagerMap.get(mRegSubId);
- if (tm == null) {
- return;
- }
- sExecutor.execute(() -> {
- Log.d(TAG, "DataRoamingObserver changed");
- insertMobileNetworkInfo(mContext, mRegSubId, tm);
- });
- boolean isDataRoamingEnabled = tm.isDataRoamingEnabled();
- for (MobileNetworkCallback callback : sCallbacks) {
- callback.onDataRoamingChanged(mRegSubId, isDataRoamingEnabled);
- }
- }
- }
-
/**
* Register all callbacks and listener.
*
@@ -224,7 +175,6 @@
observeAllMobileNetworkInfo(lifecycleOwner);
if (subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
createTelephonyManagerBySubId(subId);
- mDataRoamingObserver.register(mContext, subId);
}
// When one client registers callback first time, convey the cached results to the client
// so that the client is aware of the content therein.
@@ -288,7 +238,6 @@
if (sCallbacks.isEmpty()) {
mSubscriptionManager.removeOnSubscriptionsChangedListener(this);
mAirplaneModeObserver.unRegister(mContext);
- mDataRoamingObserver.unRegister(mContext);
mTelephonyManagerMap.forEach((id, manager) -> {
TelephonyCallback callback = mTelephonyCallbackMap.get(id);
@@ -338,22 +287,6 @@
lifecycleOwner, this::onAllMobileNetworkInfoChanged);
}
- public List<SubscriptionInfoEntity> getAvailableSubInfoEntityList() {
- return mAvailableSubInfoEntityList;
- }
-
- public List<SubscriptionInfoEntity> getActiveSubscriptionInfoList() {
- return mActiveSubInfoEntityList;
- }
-
- public List<UiccInfoEntity> getUiccInfoEntityList() {
- return mUiccInfoEntityList;
- }
-
- public List<MobileNetworkInfoEntity> getMobileNetworkInfoEntityList() {
- return mMobileNetworkInfoEntityList;
- }
-
public SubscriptionInfoEntity getSubInfoById(String subId) {
return mSubscriptionInfoDao.querySubInfoById(subId);
}
@@ -464,7 +397,6 @@
}
private void onAllUiccInfoChanged(List<UiccInfoEntity> uiccInfoEntityList) {
- mUiccInfoEntityList = new ArrayList<>(uiccInfoEntityList);
for (MobileNetworkCallback callback : sCallbacks) {
callback.onAllUiccInfoChanged(uiccInfoEntityList);
}
@@ -474,7 +406,6 @@
private void onAllMobileNetworkInfoChanged(
List<MobileNetworkInfoEntity> mobileNetworkInfoEntityList) {
- mMobileNetworkInfoEntityList = new ArrayList<>(mobileNetworkInfoEntityList);
for (MobileNetworkCallback callback : sCallbacks) {
callback.onAllMobileNetworkInfoChanged(mobileNetworkInfoEntityList);
}
@@ -503,7 +434,7 @@
mMetricsFeatureProvider.action(mContext,
SettingsEnums.ACTION_MOBILE_NETWORK_DB_INSERT_SUB_INFO, subId);
insertUiccInfo(subId, telephonyManager);
- insertMobileNetworkInfo(context, subId, telephonyManager);
+ insertMobileNetworkInfo(subId, telephonyManager);
}
} else if (DEBUG) {
Log.d(TAG, "Can not insert subInfo, the entity is null");
@@ -515,8 +446,6 @@
mMobileNetworkDatabase.deleteSubInfoBySubId(subId);
mMobileNetworkDatabase.deleteUiccInfoBySubId(subId);
mMobileNetworkDatabase.deleteMobileNetworkInfoBySubId(subId);
- mUiccInfoEntityList.removeIf(info -> info.subId.equals(subId));
- mMobileNetworkInfoEntityList.removeIf(info -> info.subId.equals(subId));
int id = Integer.parseInt(subId);
removerRegisterBySubId(id);
mSubscriptionInfoMap.remove(id);
@@ -545,30 +474,16 @@
return null;
} else {
getUiccInfoBySubscriptionInfo(uiccSlotInfos, subInfo);
- SubscriptionInfo firstRemovableSubInfo = SubscriptionUtil.getFirstRemovableSubscription(
- context);
if (DEBUG) {
Log.d(TAG, "convert subscriptionInfo to entity for subId = " + subId);
}
- return new SubscriptionInfoEntity(String.valueOf(subId),
- subInfo.getSimSlotIndex(),
- subInfo.getCarrierId(), subInfo.getDisplayName().toString(),
- subInfo.getCarrierName() != null ? subInfo.getCarrierName().toString() : "",
- subInfo.getDataRoaming(), subInfo.getMccString(), subInfo.getMncString(),
- subInfo.getCountryIso(), subInfo.isEmbedded(), mCardId,
- subInfo.getPortIndex(), subInfo.isOpportunistic(),
- String.valueOf(subInfo.getGroupUuid()),
- subInfo.getSubscriptionType(),
+ return new SubscriptionInfoEntity(String.valueOf(subId), subInfo.getSimSlotIndex(),
+ subInfo.isEmbedded(), subInfo.isOpportunistic(),
SubscriptionUtil.getUniqueSubscriptionDisplayName(subInfo, context).toString(),
SubscriptionUtil.isSubscriptionVisible(mSubscriptionManager, context, subInfo),
- SubscriptionUtil.getFormattedPhoneNumber(context, subInfo),
- firstRemovableSubInfo == null ? false
- : firstRemovableSubInfo.getSubscriptionId() == subId,
SubscriptionUtil.isDefaultSubscription(context, subId),
mSubscriptionManager.isValidSubscriptionId(subId),
- mSubscriptionManager.isUsableSubscriptionId(subId),
mSubscriptionManager.isActiveSubscriptionId(subId),
- true /*availableSubInfo*/,
mSubscriptionManager.getActiveDataSubscriptionId() == subId);
}
}
@@ -587,20 +502,13 @@
}
}
- private void insertMobileNetworkInfo(Context context, int subId,
- TelephonyManager telephonyManager) {
- MobileNetworkInfoEntity mobileNetworkInfoEntity = convertToMobileNetworkInfoEntity(context,
- subId, telephonyManager);
-
+ private void insertMobileNetworkInfo(int subId, TelephonyManager telephonyManager) {
+ MobileNetworkInfoEntity mobileNetworkInfoEntity =
+ convertToMobileNetworkInfoEntity(subId, telephonyManager);
Log.d(TAG, "insertMobileNetworkInfo, mobileNetworkInfoEntity = "
+ mobileNetworkInfoEntity);
-
- if (mobileNetworkInfoEntity == null) {
- return;
- }
-
if (!sCacheMobileNetworkInfoEntityMap.containsKey(subId)
|| !sCacheMobileNetworkInfoEntityMap.get(subId).equals(mobileNetworkInfoEntity)) {
sCacheMobileNetworkInfoEntityMap.put(subId, mobileNetworkInfoEntity);
@@ -610,29 +518,17 @@
}
}
- private MobileNetworkInfoEntity convertToMobileNetworkInfoEntity(Context context, int subId,
+ private MobileNetworkInfoEntity convertToMobileNetworkInfoEntity(int subId,
TelephonyManager telephonyManager) {
boolean isDataEnabled = false;
- boolean isDataRoamingEnabled = false;
if (telephonyManager != null) {
isDataEnabled = telephonyManager.isDataEnabled();
- isDataRoamingEnabled = telephonyManager.isDataRoamingEnabled();
} else {
Log.d(TAG, "TelephonyManager is null, subId = " + subId);
}
- return new MobileNetworkInfoEntity(String.valueOf(subId),
- MobileNetworkUtils.isContactDiscoveryEnabled(context, subId),
- MobileNetworkUtils.isContactDiscoveryVisible(context, subId),
- isDataEnabled,
- MobileNetworkUtils.isCdmaOptions(context, subId),
- MobileNetworkUtils.isGsmOptions(context, subId),
- MobileNetworkUtils.isWorldMode(context, subId),
- MobileNetworkUtils.shouldDisplayNetworkSelectOptions(context, subId),
- MobileNetworkUtils.isTdscdmaSupported(context, subId),
- MobileNetworkUtils.activeNetworkIsCellular(context),
- SubscriptionUtil.showToggleForPhysicalSim(mSubscriptionManager),
- isDataRoamingEnabled
+ return new MobileNetworkInfoEntity(String.valueOf(subId), isDataEnabled,
+ SubscriptionUtil.showToggleForPhysicalSim(mSubscriptionManager)
);
}
@@ -741,7 +637,6 @@
}
private class PhoneCallStateTelephonyCallback extends TelephonyCallback implements
- TelephonyCallback.CallStateListener,
TelephonyCallback.UserMobileDataStateListener {
private int mSubId;
@@ -751,18 +646,10 @@
}
@Override
- public void onCallStateChanged(int state) {
- for (MobileNetworkCallback callback : sCallbacks) {
- callback.onCallStateChanged(state);
- }
- }
-
- @Override
public void onUserMobileDataStateChanged(boolean enabled) {
Log.d(TAG, "onUserMobileDataStateChanged enabled " + enabled + " on SUB " + mSubId);
sExecutor.execute(() -> {
- insertMobileNetworkInfo(mContext, mSubId,
- getTelephonyManagerBySubId(mContext, mSubId));
+ insertMobileNetworkInfo(mSubId, getTelephonyManagerBySubId(mContext, mSubId));
});
}
}
@@ -787,15 +674,6 @@
default void onAirplaneModeChanged(boolean enabled) {
}
-
- /**
- * Notify clients data roaming changed of subscription.
- */
- default void onDataRoamingChanged(int subId, boolean enabled) {
- }
-
- default void onCallStateChanged(int state) {
- }
}
public void dump(IndentingPrintWriter printwriter) {
@@ -803,8 +681,6 @@
printwriter.increaseIndent();
printwriter.println(" availableSubInfoEntityList= " + mAvailableSubInfoEntityList);
printwriter.println(" activeSubInfoEntityList=" + mActiveSubInfoEntityList);
- printwriter.println(" mobileNetworkInfoEntityList= " + mMobileNetworkInfoEntityList);
- printwriter.println(" uiccInfoEntityList= " + mUiccInfoEntityList);
printwriter.println(" CacheSubscriptionInfoEntityMap= " + sCacheSubscriptionInfoEntityMap);
printwriter.println(" SubscriptionInfoMap= " + mSubscriptionInfoMap);
printwriter.flush();
diff --git a/src/com/android/settings/network/NetworkProviderSettings.java b/src/com/android/settings/network/NetworkProviderSettings.java
index a4193f8..0fcfcb5 100644
--- a/src/com/android/settings/network/NetworkProviderSettings.java
+++ b/src/com/android/settings/network/NetworkProviderSettings.java
@@ -36,6 +36,7 @@
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
+import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.EventLog;
@@ -370,7 +371,7 @@
mDataUsagePreference = findPreference(PREF_KEY_DATA_USAGE);
mDataUsagePreference.setVisible(DataUsageUtils.hasWifiRadio(getContext()));
mDataUsagePreference.setTemplate(new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI)
- .build(), 0 /*subId*/);
+ .build(), SubscriptionManager.INVALID_SUBSCRIPTION_ID);
mResetInternetPreference = findPreference(PREF_KEY_RESET_INTERNET);
if (mResetInternetPreference != null) {
mResetInternetPreference.setVisible(false);
diff --git a/src/com/android/settings/network/ResetNetworkOperationBuilder.java b/src/com/android/settings/network/ResetNetworkOperationBuilder.java
index 6f36074..dfcca52 100644
--- a/src/com/android/settings/network/ResetNetworkOperationBuilder.java
+++ b/src/com/android/settings/network/ResetNetworkOperationBuilder.java
@@ -18,6 +18,7 @@
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothManager;
+import android.content.ContentProviderClient;
import android.content.ContentResolver;
import android.content.Context;
import android.net.ConnectivityManager;
@@ -28,11 +29,14 @@
import android.net.wifi.p2p.WifiP2pManager;
import android.os.Looper;
import android.os.RecoverySystem;
+import android.os.RemoteException;
import android.os.SystemClock;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.util.Log;
+import androidx.annotation.Nullable;
+
import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R;
import com.android.settings.ResetNetworkRequest;
@@ -61,6 +65,8 @@
private Context mContext;
private List<Runnable> mResetSequence = new ArrayList<Runnable>();
+ @Nullable
+ private Consumer<Boolean> mResetEsimResultCallback = null;
/**
* Constructor of builder.
@@ -125,31 +131,32 @@
}
/**
- * Append a step of resetting E-SIM.
- * @param callerPackage package name of caller
+ * Append a result callback of resetting E-SIM.
+ * @param resultCallback a callback dealing with result of resetting eSIM
* @return this
*/
- public ResetNetworkOperationBuilder resetEsim(String callerPackage) {
- resetEsim(callerPackage, null);
+ public ResetNetworkOperationBuilder resetEsimResultCallback(Consumer<Boolean> resultCallback) {
+ mResetEsimResultCallback = resultCallback;
return this;
}
/**
* Append a step of resetting E-SIM.
* @param callerPackage package name of caller
- * @param resultCallback a Consumer<Boolean> dealing with result of resetting eSIM
* @return this
*/
- public ResetNetworkOperationBuilder resetEsim(String callerPackage,
- Consumer<Boolean> resultCallback) {
+ public ResetNetworkOperationBuilder resetEsim(String callerPackage) {
Runnable runnable = () -> {
long startTime = SystemClock.elapsedRealtime();
- if (!DRY_RUN) {
- Boolean wipped = RecoverySystem.wipeEuiccData(mContext, callerPackage);
- if (resultCallback != null) {
- resultCallback.accept(wipped);
- }
+ boolean wipped;
+ if (DRY_RUN) {
+ wipped = true;
+ } else {
+ wipped = RecoverySystem.wipeEuiccData(mContext, callerPackage);
+ }
+ if (mResetEsimResultCallback != null) {
+ mResetEsimResultCallback.accept(wipped);
}
long endTime = SystemClock.elapsedRealtime();
@@ -257,15 +264,15 @@
*/
public ResetNetworkOperationBuilder restartPhoneProcess() {
Runnable runnable = () -> {
- try {
- mContext.getContentResolver().call(
- getResetTelephonyContentProviderAuthority(),
- METHOD_RESTART_PHONE_PROCESS,
- /* arg= */ null,
- /* extras= */ null);
- Log.i(TAG, "Phone process was restarted.");
- } catch (IllegalArgumentException iae) {
- Log.w(TAG, "Fail to restart phone process: " + iae);
+ // Unstable content provider can avoid us getting killed together with phone process
+ try (ContentProviderClient client = getUnstableTelephonyContentProviderClient()) {
+ if (client != null) {
+ client.call(METHOD_RESTART_PHONE_PROCESS, /* arg= */ null, /* extra= */ null);
+ Log.i(TAG, "Phone process was restarted.");
+ }
+ } catch (RemoteException re) {
+ // It's normal to throw RE since phone process immediately dies
+ Log.i(TAG, "Phone process has been restarted: " + re);
}
};
mResetSequence.add(runnable);
@@ -279,15 +286,13 @@
*/
public ResetNetworkOperationBuilder restartRild() {
Runnable runnable = () -> {
- try {
- mContext.getContentResolver().call(
- getResetTelephonyContentProviderAuthority(),
- METHOD_RESTART_RILD,
- /* arg= */ null,
- /* extras= */ null);
- Log.i(TAG, "RILD was restarted.");
- } catch (IllegalArgumentException iae) {
- Log.w(TAG, "Fail to restart RILD: " + iae);
+ try (ContentProviderClient client = getUnstableTelephonyContentProviderClient()) {
+ if (client != null) {
+ client.call(METHOD_RESTART_RILD, /* arg= */ null, /* extra= */ null);
+ Log.i(TAG, "RILD was restarted.");
+ }
+ } catch (RemoteException re) {
+ Log.w(TAG, "Fail to restart RILD: " + re);
}
};
mResetSequence.add(runnable);
@@ -322,9 +327,18 @@
* @return the authority of the telephony content provider that support methods
* resetPhoneProcess and resetRild.
*/
- @VisibleForTesting
- String getResetTelephonyContentProviderAuthority() {
+ private String getResetTelephonyContentProviderAuthority() {
return mContext.getResources().getString(
R.string.reset_telephony_stack_content_provider_authority);
}
+
+ /**
+ * @return the unstable content provider to avoid us getting killed with phone process
+ */
+ @Nullable
+ @VisibleForTesting
+ public ContentProviderClient getUnstableTelephonyContentProviderClient() {
+ return mContext.getContentResolver().acquireUnstableContentProviderClient(
+ getResetTelephonyContentProviderAuthority());
+ }
}
diff --git a/src/com/android/settings/network/SimOnboardingService.kt b/src/com/android/settings/network/SimOnboardingService.kt
index f6c6065..ea0b5ac 100644
--- a/src/com/android/settings/network/SimOnboardingService.kt
+++ b/src/com/android/settings/network/SimOnboardingService.kt
@@ -27,9 +27,8 @@
import android.telephony.UiccSlotInfo
import android.util.Log
import com.android.settings.network.SimOnboardingActivity.Companion.CallbackType
-import com.android.settings.network.telephony.TelephonyRepository
+import com.android.settings.network.telephony.MobileDataRepository
import com.android.settings.sim.SimActivationNotifier
-import com.android.settings.spa.network.setAutomaticData
import com.android.settings.spa.network.setDefaultData
import com.android.settings.spa.network.setDefaultSms
import com.android.settings.spa.network.setDefaultVoice
@@ -366,7 +365,7 @@
wifiPickerTrackerHelper,
targetPrimarySimMobileData
)
- TelephonyRepository(context).setAutomaticData(
+ MobileDataRepository(context).setAutoDataSwitch(
targetNonDds,
targetPrimarySimAutoDataSwitch.value
)
diff --git a/src/com/android/settings/network/apn/ApnPreference.java b/src/com/android/settings/network/apn/ApnPreference.java
index 879fcb6..55258c1 100644
--- a/src/com/android/settings/network/apn/ApnPreference.java
+++ b/src/com/android/settings/network/apn/ApnPreference.java
@@ -85,10 +85,11 @@
final RelativeLayout textArea = (RelativeLayout) view.findViewById(R.id.text_layout);
textArea.setOnClickListener(this);
+ final View radioButtonFrame = view.itemView.requireViewById(R.id.apn_radio_button_frame);
final RadioButton rb = view.itemView.requireViewById(R.id.apn_radiobutton);
mRadioButton = rb;
if (mDefaultSelectable) {
- view.itemView.requireViewById(R.id.apn_radio_button_frame).setOnClickListener((v) -> {
+ radioButtonFrame.setOnClickListener((v) -> {
rb.performClick();
});
rb.setOnCheckedChangeListener(this);
@@ -96,9 +97,9 @@
mProtectFromCheckedChange = true;
rb.setChecked(mIsChecked);
mProtectFromCheckedChange = false;
- rb.setVisibility(View.VISIBLE);
+ radioButtonFrame.setVisibility(View.VISIBLE);
} else {
- rb.setVisibility(View.GONE);
+ radioButtonFrame.setVisibility(View.GONE);
}
}
diff --git a/src/com/android/settings/network/telephony/CallStateRepository.kt b/src/com/android/settings/network/telephony/CallStateRepository.kt
index 4b6cdc8..e5a21bf 100644
--- a/src/com/android/settings/network/telephony/CallStateRepository.kt
+++ b/src/com/android/settings/network/telephony/CallStateRepository.kt
@@ -25,14 +25,17 @@
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.conflate
+import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.flatMapLatest
import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.flow.flowOn
import kotlinx.coroutines.flow.onEach
@OptIn(ExperimentalCoroutinesApi::class)
-class CallStateRepository(private val context: Context) {
- private val subscriptionManager = context.requireSubscriptionManager()
+class CallStateRepository(
+ private val context: Context,
+ private val subscriptionRepository: SubscriptionRepository = SubscriptionRepository(context),
+) {
/** Flow for call state of given [subId]. */
fun callStateFlow(subId: Int): Flow<Int> = context.telephonyCallbackFlow(subId) {
@@ -48,9 +51,8 @@
*
* @return true if any active subscription's call state is not idle.
*/
- fun isInCallFlow(): Flow<Boolean> = context.subscriptionsChangedFlow()
- .flatMapLatest {
- val subIds = subscriptionManager.activeSubscriptionIdList
+ fun isInCallFlow(): Flow<Boolean> = subscriptionRepository.activeSubscriptionIdListFlow()
+ .flatMapLatest { subIds ->
if (subIds.isEmpty()) {
flowOf(false)
} else {
@@ -59,9 +61,10 @@
}
}
}
+ .distinctUntilChanged()
.conflate()
- .flowOn(Dispatchers.Default)
.onEach { Log.d(TAG, "isInCallFlow: $it") }
+ .flowOn(Dispatchers.Default)
private companion object {
private const val TAG = "CallStateRepository"
diff --git a/src/com/android/settings/network/telephony/CarrierConfigManagerExt.kt b/src/com/android/settings/network/telephony/CarrierConfigManagerExt.kt
index 05b4c07..5408ab0 100644
--- a/src/com/android/settings/network/telephony/CarrierConfigManagerExt.kt
+++ b/src/com/android/settings/network/telephony/CarrierConfigManagerExt.kt
@@ -24,6 +24,7 @@
/**
* Gets the configuration values of the specified config keys applied.
*/
+@Deprecated("Use CarrierConfigRepository instead")
fun CarrierConfigManager.safeGetConfig(
keys: List<String>,
subId: Int = SubscriptionManager.getDefaultSubscriptionId(),
diff --git a/src/com/android/settings/network/telephony/CarrierConfigRepository.kt b/src/com/android/settings/network/telephony/CarrierConfigRepository.kt
new file mode 100644
index 0000000..3ec529d
--- /dev/null
+++ b/src/com/android/settings/network/telephony/CarrierConfigRepository.kt
@@ -0,0 +1,217 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.network.telephony
+
+import android.content.Context
+import android.os.PersistableBundle
+import android.telephony.CarrierConfigManager
+import android.telephony.SubscriptionManager
+import android.util.Log
+import androidx.annotation.VisibleForTesting
+import java.util.concurrent.ConcurrentHashMap
+import kotlinx.atomicfu.atomic
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.asExecutor
+
+class CarrierConfigRepository(private val context: Context) {
+
+ private val carrierConfigManager: CarrierConfigManager? =
+ context.getSystemService(CarrierConfigManager::class.java)
+
+ private enum class KeyType {
+ BOOLEAN,
+ INT,
+ STRING
+ }
+
+ interface CarrierConfigAccessor {
+ fun getBoolean(key: String): Boolean
+
+ fun getInt(key: String): Int
+
+ fun getString(key: String): String?
+ }
+
+ private class Accessor(private val cache: ConfigCache) : CarrierConfigAccessor {
+ private val keysToRetrieve = mutableMapOf<String, KeyType>()
+
+ override fun getBoolean(key: String): Boolean {
+ check(key.endsWith("_bool")) { "Boolean key should ends with _bool" }
+ val value = cache[key]
+ return if (value == null) {
+ keysToRetrieve += key to KeyType.BOOLEAN
+ DefaultConfig.getBoolean(key)
+ } else {
+ check(value is BooleanConfigValue) { "Boolean value type wrong" }
+ value.value
+ }
+ }
+
+ override fun getInt(key: String): Int {
+ check(key.endsWith("_int")) { "Int key should ends with _int" }
+ val value = cache[key]
+ return if (value == null) {
+ keysToRetrieve += key to KeyType.INT
+ DefaultConfig.getInt(key)
+ } else {
+ check(value is IntConfigValue) { "Int value type wrong" }
+ value.value
+ }
+ }
+
+ override fun getString(key: String): String? {
+ check(key.endsWith("_string")) { "String key should ends with _string" }
+ val value = cache[key]
+ return if (value == null) {
+ keysToRetrieve += key to KeyType.STRING
+ DefaultConfig.getString(key)
+ } else {
+ check(value is StringConfigValue) { "String value type wrong" }
+ value.value
+ }
+ }
+
+ fun getKeysToRetrieve(): Map<String, KeyType> = keysToRetrieve
+ }
+
+ /**
+ * Gets the configuration values for the given [subId].
+ *
+ * Configuration values could be accessed in [block]. Note: [block] could be called multiple
+ * times, so it should be pure function without side effort.
+ */
+ fun <T> transformConfig(subId: Int, block: CarrierConfigAccessor.() -> T): T {
+ val perSubCache = getPerSubCache(subId)
+ val accessor = Accessor(perSubCache)
+ val result = accessor.block()
+ val keysToRetrieve = accessor.getKeysToRetrieve()
+ // If all keys found in the first pass, no need to collect again
+ if (keysToRetrieve.isEmpty()) return result
+
+ perSubCache.update(subId, keysToRetrieve)
+
+ return accessor.block()
+ }
+
+ /** Gets the configuration boolean for the given [subId] and [key]. */
+ fun getBoolean(subId: Int, key: String): Boolean = transformConfig(subId) { getBoolean(key) }
+
+ /** Gets the configuration int for the given [subId] and [key]. */
+ fun getInt(subId: Int, key: String): Int = transformConfig(subId) { getInt(key) }
+
+ /** Gets the configuration string for the given [subId] and [key]. */
+ fun getString(subId: Int, key: String): String? = transformConfig(subId) { getString(key) }
+
+ private fun ConfigCache.update(subId: Int, keysToRetrieve: Map<String, KeyType>) {
+ val config = safeGetConfig(subId, keysToRetrieve.keys) ?: return
+ for ((key, type) in keysToRetrieve) {
+ when (type) {
+ KeyType.BOOLEAN -> this[key] = BooleanConfigValue(config.getBoolean(key))
+ KeyType.INT -> this[key] = IntConfigValue(config.getInt(key))
+ KeyType.STRING -> this[key] = StringConfigValue(config.getString(key))
+ }
+ }
+ }
+
+ /** Gets the configuration values of the specified config keys applied. */
+ private fun safeGetConfig(subId: Int, keys: Collection<String>): PersistableBundle? {
+ if (carrierConfigManager == null || !SubscriptionManager.isValidSubscriptionId(subId)) {
+ return null
+ }
+ tryRegisterListener(context)
+ return try {
+ carrierConfigManager.getConfigForSubId(subId, *keys.toTypedArray())
+ } catch (e: Exception) {
+ Log.e(TAG, "safeGetConfig: exception", e)
+ // The CarrierConfigLoader (the service implemented the CarrierConfigManager) hasn't
+ // been initialized yet. This may occurs during very early phase of phone booting up
+ // or when Phone process has been restarted.
+ // Settings should not assume Carrier config loader (and any other system services
+ // as well) are always available. If not available, use default value instead.
+ null
+ }
+ }
+
+ companion object {
+ private const val TAG = "CarrierConfigRepository"
+
+ private val DefaultConfig = CarrierConfigManager.getDefaultConfig()
+
+ /** Cache of config values for each subscription. */
+ private val Cache = ConcurrentHashMap<Int, ConfigCache>()
+
+ private fun getPerSubCache(subId: Int) =
+ Cache.computeIfAbsent(subId) { ConcurrentHashMap() }
+
+ /** To make sure the registerCarrierConfigChangeListener is only called once. */
+ private val ListenerRegistered = atomic(false)
+
+ private fun tryRegisterListener(context: Context) {
+ if (ListenerRegistered.compareAndSet(expect = false, update = true)) {
+ val carrierConfigManager =
+ context.applicationContext.getSystemService(CarrierConfigManager::class.java)
+ if (carrierConfigManager != null) {
+ carrierConfigManager.registerCarrierConfigChangeListener()
+ } else {
+ ListenerRegistered.getAndSet(false)
+ }
+ }
+ }
+
+ private fun CarrierConfigManager.registerCarrierConfigChangeListener() {
+ val executor = Dispatchers.Default.asExecutor()
+ registerCarrierConfigChangeListener(executor) { _, subId, _, _ ->
+ Log.d(TAG, "[$subId] onCarrierConfigChanged")
+ Cache.remove(subId)
+ }
+ }
+
+ @VisibleForTesting
+ fun resetForTest() {
+ Cache.clear()
+ ListenerRegistered.getAndSet(false)
+ }
+
+ @VisibleForTesting
+ fun setBooleanForTest(subId: Int, key: String, value: Boolean) {
+ check(key.endsWith("_bool")) { "Boolean key should ends with _bool" }
+ getPerSubCache(subId)[key] = BooleanConfigValue(value)
+ }
+
+ @VisibleForTesting
+ fun setIntForTest(subId: Int, key: String, value: Int) {
+ check(key.endsWith("_int")) { "Int key should ends with _int" }
+ getPerSubCache(subId)[key] = IntConfigValue(value)
+ }
+
+ @VisibleForTesting
+ fun setStringForTest(subId: Int, key: String, value: String) {
+ check(key.endsWith("_string")) { "String key should ends with _string" }
+ getPerSubCache(subId)[key] = StringConfigValue(value)
+ }
+ }
+}
+
+private sealed interface ConfigValue
+
+private data class BooleanConfigValue(val value: Boolean) : ConfigValue
+
+private data class IntConfigValue(val value: Int) : ConfigValue
+
+private data class StringConfigValue(val value: String?) : ConfigValue
+
+private typealias ConfigCache = ConcurrentHashMap<String, ConfigValue>
diff --git a/src/com/android/settings/network/telephony/MmsMessagePreferenceController.kt b/src/com/android/settings/network/telephony/MmsMessagePreferenceController.kt
index e14d5f8..445597f 100644
--- a/src/com/android/settings/network/telephony/MmsMessagePreferenceController.kt
+++ b/src/com/android/settings/network/telephony/MmsMessagePreferenceController.kt
@@ -22,7 +22,6 @@
import android.telephony.data.ApnSetting
import androidx.lifecycle.LifecycleOwner
import androidx.preference.PreferenceScreen
-import com.android.settings.network.mobileDataEnabledFlow
import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
import kotlinx.coroutines.flow.combine
@@ -71,7 +70,7 @@
override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
combine(
- mContext.mobileDataEnabledFlow(mSubId),
+ MobileDataRepository(mContext).mobileDataEnabledChangedFlow(mSubId),
mContext.subscriptionsChangedFlow(), // Capture isMobileDataPolicyEnabled() changes
) { _, _ -> }.collectLatestWithLifecycle(viewLifecycleOwner) {
preferenceScreen?.let { super.displayPreference(it) }
diff --git a/src/com/android/settings/network/telephony/MobileDataRepository.kt b/src/com/android/settings/network/telephony/MobileDataRepository.kt
new file mode 100644
index 0000000..5a0dff7
--- /dev/null
+++ b/src/com/android/settings/network/telephony/MobileDataRepository.kt
@@ -0,0 +1,136 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.network.telephony
+
+import android.content.Context
+import android.provider.Settings
+import android.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+import android.telephony.TelephonyManager.MobileDataPolicy
+import android.util.Log
+import com.android.settings.wifi.WifiPickerTrackerHelper
+import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalChangeFlow
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.catch
+import kotlinx.coroutines.flow.conflate
+import kotlinx.coroutines.flow.distinctUntilChanged
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.flow.flowOn
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.merge
+import kotlinx.coroutines.flow.onEach
+
+class MobileDataRepository(
+ private val context: Context,
+ private val subscriptionsChangedFlow: Flow<Unit> = context.subscriptionsChangedFlow(),
+) {
+ fun isMobileDataPolicyEnabledFlow(subId: Int, @MobileDataPolicy policy: Int): Flow<Boolean> {
+ if (!SubscriptionManager.isValidSubscriptionId(subId)) return flowOf(false)
+ val telephonyManager = context.telephonyManager(subId)
+ return subscriptionsChangedFlow
+ .map { telephonyManager.isMobileDataPolicyEnabled(policy) }
+ .distinctUntilChanged()
+ .conflate()
+ .onEach { Log.d(TAG, "[$subId] isMobileDataPolicyEnabled($policy): $it") }
+ .flowOn(Dispatchers.Default)
+ }
+
+ fun setMobileDataPolicyEnabled(subId: Int, @MobileDataPolicy policy: Int, enabled: Boolean) {
+ if (!SubscriptionManager.isValidSubscriptionId(subId)) return
+ Log.d(TAG, "[$subId] setMobileDataPolicyEnabled($policy): $enabled")
+ context.telephonyManager(subId).setMobileDataPolicyEnabled(policy, enabled)
+ }
+
+ fun setAutoDataSwitch(subId: Int, newEnabled: Boolean) {
+ setMobileDataPolicyEnabled(
+ subId = subId,
+ policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
+ enabled = newEnabled,
+ )
+ }
+
+ /**
+ * Flow for mobile data enabled changed event.
+ *
+ * Note: This flow can only notify enabled status changes, cannot provide the latest status.
+ */
+ fun mobileDataEnabledChangedFlow(subId: Int, sendInitialValue: Boolean = true): Flow<Unit> =
+ mobileSettingsGlobalChangedFlow(Settings.Global.MOBILE_DATA, subId, sendInitialValue)
+
+ private fun mobileSettingsGlobalChangedFlow(
+ name: String,
+ subId: Int,
+ sendInitialValue: Boolean = true,
+ ): Flow<Unit> {
+ val flow = context.settingsGlobalChangeFlow(name, sendInitialValue)
+ if (!SubscriptionManager.isValidSubscriptionId(subId)) return flow
+ val subIdFlow =
+ context.settingsGlobalChangeFlow(name = name + subId, sendInitialValue = false)
+ return merge(flow, subIdFlow)
+ }
+
+ fun isMobileDataEnabledFlow(subId: Int): Flow<Boolean> {
+ if (!SubscriptionManager.isValidSubscriptionId(subId)) return flowOf(false)
+ val telephonyManager = context.telephonyManager(subId)
+ return mobileDataEnabledChangedFlow(subId)
+ .map {
+ telephonyManager.isDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER)
+ }
+ .catch { e ->
+ Log.w(TAG, "[$subId] isMobileDataEnabledFlow: exception", e)
+ emit(false)
+ }
+ .distinctUntilChanged()
+ .conflate()
+ .onEach { Log.d(TAG, "[$subId] isMobileDataEnabledFlow: $it") }
+ .flowOn(Dispatchers.Default)
+ }
+
+ fun setMobileDataEnabled(
+ subId: Int,
+ enabled: Boolean,
+ wifiPickerTrackerHelper: WifiPickerTrackerHelper? = null,
+ ) {
+ if (!SubscriptionManager.isValidSubscriptionId(subId)) return
+
+ Log.d(TAG, "setMobileDataEnabled: $enabled")
+ MobileNetworkUtils.setMobileDataEnabled(
+ context, subId, enabled, /* disableOtherSubscriptions= */ true)
+
+ if (wifiPickerTrackerHelper != null &&
+ !wifiPickerTrackerHelper.isCarrierNetworkProvisionEnabled(subId)) {
+ wifiPickerTrackerHelper.setCarrierNetworkEnabled(enabled)
+ }
+ }
+
+ /** Creates an instance of a cold Flow for whether data roaming is enabled of given [subId]. */
+ fun isDataRoamingEnabledFlow(subId: Int): Flow<Boolean> {
+ if (!SubscriptionManager.isValidSubscriptionId(subId)) return flowOf(false)
+ val telephonyManager = context.telephonyManager(subId)
+ return mobileSettingsGlobalChangedFlow(Settings.Global.DATA_ROAMING, subId)
+ .map { telephonyManager.isDataRoamingEnabled }
+ .distinctUntilChanged()
+ .conflate()
+ .onEach { Log.d(TAG, "[$subId] isDataRoamingEnabledFlow: $it") }
+ .flowOn(Dispatchers.Default)
+ }
+
+ private companion object {
+ private const val TAG = "MobileDataRepository"
+ }
+}
diff --git a/src/com/android/settings/network/telephony/MobileNetworkEidPreferenceController.kt b/src/com/android/settings/network/telephony/MobileNetworkEidPreferenceController.kt
index 1e635a5..621465e 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkEidPreferenceController.kt
+++ b/src/com/android/settings/network/telephony/MobileNetworkEidPreferenceController.kt
@@ -91,7 +91,6 @@
)
return
}
- preference.isVisible = false
val viewModel by lazyViewModel
coroutineScope = viewLifecycleOwner.lifecycleScope
@@ -127,7 +126,6 @@
preference.title = title
preference.dialogTitle = title
preference.summary = eid
- preference.isVisible = eid.isNotEmpty()
}
override fun handlePreferenceTreeClick(preference: Preference): Boolean {
diff --git a/src/com/android/settings/network/telephony/MobileNetworkImeiPreferenceController.kt b/src/com/android/settings/network/telephony/MobileNetworkImeiPreferenceController.kt
index a6fb7ba..6b3f903 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkImeiPreferenceController.kt
+++ b/src/com/android/settings/network/telephony/MobileNetworkImeiPreferenceController.kt
@@ -113,7 +113,6 @@
private fun refreshUi(){
preference.title = title
preference.summary = imei
- preference.isVisible = true
}
override fun handlePreferenceTreeClick(preference: Preference): Boolean {
diff --git a/src/com/android/settings/network/telephony/MobileNetworkSettings.java b/src/com/android/settings/network/telephony/MobileNetworkSettings.java
index 8b927a9..d70ef25 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkSettings.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkSettings.java
@@ -20,11 +20,14 @@
import android.app.Activity;
import android.app.settings.SettingsEnums;
+import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
+import android.content.IntentFilter;
import android.os.Bundle;
import android.os.UserManager;
import android.provider.Settings;
+import android.telephony.CarrierConfigManager;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
@@ -79,7 +82,6 @@
@VisibleForTesting
static final String KEY_CLICKED_PREF = "key_clicked_pref";
- private static final String KEY_ROAMING_PREF = "button_roaming_key";
private static final String KEY_CALLS_PREF = "calls_preference";
private static final String KEY_SMS_PREF = "sms_preference";
private static final String KEY_MOBILE_DATA_PREF = "mobile_data_enable";
@@ -107,6 +109,15 @@
private SubscriptionInfoEntity mSubscriptionInfoEntity;
private MobileNetworkInfoEntity mMobileNetworkInfoEntity;
+ private BroadcastReceiver mBrocastReceiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ if (intent.getAction().equals(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED)) {
+ redrawPreferenceControllers();
+ }
+ }
+ };
+
public MobileNetworkSettings() {
super(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS);
}
@@ -178,8 +189,6 @@
return Arrays.asList(
new DataUsageSummaryPreferenceController(context, mSubId),
- new RoamingPreferenceController(context, KEY_ROAMING_PREF, getSettingsLifecycle(),
- this, mSubId),
new CallsDefaultSubscriptionController(context, KEY_CALLS_PREF,
getSettingsLifecycle(), this),
new SmsDefaultSubscriptionController(context, KEY_SMS_PREF, getSettingsLifecycle(),
@@ -263,8 +272,7 @@
final RoamingPreferenceController roamingPreferenceController =
use(RoamingPreferenceController.class);
if (roamingPreferenceController != null) {
- roamingPreferenceController.init(getFragmentManager(), mSubId,
- mMobileNetworkInfoEntity);
+ roamingPreferenceController.init(getParentFragmentManager(), mSubId);
}
final SatelliteSettingPreferenceController satelliteSettingPreferenceController = use(
SatelliteSettingPreferenceController.class);
@@ -355,6 +363,10 @@
mMobileNetworkRepository.updateEntity();
// TODO: remove log after fixing b/182326102
Log.d(LOG_TAG, "onResume() subId=" + mSubId);
+
+ IntentFilter intentFilter = new IntentFilter();
+ intentFilter.addAction(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED);
+ getContext().registerReceiver(mBrocastReceiver, intentFilter, Context.RECEIVER_EXPORTED);
}
private void onSubscriptionDetailChanged() {
@@ -374,6 +386,7 @@
@Override
public void onPause() {
mMobileNetworkRepository.removeRegister(this);
+ getContext().unregisterReceiver(mBrocastReceiver);
super.onPause();
}
diff --git a/src/com/android/settings/network/telephony/RoamingPreferenceController.java b/src/com/android/settings/network/telephony/RoamingPreferenceController.java
deleted file mode 100644
index bf02308..0000000
--- a/src/com/android/settings/network/telephony/RoamingPreferenceController.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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.settings.network.telephony;
-
-import static androidx.lifecycle.Lifecycle.Event.ON_START;
-import static androidx.lifecycle.Lifecycle.Event.ON_STOP;
-
-import android.content.Context;
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.util.Log;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.fragment.app.FragmentManager;
-import androidx.lifecycle.LifecycleObserver;
-import androidx.lifecycle.LifecycleOwner;
-import androidx.lifecycle.OnLifecycleEvent;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.network.MobileNetworkRepository;
-import com.android.settingslib.RestrictedSwitchPreference;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.mobile.dataservice.MobileNetworkInfoEntity;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Preference controller for "Roaming"
- */
-public class RoamingPreferenceController extends TelephonyTogglePreferenceController implements
- LifecycleObserver, MobileNetworkRepository.MobileNetworkCallback {
- private static final String TAG = "RoamingController";
- private static final String DIALOG_TAG = "MobileDataDialog";
-
- private RestrictedSwitchPreference mSwitchPreference;
- private TelephonyManager mTelephonyManager;
- private CarrierConfigManager mCarrierConfigManager;
- protected MobileNetworkRepository mMobileNetworkRepository;
- protected LifecycleOwner mLifecycleOwner;
- private List<MobileNetworkInfoEntity> mMobileNetworkInfoEntityList = new ArrayList<>();
-
- @VisibleForTesting
- FragmentManager mFragmentManager;
- MobileNetworkInfoEntity mMobileNetworkInfoEntity;
-
- public RoamingPreferenceController(Context context, String key, Lifecycle lifecycle,
- LifecycleOwner lifecycleOwner, int subId) {
- this(context, key);
- mSubId = subId;
- mLifecycleOwner = lifecycleOwner;
- if (lifecycle != null) {
- lifecycle.addObserver(this);
- }
- }
-
- public RoamingPreferenceController(Context context, String key) {
- super(context, key);
- mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
- mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
- }
-
- @Override
- public int getAvailabilityStatus() {
- final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
- if (carrierConfig != null && carrierConfig.getBoolean(
- CarrierConfigManager.KEY_FORCE_HOME_NETWORK_BOOL)) {
- return CONDITIONALLY_UNAVAILABLE;
- }
- return AVAILABLE;
- }
-
- @OnLifecycleEvent(ON_START)
- public void onStart() {
- mMobileNetworkRepository.addRegister(mLifecycleOwner, this, mSubId);
- mMobileNetworkRepository.updateEntity();
- }
-
- @OnLifecycleEvent(ON_STOP)
- public void onStop() {
- mMobileNetworkRepository.removeRegister(this);
- }
-
- @Override
- public void displayPreference(PreferenceScreen screen) {
- super.displayPreference(screen);
- mSwitchPreference = screen.findPreference(getPreferenceKey());
- }
-
- @Override
- public int getAvailabilityStatus(int subId) {
- return mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID
- ? AVAILABLE
- : AVAILABLE_UNSEARCHABLE;
- }
-
- @Override
- public boolean setChecked(boolean isChecked) {
- if (isDialogNeeded()) {
- showDialog();
- } else {
- // Update data directly if we don't need dialog
- mTelephonyManager.setDataRoamingEnabled(isChecked);
- return true;
- }
-
- return false;
- }
-
- @Override
- public void updateState(Preference preference) {
- super.updateState(preference);
- mSwitchPreference = (RestrictedSwitchPreference) preference;
- update();
- }
-
- private void update() {
- if (mSwitchPreference == null) {
- return;
- }
- if (!mSwitchPreference.isDisabledByAdmin()) {
- mSwitchPreference.setEnabled(mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID);
- mSwitchPreference.setChecked(isChecked());
- }
- }
-
- @VisibleForTesting
- boolean isDialogNeeded() {
- final boolean isRoamingEnabled = mMobileNetworkInfoEntity == null ? false
- : mMobileNetworkInfoEntity.isDataRoamingEnabled;
- final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(
- mSubId);
- // Need dialog if we need to turn on roaming and the roaming charge indication is allowed
- if (!isRoamingEnabled && (carrierConfig == null || !carrierConfig.getBoolean(
- CarrierConfigManager.KEY_DISABLE_CHARGE_INDICATION_BOOL))) {
- return true;
- }
- return false;
- }
-
- @Override
- public boolean isChecked() {
- return mMobileNetworkInfoEntity == null ? false
- : mMobileNetworkInfoEntity.isDataRoamingEnabled;
- }
-
- public void init(FragmentManager fragmentManager, int subId, MobileNetworkInfoEntity entity) {
- mFragmentManager = fragmentManager;
- mSubId = subId;
- mMobileNetworkInfoEntity = entity;
- mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
- if (mSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
- return;
- }
- final TelephonyManager telephonyManager = mTelephonyManager
- .createForSubscriptionId(mSubId);
- if (telephonyManager == null) {
- Log.w(TAG, "fail to init in sub" + mSubId);
- mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
- return;
- }
- mTelephonyManager = telephonyManager;
- }
-
- private void showDialog() {
- final RoamingDialogFragment dialogFragment = RoamingDialogFragment.newInstance(mSubId);
-
- dialogFragment.show(mFragmentManager, DIALOG_TAG);
- }
-
- @VisibleForTesting
- public void setMobileNetworkInfoEntity(MobileNetworkInfoEntity mobileNetworkInfoEntity) {
- mMobileNetworkInfoEntity = mobileNetworkInfoEntity;
- }
-
- @Override
- public void onAllMobileNetworkInfoChanged(
- List<MobileNetworkInfoEntity> mobileNetworkInfoEntityList) {
- mMobileNetworkInfoEntityList = mobileNetworkInfoEntityList;
- mMobileNetworkInfoEntityList.forEach(entity -> {
- if (Integer.parseInt(entity.subId) == mSubId) {
- mMobileNetworkInfoEntity = entity;
- update();
- refreshSummary(mSwitchPreference);
- return;
- }
- });
- }
-
- @Override
- public void onDataRoamingChanged(int subId, boolean enabled) {
- if (subId != mSubId) {
- Log.d(TAG, "onDataRoamingChanged - wrong subId : " + subId + " / " + enabled);
- return;
- }
- update();
- }
-}
diff --git a/src/com/android/settings/network/telephony/RoamingPreferenceController.kt b/src/com/android/settings/network/telephony/RoamingPreferenceController.kt
new file mode 100644
index 0000000..2529d41
--- /dev/null
+++ b/src/com/android/settings/network/telephony/RoamingPreferenceController.kt
@@ -0,0 +1,105 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.network.telephony
+
+import android.content.Context
+import android.os.UserManager
+import android.telephony.CarrierConfigManager
+import android.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+import androidx.annotation.VisibleForTesting
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.remember
+import androidx.compose.ui.res.stringResource
+import androidx.fragment.app.FragmentManager
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
+import com.android.settings.R
+import com.android.settings.spa.preference.ComposePreferenceController
+import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
+import com.android.settingslib.spaprivileged.model.enterprise.Restrictions
+import com.android.settingslib.spaprivileged.template.preference.RestrictedSwitchPreference
+
+/** Preference controller for "Roaming" */
+class RoamingPreferenceController
+@JvmOverloads
+constructor(
+ context: Context,
+ key: String,
+ private val mobileDataRepository: MobileDataRepository = MobileDataRepository(context),
+) : ComposePreferenceController(context, key) {
+ @VisibleForTesting var fragmentManager: FragmentManager? = null
+ private var subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID
+
+ private var telephonyManager = context.getSystemService(TelephonyManager::class.java)!!
+ private val carrierConfigRepository = CarrierConfigRepository(context)
+
+ fun init(fragmentManager: FragmentManager, subId: Int) {
+ this.fragmentManager = fragmentManager
+ this.subId = subId
+ telephonyManager = telephonyManager.createForSubscriptionId(subId)
+ }
+
+ override fun getAvailabilityStatus(): Int {
+ if (!SubscriptionManager.isValidSubscriptionId(subId)) return CONDITIONALLY_UNAVAILABLE
+ val isForceHomeNetwork =
+ carrierConfigRepository.getBoolean(
+ subId, CarrierConfigManager.KEY_FORCE_HOME_NETWORK_BOOL)
+
+ return if (isForceHomeNetwork) CONDITIONALLY_UNAVAILABLE else AVAILABLE
+ }
+
+ @Composable
+ override fun Content() {
+ val summary = stringResource(R.string.roaming_enable)
+ val isDataRoamingEnabled by
+ remember { mobileDataRepository.isDataRoamingEnabledFlow(subId) }
+ .collectAsStateWithLifecycle(null)
+ RestrictedSwitchPreference(
+ model =
+ object : SwitchPreferenceModel {
+ override val title = stringResource(R.string.roaming)
+ override val summary = { summary }
+ override val checked = { isDataRoamingEnabled }
+ override val onCheckedChange: (Boolean) -> Unit = { newChecked ->
+ if (newChecked && isDialogNeeded()) {
+ showDialog()
+ } else {
+ // Update data directly if we don't need dialog
+ telephonyManager.isDataRoamingEnabled = newChecked
+ }
+ }
+ },
+ restrictions = Restrictions(keys = listOf(UserManager.DISALLOW_DATA_ROAMING)),
+ )
+ }
+
+ @VisibleForTesting
+ fun isDialogNeeded(): Boolean {
+ // Need dialog if we need to turn on roaming and the roaming charge indication is allowed
+ return !carrierConfigRepository.getBoolean(
+ subId, CarrierConfigManager.KEY_DISABLE_CHARGE_INDICATION_BOOL)
+ }
+
+ private fun showDialog() {
+ fragmentManager?.let { RoamingDialogFragment.newInstance(subId).show(it, DIALOG_TAG) }
+ }
+
+ companion object {
+ private const val DIALOG_TAG = "MobileDataDialog"
+ }
+}
diff --git a/src/com/android/settings/network/telephony/SubscriptionRepository.kt b/src/com/android/settings/network/telephony/SubscriptionRepository.kt
index 3ee8548..c952310 100644
--- a/src/com/android/settings/network/telephony/SubscriptionRepository.kt
+++ b/src/com/android/settings/network/telephony/SubscriptionRepository.kt
@@ -29,6 +29,7 @@
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.callbackFlow
import kotlinx.coroutines.flow.conflate
+import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.filterNot
import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.flow.flowOn
@@ -68,6 +69,30 @@
}
fun canDisablePhysicalSubscription() = subscriptionManager.canDisablePhysicalSubscription()
+
+ /** Flow for subscriptions changes. */
+ fun subscriptionsChangedFlow() = callbackFlow {
+ val listener = object : SubscriptionManager.OnSubscriptionsChangedListener() {
+ override fun onSubscriptionsChanged() {
+ trySend(Unit)
+ }
+ }
+
+ subscriptionManager.addOnSubscriptionsChangedListener(
+ Dispatchers.Default.asExecutor(),
+ listener,
+ )
+
+ awaitClose { subscriptionManager.removeOnSubscriptionsChangedListener(listener) }
+ }.conflate().onEach { Log.d(TAG, "subscriptions changed") }.flowOn(Dispatchers.Default)
+
+ /** Flow of active subscription ids. */
+ fun activeSubscriptionIdListFlow(): Flow<List<Int>> = context.subscriptionsChangedFlow()
+ .map { subscriptionManager.activeSubscriptionIdList.sorted() }
+ .distinctUntilChanged()
+ .conflate()
+ .onEach { Log.d(TAG, "activeSubscriptionIdList: $it") }
+ .flowOn(Dispatchers.Default)
}
val Context.subscriptionManager: SubscriptionManager?
@@ -79,22 +104,8 @@
SubscriptionUtil.getBidiFormattedPhoneNumber(this, subscriptionInfo)
}.filterNot { it.isNullOrEmpty() }.flowOn(Dispatchers.Default)
-fun Context.subscriptionsChangedFlow() = callbackFlow {
- val subscriptionManager = requireSubscriptionManager()
-
- val listener = object : SubscriptionManager.OnSubscriptionsChangedListener() {
- override fun onSubscriptionsChanged() {
- trySend(Unit)
- }
- }
-
- subscriptionManager.addOnSubscriptionsChangedListener(
- Dispatchers.Default.asExecutor(),
- listener,
- )
-
- awaitClose { subscriptionManager.removeOnSubscriptionsChangedListener(listener) }
-}.conflate().onEach { Log.d(TAG, "subscriptions changed") }.flowOn(Dispatchers.Default)
+fun Context.subscriptionsChangedFlow(): Flow<Unit> =
+ SubscriptionRepository(this).subscriptionsChangedFlow()
/**
* Return a list of subscriptions that are available and visible to the user.
diff --git a/src/com/android/settings/network/telephony/TelephonyRepository.kt b/src/com/android/settings/network/telephony/TelephonyRepository.kt
index 7c334ee..3317c71 100644
--- a/src/com/android/settings/network/telephony/TelephonyRepository.kt
+++ b/src/com/android/settings/network/telephony/TelephonyRepository.kt
@@ -17,98 +17,16 @@
package com.android.settings.network.telephony
import android.content.Context
-import android.telephony.SubscriptionManager
import android.telephony.TelephonyCallback
import android.telephony.TelephonyManager
-import android.util.Log
-import com.android.settings.network.mobileDataEnabledFlow
-import com.android.settings.wifi.WifiPickerTrackerHelper
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.asExecutor
import kotlinx.coroutines.channels.ProducerScope
import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.callbackFlow
-import kotlinx.coroutines.flow.catch
import kotlinx.coroutines.flow.conflate
-import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.flow.flowOn
-import kotlinx.coroutines.flow.map
-import kotlinx.coroutines.flow.onEach
-
-class TelephonyRepository(
- private val context: Context,
- private val subscriptionsChangedFlow: Flow<Unit> = context.subscriptionsChangedFlow(),
-) {
- fun isMobileDataPolicyEnabledFlow(
- subId: Int,
- @TelephonyManager.MobileDataPolicy policy: Int,
- ): Flow<Boolean> {
- if (!SubscriptionManager.isValidSubscriptionId(subId)) return flowOf(false)
-
- val telephonyManager = context.telephonyManager(subId)
-
- return subscriptionsChangedFlow.map {
- telephonyManager.isMobileDataPolicyEnabled(policy)
- .also { Log.d(TAG, "[$subId] isMobileDataPolicyEnabled($policy): $it") }
- }.conflate().flowOn(Dispatchers.Default)
- }
-
- fun setMobileDataPolicyEnabled(
- subId: Int,
- @TelephonyManager.MobileDataPolicy policy: Int,
- enabled: Boolean,
- ) {
- if (!SubscriptionManager.isValidSubscriptionId(subId)) return
-
- val telephonyManager = context.telephonyManager(subId)
- Log.d(TAG, "[$subId] setMobileDataPolicyEnabled($policy): $enabled")
- telephonyManager.setMobileDataPolicyEnabled(policy, enabled)
- }
-
- fun isDataEnabledFlow(subId: Int): Flow<Boolean> {
- if (!SubscriptionManager.isValidSubscriptionId(subId)) return flowOf(false)
-
- return context.mobileDataEnabledFlow(subId)
- .map {
- val telephonyManager = context.telephonyManager(subId)
- telephonyManager.isDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER)
- }
- .catch {
- Log.w(TAG, "[$subId] isDataEnabledFlow: exception", it)
- emit(false)
- }
- .onEach { Log.d(TAG, "[$subId] isDataEnabledFlow: isDataEnabled() = $it") }
- .conflate()
- .flowOn(Dispatchers.Default)
- }
-
- fun setMobileData(
- subId: Int,
- enabled: Boolean,
- wifiPickerTrackerHelper: WifiPickerTrackerHelper? = null
- ) {
- if (!SubscriptionManager.isValidSubscriptionId(subId)) return
-
- Log.d(TAG, "setMobileData: $enabled")
- MobileNetworkUtils.setMobileDataEnabled(
- context,
- subId,
- enabled /* enabled */,
- true /* disableOtherSubscriptions */
- )
-
- if (wifiPickerTrackerHelper != null
- && !wifiPickerTrackerHelper.isCarrierNetworkProvisionEnabled(subId)
- ) {
- wifiPickerTrackerHelper.setCarrierNetworkEnabled(enabled)
- }
- }
-
- private companion object {
- private const val TAG = "TelephonyRepository"
- }
-}
/** Creates an instance of a cold Flow for Telephony callback of given [subId]. */
fun <T> Context.telephonyCallbackFlow(
diff --git a/src/com/android/settings/network/telephony/wificalling/CrossSimCallingViewModel.kt b/src/com/android/settings/network/telephony/wificalling/CrossSimCallingViewModel.kt
index 5dcac1e..170af54 100644
--- a/src/com/android/settings/network/telephony/wificalling/CrossSimCallingViewModel.kt
+++ b/src/com/android/settings/network/telephony/wificalling/CrossSimCallingViewModel.kt
@@ -24,11 +24,10 @@
import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.viewModelScope
import com.android.settings.R
-import com.android.settings.network.mobileDataEnabledFlow
+import com.android.settings.network.telephony.MobileDataRepository
+import com.android.settings.network.telephony.SubscriptionRepository
import com.android.settings.network.telephony.ims.ImsMmTelRepositoryImpl
-import com.android.settings.network.telephony.requireSubscriptionManager
import com.android.settings.network.telephony.safeGetConfig
-import com.android.settings.network.telephony.subscriptionsChangedFlow
import com.android.settings.network.telephony.telephonyManager
import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
import kotlinx.coroutines.Dispatchers
@@ -48,19 +47,19 @@
private val application: Application,
) : AndroidViewModel(application) {
- private val subscriptionManager = application.requireSubscriptionManager()
+ private val subscriptionRepository = SubscriptionRepository(application)
private val carrierConfigManager =
application.getSystemService(CarrierConfigManager::class.java)!!
private val scope = viewModelScope + Dispatchers.Default
private val metricsFeatureProvider = featureFactory.metricsFeatureProvider
private val updateChannel = Channel<Unit>()
+ private val mobileDataRepository = MobileDataRepository(application)
init {
val resources = application.resources
if (resources.getBoolean(R.bool.config_auto_data_switch_enables_cross_sim_calling)) {
- application.subscriptionsChangedFlow()
- .flatMapLatest {
- val activeSubIds = subscriptionManager.activeSubscriptionIdList.toList()
+ subscriptionRepository.activeSubscriptionIdListFlow()
+ .flatMapLatest { activeSubIds ->
merge(
activeSubIds.anyMobileDataEnableChangedFlow(),
updateChannel.receiveAsFlow(),
@@ -81,7 +80,7 @@
}
private fun List<Int>.anyMobileDataEnableChangedFlow() = map { subId ->
- application.mobileDataEnabledFlow(subId = subId, sendInitialValue = false)
+ mobileDataRepository.mobileDataEnabledChangedFlow(subId = subId, sendInitialValue = false)
}.merge()
private suspend fun updateCrossSimCalling(activeSubIds: List<Int>, newEnabled: Boolean) {
diff --git a/src/com/android/settings/network/telephony/wificalling/WifiCallingRepository.kt b/src/com/android/settings/network/telephony/wificalling/WifiCallingRepository.kt
index a5d4ba8..b5cdeda 100644
--- a/src/com/android/settings/network/telephony/wificalling/WifiCallingRepository.kt
+++ b/src/com/android/settings/network/telephony/wificalling/WifiCallingRepository.kt
@@ -21,14 +21,16 @@
import android.telephony.CarrierConfigManager
import android.telephony.CarrierConfigManager.KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL
import android.telephony.SubscriptionManager
-import android.telephony.TelephonyManager
import android.telephony.ims.ImsMmTelManager.WiFiCallingMode
import android.telephony.ims.feature.MmTelFeature
import android.telephony.ims.stub.ImsRegistrationImplBase
+import androidx.lifecycle.LifecycleOwner
import com.android.settings.network.telephony.ims.ImsMmTelRepository
import com.android.settings.network.telephony.ims.ImsMmTelRepositoryImpl
import com.android.settings.network.telephony.ims.imsFeatureProvisionedFlow
import com.android.settings.network.telephony.subscriptionsChangedFlow
+import com.android.settings.network.telephony.telephonyManager
+import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.Flow
@@ -38,13 +40,19 @@
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.withContext
-class WifiCallingRepository(
+interface IWifiCallingRepository {
+ /** TODO: Move this to UI layer, when UI layer migrated to Kotlin. */
+ fun collectIsWifiCallingReadyFlow(lifecycleOwner: LifecycleOwner, action: (Boolean) -> Unit)
+}
+
+class WifiCallingRepository
+@JvmOverloads
+constructor(
private val context: Context,
private val subId: Int,
private val imsMmTelRepository: ImsMmTelRepository = ImsMmTelRepositoryImpl(context, subId)
-) {
- private val telephonyManager = context.getSystemService(TelephonyManager::class.java)!!
- .createForSubscriptionId(subId)
+) : IWifiCallingRepository {
+ private val telephonyManager = context.telephonyManager(subId)
private val carrierConfigManager = context.getSystemService(CarrierConfigManager::class.java)!!
@@ -59,6 +67,14 @@
.getConfigForSubId(subId, KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL)
.getBoolean(KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL)
+ /** TODO: Move this to UI layer, when UI layer migrated to Kotlin. */
+ override fun collectIsWifiCallingReadyFlow(
+ lifecycleOwner: LifecycleOwner,
+ action: (Boolean) -> Unit,
+ ) {
+ wifiCallingReadyFlow().collectLatestWithLifecycle(lifecycleOwner, action = action)
+ }
+
@OptIn(ExperimentalCoroutinesApi::class)
fun wifiCallingReadyFlow(): Flow<Boolean> {
if (!SubscriptionManager.isValidSubscriptionId(subId)) return flowOf(false)
diff --git a/src/com/android/settings/notification/NotificationBackend.java b/src/com/android/settings/notification/NotificationBackend.java
index 8e6019c..d6f810c 100644
--- a/src/com/android/settings/notification/NotificationBackend.java
+++ b/src/com/android/settings/notification/NotificationBackend.java
@@ -21,6 +21,8 @@
import static android.content.pm.LauncherApps.ShortcutQuery.FLAG_MATCH_DYNAMIC;
import static android.content.pm.LauncherApps.ShortcutQuery.FLAG_MATCH_PINNED_BY_ANY_LAUNCHER;
+import static com.android.server.notification.Flags.notificationHideUnusedChannels;
+
import android.app.INotificationManager;
import android.app.NotificationChannel;
import android.app.NotificationChannelGroup;
@@ -78,6 +80,9 @@
public AppRow loadAppRow(Context context, PackageManager pm, ApplicationInfo app) {
final AppRow row = new AppRow();
+ if (notificationHideUnusedChannels()) {
+ row.showAllChannels = false;
+ }
row.pkg = app.packageName;
row.uid = app.uid;
try {
@@ -686,5 +691,6 @@
public int channelCount;
public Map<String, NotificationsSentState> sentByChannel;
public NotificationsSentState sentByApp;
+ public boolean showAllChannels = true;
}
}
diff --git a/src/com/android/settings/notification/SettingsEnableZenModeDialog.java b/src/com/android/settings/notification/SettingsEnableZenModeDialog.java
index 880db35..d851caf 100644
--- a/src/com/android/settings/notification/SettingsEnableZenModeDialog.java
+++ b/src/com/android/settings/notification/SettingsEnableZenModeDialog.java
@@ -21,13 +21,13 @@
import android.os.Bundle;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.notification.modes.EnableZenModeDialog;
public class SettingsEnableZenModeDialog extends InstrumentedDialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
- return new com.android.settingslib.notification.EnableZenModeDialog(
- getContext()).createDialog();
+ return new EnableZenModeDialog(getContext()).createDialog();
}
@Override
diff --git a/src/com/android/settings/notification/app/AppNotificationSettings.java b/src/com/android/settings/notification/app/AppNotificationSettings.java
index 89756b7..046f0ce 100644
--- a/src/com/android/settings/notification/app/AppNotificationSettings.java
+++ b/src/com/android/settings/notification/app/AppNotificationSettings.java
@@ -16,16 +16,10 @@
package com.android.settings.notification.app;
-import static com.android.server.notification.Flags.notificationHideUnusedChannels;
-
-
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.text.TextUtils;
import android.util.Log;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.R;
@@ -107,38 +101,9 @@
mControllers.add(new BubbleSummaryPreferenceController(context, mBackend));
mControllers.add(new NotificationsOffPreferenceController(context));
mControllers.add(new DeletedChannelsPreferenceController(context, mBackend));
+ mControllers.add(new ShowMorePreferenceController(
+ context, mDependentFieldListener, mBackend));
+ mControllers.add(new BundleListPreferenceController(context, mBackend));
return new ArrayList<>(mControllers);
}
-
- private final int SHOW_ALL_CHANNELS = 1;
-
- @Override
- public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
- if (notificationHideUnusedChannels()) {
- menu.add(Menu.NONE, SHOW_ALL_CHANNELS, Menu.NONE,
- mShowAll ? R.string.hide_unused_channels : R.string.show_unused_channels);
- }
- super.onCreateOptionsMenu(menu, inflater);
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- if (!notificationHideUnusedChannels()) {
- return super.onOptionsItemSelected(item);
- }
- switch (item.getItemId()) {
- case SHOW_ALL_CHANNELS:
- mShowAll = !mShowAll;
- item.setTitle(mShowAll
- ? R.string.hide_unused_channels
- : R.string.show_unused_channels);
- ChannelListPreferenceController list =
- use(ChannelListPreferenceController.class);
- list.setShowAll(mShowAll);
- list.updateState(findPreference(list.getPreferenceKey()));
- return true;
- default:
- return super.onOptionsItemSelected(item);
- }
- }
}
diff --git a/src/com/android/settings/notification/app/BundleListPreferenceController.java b/src/com/android/settings/notification/app/BundleListPreferenceController.java
new file mode 100644
index 0000000..82e910c
--- /dev/null
+++ b/src/com/android/settings/notification/app/BundleListPreferenceController.java
@@ -0,0 +1,171 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.app;
+
+import static android.app.NotificationChannel.NEWS_ID;
+import static android.app.NotificationChannel.PROMOTIONS_ID;
+import static android.app.NotificationChannel.RECS_ID;
+import static android.app.NotificationChannel.SOCIAL_MEDIA_ID;
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+import static android.app.NotificationManager.IMPORTANCE_NONE;
+
+import static com.android.server.notification.Flags.notificationHideUnusedChannels;
+
+import android.app.NotificationChannel;
+import android.app.NotificationChannelGroup;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.os.AsyncTask;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.service.notification.Flags;
+import android.text.TextUtils;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceGroup;
+import androidx.preference.TwoStatePreference;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.applications.AppInfoBase;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.PrimarySwitchPreference;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+public class BundleListPreferenceController extends NotificationPreferenceController {
+
+ private static final String KEY = "bundles";
+
+ public BundleListPreferenceController(Context context, NotificationBackend backend) {
+ super(context, backend);
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return KEY;
+ }
+
+ @Override
+ public boolean isAvailable() {
+ if (!Flags.notificationClassification()) {
+ return false;
+ }
+ if (mAppRow == null) {
+ return false;
+ }
+ if (mAppRow.banned || mAppRow.lockedImportance || mAppRow.systemApp) {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ boolean isIncludedInFilter() {
+ return false;
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ PreferenceCategory category = (PreferenceCategory) preference;
+
+ createOrUpdatePrefForChannel(category,
+ mBackend.getChannel(mAppRow.pkg, mAppRow.uid, PROMOTIONS_ID));
+ createOrUpdatePrefForChannel(category,
+ mBackend.getChannel(mAppRow.pkg, mAppRow.uid, RECS_ID));
+ createOrUpdatePrefForChannel(category,
+ mBackend.getChannel(mAppRow.pkg, mAppRow.uid, SOCIAL_MEDIA_ID));
+ createOrUpdatePrefForChannel(category,
+ mBackend.getChannel(mAppRow.pkg, mAppRow.uid, NEWS_ID));
+ }
+
+ @NonNull
+ private void createOrUpdatePrefForChannel(
+ @NonNull PreferenceGroup groupPrefGroup, NotificationChannel channel) {
+ int preferenceCount = groupPrefGroup.getPreferenceCount();
+ for (int i = 0; i < preferenceCount; i++) {
+ Preference preference = groupPrefGroup.getPreference(i);
+ if (channel.getId().equals(preference.getKey())) {
+ updateSingleChannelPrefs((PrimarySwitchPreference) preference, channel);
+ return;
+ }
+ }
+ PrimarySwitchPreference channelPref = new PrimarySwitchPreference(mContext);
+ channelPref.setKey(channel.getId());
+ updateSingleChannelPrefs(channelPref, channel);
+ groupPrefGroup.addPreference(channelPref);
+ }
+
+ /** Update the properties of the channel preference with the values from the channel object. */
+ private void updateSingleChannelPrefs(@NonNull final PrimarySwitchPreference channelPref,
+ @NonNull final NotificationChannel channel) {
+ channelPref.setSwitchEnabled(mAdmin == null);
+ if (channel.getImportance() > IMPORTANCE_LOW) {
+ channelPref.setIcon(getAlertingIcon());
+ } else {
+ channelPref.setIcon(mContext.getDrawable(R.drawable.empty_icon));
+ }
+ channelPref.setIconSize(PrimarySwitchPreference.ICON_SIZE_SMALL);
+ channelPref.setTitle(channel.getName());
+ channelPref.setSummary(NotificationBackend.getSentSummary(
+ mContext, mAppRow.sentByChannel.get(channel.getId()), false));
+ channelPref.setChecked(channel.getImportance() != IMPORTANCE_NONE);
+ Bundle channelArgs = new Bundle();
+ channelArgs.putInt(AppInfoBase.ARG_PACKAGE_UID, mAppRow.uid);
+ channelArgs.putString(AppInfoBase.ARG_PACKAGE_NAME, mAppRow.pkg);
+ channelArgs.putString(Settings.EXTRA_CHANNEL_ID, channel.getId());
+ channelPref.setIntent(new SubSettingLauncher(mContext)
+ .setDestination(ChannelNotificationSettings.class.getName())
+ .setArguments(channelArgs)
+ .setTitleRes(R.string.notification_channel_title)
+ .setSourceMetricsCategory(SettingsEnums.NOTIFICATION_APP_NOTIFICATION)
+ .toIntent());
+
+ channelPref.setOnPreferenceChangeListener(
+ (preference, o) -> {
+ boolean value = (Boolean) o;
+ int importance = value
+ ? Math.max(channel.getOriginalImportance(), IMPORTANCE_LOW)
+ : IMPORTANCE_NONE;
+ channel.setImportance(importance);
+ channel.lockFields(NotificationChannel.USER_LOCKED_IMPORTANCE);
+ PrimarySwitchPreference channelPref1 = (PrimarySwitchPreference) preference;
+ channelPref1.setIcon(R.drawable.empty_icon);
+ if (channel.getImportance() > IMPORTANCE_LOW) {
+ channelPref1.setIcon(getAlertingIcon());
+ }
+ mBackend.updateChannel(mAppRow.pkg, mAppRow.uid, channel);
+
+ return true;
+ });
+ }
+
+ private Drawable getAlertingIcon() {
+ Drawable icon = mContext.getDrawable(R.drawable.ic_notifications_alert);
+ icon.setTintList(Utils.getColorAccent(mContext));
+ return icon;
+ }
+
+}
diff --git a/src/com/android/settings/notification/app/ChannelListPreferenceController.java b/src/com/android/settings/notification/app/ChannelListPreferenceController.java
index 7077592..b8dfb6a 100644
--- a/src/com/android/settings/notification/app/ChannelListPreferenceController.java
+++ b/src/com/android/settings/notification/app/ChannelListPreferenceController.java
@@ -59,8 +59,6 @@
private List<NotificationChannelGroup> mChannelGroupList;
private PreferenceCategory mPreference;
- private boolean mShowAll;
-
public ChannelListPreferenceController(Context context, NotificationBackend backend) {
super(context, backend);
}
@@ -100,7 +98,7 @@
@Override
protected Void doInBackground(Void... unused) {
if (notificationHideUnusedChannels()) {
- if (mShowAll) {
+ if (mAppRow.showAllChannels) {
mChannelGroupList = mBackend.getGroups(mAppRow.pkg, mAppRow.uid).getList();
} else {
mChannelGroupList = mBackend.getGroupsWithRecentBlockedFilter(mAppRow.pkg,
@@ -123,10 +121,6 @@
}.execute();
}
- protected void setShowAll(boolean showAll) {
- mShowAll = showAll;
- }
-
/**
* Update the preferences group to match the
* @param groupPrefsList
diff --git a/src/com/android/settings/notification/app/DeletedChannelsPreferenceController.java b/src/com/android/settings/notification/app/DeletedChannelsPreferenceController.java
index 6a1d4cb..07b7fda 100644
--- a/src/com/android/settings/notification/app/DeletedChannelsPreferenceController.java
+++ b/src/com/android/settings/notification/app/DeletedChannelsPreferenceController.java
@@ -16,6 +16,8 @@
package com.android.settings.notification.app;
+import static com.android.server.notification.Flags.notificationHideUnusedChannels;
+
import android.content.Context;
import androidx.preference.Preference;
@@ -44,6 +46,9 @@
if (!super.isAvailable()) {
return false;
}
+ if (notificationHideUnusedChannels()) {
+ return false;
+ }
// only visible on app screen
if (mChannel != null || hasValidGroup()) {
return false;
diff --git a/src/com/android/settings/notification/app/ShowMorePreferenceController.java b/src/com/android/settings/notification/app/ShowMorePreferenceController.java
new file mode 100644
index 0000000..dbc279a
--- /dev/null
+++ b/src/com/android/settings/notification/app/ShowMorePreferenceController.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.app;
+
+import static com.android.server.notification.Flags.notificationHideUnusedChannels;
+
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.notification.NotificationBackend;
+
+import org.jetbrains.annotations.NotNull;
+
+public class ShowMorePreferenceController extends NotificationPreferenceController {
+
+ private static final String KEY = "more";
+ private NotificationSettings.DependentFieldListener mDependentFieldListener;
+
+ public ShowMorePreferenceController(Context context,
+ NotificationSettings.DependentFieldListener dependentFieldListener,
+ NotificationBackend backend) {
+ super(context, backend);
+ mDependentFieldListener = dependentFieldListener;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return KEY;
+ }
+
+ @Override
+ public boolean isAvailable() {
+ if (!notificationHideUnusedChannels()) {
+ return false;
+ }
+ if (mAppRow == null) {
+ return false;
+ }
+ if (mAppRow.banned || mAppRow.showAllChannels) {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ boolean isIncludedInFilter() {
+ return false;
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ preference.setOnPreferenceClickListener(preference1 -> {
+ mAppRow.showAllChannels = true;
+ mDependentFieldListener.onFieldValueChanged();
+ return true;
+ });
+ }
+}
diff --git a/src/com/android/settings/notification/modes/AbstractZenModePreferenceController.java b/src/com/android/settings/notification/modes/AbstractZenModePreferenceController.java
index aebc4eb..c740847 100644
--- a/src/com/android/settings/notification/modes/AbstractZenModePreferenceController.java
+++ b/src/com/android/settings/notification/modes/AbstractZenModePreferenceController.java
@@ -16,6 +16,8 @@
package com.android.settings.notification.modes;
+import static com.google.common.base.Preconditions.checkState;
+
import android.app.Flags;
import android.content.Context;
import android.service.notification.ZenPolicy;
@@ -24,10 +26,11 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
import com.android.settingslib.core.AbstractPreferenceController;
-
-import com.google.common.base.Preconditions;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
import java.util.function.Function;
@@ -38,8 +41,8 @@
private static final String TAG = "AbstractZenModePreferenceController";
- @Nullable
- protected ZenModesBackend mBackend;
+ @Nullable protected final ZenModesBackend mBackend;
+
@Nullable // only until setZenMode() is called
private ZenMode mZenMode;
@@ -47,14 +50,27 @@
@NonNull
private final String mKey;
- // ZenModesBackend should only be passed in if the preference controller may set the user's
- // policy for this zen mode. Otherwise, if the preference controller is essentially read-only
- // and leads to a further Settings screen, backend should be null.
- AbstractZenModePreferenceController(@NonNull Context context, @NonNull String key,
- @Nullable ZenModesBackend backend) {
+ /**
+ * Constructor suitable for "read-only" controllers (e.g. link to a different sub-screen.
+ * Controllers that call this constructor to initialize themselves <em>cannot</em> call
+ * {@link #saveMode} or {@link #savePolicy} later.
+ */
+ AbstractZenModePreferenceController(@NonNull Context context, @NonNull String key) {
super(context);
- mBackend = backend;
mKey = key;
+ mBackend = null;
+ }
+
+ /**
+ * Constructor suitable for controllers that will update the associated {@link ZenMode}.
+ * Controllers that call this constructor to initialize themselves may call {@link #saveMode} or
+ * {@link #savePolicy} later.
+ */
+ AbstractZenModePreferenceController(@NonNull Context context, @NonNull String key,
+ @NonNull ZenModesBackend backend) {
+ super(context);
+ mKey = key;
+ mBackend = backend;
}
@Override
@@ -90,6 +106,16 @@
}
@Override
+ public void displayPreference(PreferenceScreen screen) {
+ super.displayPreference(screen);
+ if (mZenMode != null) {
+ displayPreference(screen, mZenMode);
+ }
+ }
+
+ public void displayPreference(PreferenceScreen screen, @NonNull ZenMode zenMode) {}
+
+ @Override
public final void updateState(Preference preference) {
super.updateState(preference);
if (mZenMode != null) {
@@ -122,7 +148,7 @@
* instance is ok.
*/
protected final boolean saveMode(Function<ZenMode, ZenMode> updater) {
- Preconditions.checkState(mBackend != null);
+ checkState(mBackend != null);
ZenMode mode = mZenMode;
if (mode == null) {
Log.wtf(TAG, "Cannot save mode, it hasn't been loaded (" + getClass() + ")");
diff --git a/src/com/android/settings/notification/modes/ConfigurationActivityHelper.java b/src/com/android/settings/notification/modes/ConfigurationActivityHelper.java
new file mode 100644
index 0000000..d001651
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ConfigurationActivityHelper.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import static android.app.NotificationManager.EXTRA_AUTOMATIC_RULE_ID;
+
+import android.content.ComponentName;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.ComponentInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.service.notification.ConditionProviderService;
+import android.util.Log;
+
+import androidx.annotation.Nullable;
+
+import com.android.settingslib.notification.modes.ZenMode;
+
+import java.util.List;
+import java.util.function.Function;
+
+class ConfigurationActivityHelper {
+
+ private static final String TAG = "ConfigurationActivityHelper";
+
+ private final PackageManager mPm;
+
+ ConfigurationActivityHelper(PackageManager pm) {
+ mPm = pm;
+ }
+
+ @Nullable
+ Intent getConfigurationActivityIntentForMode(ZenMode zenMode,
+ Function<ComponentName, ComponentInfo> approvedServiceFinder) {
+
+ String owner = zenMode.getRule().getPackageName();
+ ComponentName configActivity = null;
+ if (zenMode.getRule().getConfigurationActivity() != null) {
+ // If a configuration activity is present, use that directly in the intent
+ configActivity = zenMode.getRule().getConfigurationActivity();
+ } else {
+ // Otherwise, look for a condition provider service for the rule's package
+ ComponentInfo ci = approvedServiceFinder.apply(zenMode.getRule().getOwner());
+ if (ci != null) {
+ configActivity = extractConfigurationActivityFromComponent(ci);
+ }
+ }
+
+ if (configActivity != null
+ && (owner == null || isSameOwnerPackage(owner, configActivity))
+ && isResolvableActivity(configActivity)) {
+ return new Intent()
+ .setComponent(configActivity)
+ .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
+ .putExtra(ConditionProviderService.EXTRA_RULE_ID, zenMode.getId())
+ .putExtra(EXTRA_AUTOMATIC_RULE_ID, zenMode.getId());
+ } else {
+ return null;
+ }
+ }
+
+ @Nullable
+ ComponentName getConfigurationActivityFromApprovedComponent(ComponentInfo ci) {
+ ComponentName configActivity = extractConfigurationActivityFromComponent(ci);
+ if (configActivity != null
+ && isSameOwnerPackage(ci.packageName, configActivity)
+ && isResolvableActivity(configActivity)) {
+ return configActivity;
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * Extract the {@link ComponentName} corresponding to the mode configuration <em>activity</em>
+ * from the component declaring the rule (which may be the Activity itself, or a CPS that points
+ * to the activity in question in its metadata).
+ *
+ * <p>This method doesn't perform any validation, so the activity may or may not exist.
+ */
+ @Nullable
+ private ComponentName extractConfigurationActivityFromComponent(ComponentInfo ci) {
+ if (ci instanceof ActivityInfo) {
+ // New (activity-backed) rule.
+ return new ComponentName(ci.packageName, ci.name);
+ } else if (ci.metaData != null) {
+ // Old (service-backed) rule.
+ final String configurationActivity = ci.metaData.getString(
+ ConditionProviderService.META_DATA_CONFIGURATION_ACTIVITY);
+ if (configurationActivity != null) {
+ return ComponentName.unflattenFromString(configurationActivity);
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Verifies that the activity is the same package as the rule owner.
+ */
+ private boolean isSameOwnerPackage(String ownerPkg, ComponentName activityName) {
+ try {
+ int ownerUid = mPm.getPackageUid(ownerPkg, 0);
+ int configActivityOwnerUid = mPm.getPackageUid(activityName.getPackageName(), 0);
+ if (ownerUid == configActivityOwnerUid) {
+ return true;
+ } else {
+ Log.w(TAG, String.format("Config activity (%s) not in owner package (%s)",
+ activityName, ownerPkg));
+ return false;
+ }
+ } catch (PackageManager.NameNotFoundException e) {
+ Log.e(TAG, "Failed to find config activity " + activityName);
+ return false;
+ }
+ }
+
+ /** Verifies that the activity exists and hasn't been disabled. */
+ private boolean isResolvableActivity(ComponentName activityName) {
+ Intent intent = new Intent().setComponent(activityName);
+ List<ResolveInfo> results = mPm.queryIntentActivities(intent, /* flags= */ 0);
+
+ if (intent.resolveActivity(mPm) == null || results.isEmpty()) {
+ Log.w(TAG, "Cannot resolve: " + activityName);
+ return false;
+ }
+ return true;
+ }
+}
diff --git a/src/com/android/settings/notification/modes/IconLoader.java b/src/com/android/settings/notification/modes/IconLoader.java
deleted file mode 100644
index c590285..0000000
--- a/src/com/android/settings/notification/modes/IconLoader.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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.settings.notification.modes;
-
-import static com.google.common.util.concurrent.Futures.immediateFuture;
-
-import static java.util.Objects.requireNonNull;
-
-import android.annotation.Nullable;
-import android.app.AutomaticZenRule;
-import android.content.Context;
-import android.graphics.drawable.AdaptiveIconDrawable;
-import android.graphics.drawable.ColorDrawable;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.InsetDrawable;
-import android.service.notification.SystemZenRules;
-import android.text.TextUtils;
-import android.util.Log;
-import android.util.LruCache;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.VisibleForTesting;
-import androidx.appcompat.content.res.AppCompatResources;
-
-import com.google.common.util.concurrent.FluentFuture;
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.common.util.concurrent.ListeningExecutorService;
-import com.google.common.util.concurrent.MoreExecutors;
-
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-class IconLoader {
-
- private static final String TAG = "ZenIconLoader";
-
- private static final Drawable MISSING = new ColorDrawable();
-
- @Nullable // Until first usage
- private static IconLoader sInstance;
-
- private final LruCache<String, Drawable> mCache;
- private final ListeningExecutorService mBackgroundExecutor;
-
- static IconLoader getInstance() {
- if (sInstance == null) {
- sInstance = new IconLoader();
- }
- return sInstance;
- }
-
- private IconLoader() {
- this(Executors.newFixedThreadPool(4));
- }
-
- @VisibleForTesting
- IconLoader(ExecutorService backgroundExecutor) {
- mCache = new LruCache<>(50);
- mBackgroundExecutor =
- MoreExecutors.listeningDecorator(backgroundExecutor);
- }
-
- @NonNull
- ListenableFuture<Drawable> getIcon(Context context, @NonNull AutomaticZenRule rule) {
- if (rule.getIconResId() == 0) {
- return Futures.immediateFuture(getFallbackIcon(context, rule.getType()));
- }
-
- return FluentFuture.from(loadIcon(context, rule.getPackageName(), rule.getIconResId()))
- .transform(icon ->
- icon != null ? icon : getFallbackIcon(context, rule.getType()),
- MoreExecutors.directExecutor());
- }
-
- @NonNull
- private ListenableFuture</* @Nullable */ Drawable> loadIcon(Context context, String pkg,
- int iconResId) {
- String cacheKey = pkg + ":" + iconResId;
- synchronized (mCache) {
- Drawable cachedValue = mCache.get(cacheKey);
- if (cachedValue != null) {
- return immediateFuture(cachedValue != MISSING ? cachedValue : null);
- }
- }
-
- return FluentFuture.from(mBackgroundExecutor.submit(() -> {
- if (TextUtils.isEmpty(pkg) || SystemZenRules.PACKAGE_ANDROID.equals(pkg)) {
- return context.getDrawable(iconResId);
- } else {
- Context appContext = context.createPackageContext(pkg, 0);
- Drawable appDrawable = AppCompatResources.getDrawable(appContext, iconResId);
- return getMonochromeIconIfPresent(appDrawable);
- }
- })).catching(Exception.class, ex -> {
- // If we cannot resolve the icon, then store MISSING in the cache below, so
- // we don't try again.
- Log.e(TAG, "Error while loading icon " + cacheKey, ex);
- return null;
- }, MoreExecutors.directExecutor()).transform(drawable -> {
- synchronized (mCache) {
- mCache.put(cacheKey, drawable != null ? drawable : MISSING);
- }
- return drawable;
- }, MoreExecutors.directExecutor());
- }
-
- private static Drawable getFallbackIcon(Context context, int ruleType) {
- int iconResIdFromType = switch (ruleType) {
- case AutomaticZenRule.TYPE_UNKNOWN ->
- com.android.internal.R.drawable.ic_zen_mode_type_unknown;
- case AutomaticZenRule.TYPE_OTHER ->
- com.android.internal.R.drawable.ic_zen_mode_type_other;
- case AutomaticZenRule.TYPE_SCHEDULE_TIME ->
- com.android.internal.R.drawable.ic_zen_mode_type_schedule_time;
- case AutomaticZenRule.TYPE_SCHEDULE_CALENDAR ->
- com.android.internal.R.drawable.ic_zen_mode_type_schedule_calendar;
- case AutomaticZenRule.TYPE_BEDTIME ->
- com.android.internal.R.drawable.ic_zen_mode_type_bedtime;
- case AutomaticZenRule.TYPE_DRIVING ->
- com.android.internal.R.drawable.ic_zen_mode_type_driving;
- case AutomaticZenRule.TYPE_IMMERSIVE ->
- com.android.internal.R.drawable.ic_zen_mode_type_immersive;
- case AutomaticZenRule.TYPE_THEATER ->
- com.android.internal.R.drawable.ic_zen_mode_type_theater;
- case AutomaticZenRule.TYPE_MANAGED ->
- com.android.internal.R.drawable.ic_zen_mode_type_managed;
- default ->
- com.android.internal.R.drawable.ic_zen_mode_type_unknown;
- };
- return requireNonNull(context.getDrawable(iconResIdFromType));
- }
-
- private static Drawable getMonochromeIconIfPresent(Drawable icon) {
- // For created rules, the app should've provided a monochrome Drawable. However, implicit
- // rules have the app's icon, which is not -- but might have a monochrome layer. Thus
- // we choose it, if present.
- if (icon instanceof AdaptiveIconDrawable adaptiveIcon) {
- if (adaptiveIcon.getMonochrome() != null) {
- // Wrap with negative inset => scale icon (inspired from BaseIconFactory)
- return new InsetDrawable(adaptiveIcon.getMonochrome(),
- -2.0f * AdaptiveIconDrawable.getExtraInsetFraction());
- }
- }
- return icon;
- }
-}
diff --git a/src/com/android/settings/notification/modes/IconUtil.java b/src/com/android/settings/notification/modes/IconUtil.java
index c6ecaa0..d07abf3 100644
--- a/src/com/android/settings/notification/modes/IconUtil.java
+++ b/src/com/android/settings/notification/modes/IconUtil.java
@@ -19,51 +19,85 @@
import static com.google.common.base.Preconditions.checkNotNull;
import android.content.Context;
+import android.content.res.ColorStateList;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.LayerDrawable;
import android.graphics.drawable.ShapeDrawable;
import android.graphics.drawable.shapes.OvalShape;
+import android.view.Gravity;
+import androidx.annotation.AttrRes;
import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull;
+import androidx.annotation.Px;
import com.android.settings.R;
import com.android.settingslib.Utils;
class IconUtil {
- static Drawable applyTint(@NonNull Context context, @NonNull Drawable icon) {
+ static Drawable applyNormalTint(@NonNull Context context, @NonNull Drawable icon) {
+ return applyTint(context, icon, android.R.attr.colorControlNormal);
+ }
+
+ static Drawable applyAccentTint(@NonNull Context context, @NonNull Drawable icon) {
+ return applyTint(context, icon, android.R.attr.colorAccent);
+ }
+
+ private static Drawable applyTint(@NonNull Context context, @NonNull Drawable icon,
+ @AttrRes int colorAttr) {
icon = icon.mutate();
- icon.setTintList(
- Utils.getColorAttr(context, android.R.attr.colorControlNormal));
+ icon.setTintList(Utils.getColorAttr(context, colorAttr));
return icon;
}
/**
- * Returns a variant of the supplied {@code icon} to be used in the icon picker. The inner icon
- * is 36x36dp and it's contained into a circle of diameter 54dp.
+ * Returns a variant of the supplied {@code icon} to be used as the header in the icon picker.
+ * The inner icon is 48x48dp and it's contained into a circle of diameter 90dp.
*/
- static Drawable makeIconCircle(@NonNull Context context, @NonNull Drawable icon) {
- ShapeDrawable background = new ShapeDrawable(new OvalShape());
- background.getPaint().setColor(Utils.getColorAttrDefaultColor(context,
- com.android.internal.R.attr.materialColorSecondaryContainer));
- icon.setTint(Utils.getColorAttrDefaultColor(context,
- com.android.internal.R.attr.materialColorOnSecondaryContainer));
-
- LayerDrawable layerDrawable = new LayerDrawable(new Drawable[] { background, icon });
-
- int circleDiameter = context.getResources().getDimensionPixelSize(
- R.dimen.zen_mode_icon_list_circle_diameter);
- int iconSize = context.getResources().getDimensionPixelSize(
- R.dimen.zen_mode_icon_list_icon_size);
- int iconPadding = (circleDiameter - iconSize) / 2;
- layerDrawable.setBounds(0, 0, circleDiameter, circleDiameter);
- layerDrawable.setLayerInset(1, iconPadding, iconPadding, iconPadding, iconPadding);
-
- return layerDrawable;
+ static Drawable makeBigIconCircle(@NonNull Context context, Drawable icon) {
+ return composeIconCircle(
+ Utils.getColorAttr(context,
+ com.android.internal.R.attr.materialColorSecondaryContainer),
+ context.getResources().getDimensionPixelSize(
+ R.dimen.zen_mode_icon_list_header_circle_diameter),
+ icon,
+ Utils.getColorAttr(context,
+ com.android.internal.R.attr.materialColorOnSecondaryContainer),
+ context.getResources().getDimensionPixelSize(
+ R.dimen.zen_mode_icon_list_header_icon_size));
}
- static Drawable makeIconCircle(@NonNull Context context, @DrawableRes int iconResId) {
- return makeIconCircle(context, checkNotNull(context.getDrawable(iconResId)));
+ /**
+ * Returns a variant of the supplied {@code icon} to be used as an option in the icon picker.
+ * The inner icon is 36x36dp and it's contained into a circle of diameter 54dp. It's also set up
+ * so that selection and pressed states are represented in the color.
+ */
+ static Drawable makeSmallIconCircle(@NonNull Context context, @DrawableRes int iconResId) {
+ return composeIconCircle(
+ context.getColorStateList(R.color.modes_icon_picker_item_background),
+ context.getResources().getDimensionPixelSize(
+ R.dimen.zen_mode_icon_list_item_circle_diameter),
+ checkNotNull(context.getDrawable(iconResId)),
+ context.getColorStateList(R.color.modes_icon_picker_item_icon),
+ context.getResources().getDimensionPixelSize(
+ R.dimen.zen_mode_icon_list_item_icon_size));
+ }
+
+ private static Drawable composeIconCircle(ColorStateList circleColor, @Px int circleDiameterPx,
+ Drawable icon, ColorStateList iconColor, @Px int iconSizePx) {
+ ShapeDrawable background = new ShapeDrawable(new OvalShape());
+ background.setTintList(circleColor);
+ Drawable foreground = checkNotNull(icon.getConstantState()).newDrawable().mutate();
+ foreground.setTintList(iconColor);
+
+ LayerDrawable layerDrawable = new LayerDrawable(new Drawable[] { background, foreground });
+
+ layerDrawable.setBounds(0, 0, circleDiameterPx, circleDiameterPx);
+ layerDrawable.setLayerSize(0, circleDiameterPx, circleDiameterPx);
+ layerDrawable.setLayerGravity(1, Gravity.CENTER);
+ layerDrawable.setLayerSize(1, iconSizePx, iconSizePx);
+
+ return layerDrawable;
}
}
diff --git a/src/com/android/settings/notification/modes/InterruptionFilterPreferenceController.java b/src/com/android/settings/notification/modes/InterruptionFilterPreferenceController.java
new file mode 100644
index 0000000..8bdeea4
--- /dev/null
+++ b/src/com/android/settings/notification/modes/InterruptionFilterPreferenceController.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
+
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.preference.Preference;
+import androidx.preference.TwoStatePreference;
+
+import com.android.settings.R;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+class InterruptionFilterPreferenceController extends AbstractZenModePreferenceController
+ implements Preference.OnPreferenceChangeListener {
+
+ public InterruptionFilterPreferenceController(Context context, String key,
+ ZenModesBackend backend) {
+ super(context, key, backend);
+ }
+
+ @Override
+ public boolean isAvailable(ZenMode zenMode) {
+ return !zenMode.isManualDnd();
+ }
+
+ @Override
+ public void updateState(Preference preference, @NonNull ZenMode zenMode) {
+ boolean filteringNotifications = zenMode.getRule().getInterruptionFilter()
+ != INTERRUPTION_FILTER_ALL;
+ ((TwoStatePreference) preference).setChecked(filteringNotifications);
+ preference.setSummary(filteringNotifications ? "" :
+ mContext.getResources().getString(R.string.mode_no_notification_filter));
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ final boolean filterNotifications = ((Boolean) newValue);
+ return saveMode(zenMode -> {
+ zenMode.getRule().setInterruptionFilter(filterNotifications
+ ? INTERRUPTION_FILTER_PRIORITY
+ : INTERRUPTION_FILTER_ALL);
+ return zenMode;
+ });
+ }
+}
diff --git a/src/com/android/settings/notification/modes/ManualDurationHelper.java b/src/com/android/settings/notification/modes/ManualDurationHelper.java
new file mode 100644
index 0000000..da9f420
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ManualDurationHelper.java
@@ -0,0 +1,123 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import android.annotation.Nullable;
+import android.content.Context;
+import android.database.ContentObserver;
+import android.icu.text.MessageFormat;
+import android.net.Uri;
+import android.provider.Settings;
+
+import androidx.annotation.NonNull;
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+
+/**
+ * Class to contain shared utilities for reading and observing the Settings ZEN_DURATION value.
+ */
+class ManualDurationHelper {
+ private Context mContext;
+
+ ManualDurationHelper(@NonNull Context context) {
+ mContext = context;
+ }
+
+ int getZenDuration() {
+ return Settings.Secure.getInt(mContext.getContentResolver(), Settings.Secure.ZEN_DURATION,
+ 0);
+ }
+
+ /**
+ * Generates a summary of the duration that manual DND will be on when turned on from
+ * quick settings, for example "Until you turn off" or "[number] hours", based on the given
+ * setting value.
+ */
+ public String getSummary() {
+ int zenDuration = getZenDuration();
+ String summary;
+ if (zenDuration < 0) {
+ summary = mContext.getString(R.string.zen_mode_duration_summary_always_prompt);
+ } else if (zenDuration == 0) {
+ summary = mContext.getString(R.string.zen_mode_duration_summary_forever);
+ } else {
+ if (zenDuration >= 60) {
+ MessageFormat msgFormat = new MessageFormat(
+ mContext.getString(R.string.zen_mode_duration_summary_time_hours),
+ Locale.getDefault());
+ Map<String, Object> msgArgs = new HashMap<>();
+ msgArgs.put("count", zenDuration / 60);
+ summary = msgFormat.format(msgArgs);
+ } else {
+ MessageFormat msgFormat = new MessageFormat(
+ mContext.getString(R.string.zen_mode_duration_summary_time_minutes),
+ Locale.getDefault());
+ Map<String, Object> msgArgs = new HashMap<>();
+ msgArgs.put("count", zenDuration);
+ summary = msgFormat.format(msgArgs);
+ }
+ }
+ return summary;
+ }
+
+ SettingsObserver makeSettingsObserver(@NonNull AbstractZenModePreferenceController controller) {
+ return new SettingsObserver(controller);
+ }
+
+ final class SettingsObserver extends ContentObserver {
+ private static final Uri ZEN_MODE_DURATION_URI = Settings.Secure.getUriFor(
+ Settings.Secure.ZEN_DURATION);
+
+ private final AbstractZenModePreferenceController mPrefController;
+ private Preference mPreference;
+
+ /**
+ * Create a settings observer attached to the provided PreferenceController, whose
+ * updateState method should be called onChange.
+ */
+ SettingsObserver(@NonNull AbstractZenModePreferenceController prefController) {
+ super(mContext.getMainExecutor(), 0);
+ mPrefController = prefController;
+ }
+
+ void setPreference(Preference preference) {
+ mPreference = preference;
+ }
+
+ public void register() {
+ mContext.getContentResolver().registerContentObserver(ZEN_MODE_DURATION_URI, false,
+ this);
+ }
+
+ public void unregister() {
+ mContext.getContentResolver().unregisterContentObserver(this);
+ }
+
+ @Override
+ public void onChange(boolean selfChange, @Nullable Uri uri) {
+ super.onChange(selfChange, uri);
+ if (ZEN_MODE_DURATION_URI.equals(uri) && mPreference != null) {
+ mPrefController.updateState(mPreference);
+ }
+ }
+ }
+}
diff --git a/src/com/android/settings/notification/modes/ManualDurationPreferenceController.java b/src/com/android/settings/notification/modes/ManualDurationPreferenceController.java
new file mode 100644
index 0000000..073f8ab
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ManualDurationPreferenceController.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import android.content.Context;
+
+import androidx.fragment.app.Fragment;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.notification.zen.SettingsZenDurationDialog;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+public class ManualDurationPreferenceController extends AbstractZenModePreferenceController {
+ private static final String TAG = "QsDurationPrefController";
+
+ private final Fragment mParent;
+ private final ManualDurationHelper mDurationHelper;
+ private final ManualDurationHelper.SettingsObserver mSettingsObserver;
+
+ ManualDurationPreferenceController(Context context, String key, Fragment parent,
+ ZenModesBackend backend) {
+ super(context, key, backend);
+ mParent = parent;
+ mDurationHelper = new ManualDurationHelper(context);
+ mSettingsObserver = mDurationHelper.makeSettingsObserver(this);
+ }
+
+ @Override
+ public boolean isAvailable(ZenMode zenMode) {
+ if (!super.isAvailable(zenMode)) {
+ return false;
+ }
+ return zenMode.isManualDnd();
+ }
+
+ // Called by parent fragment onAttach().
+ void registerSettingsObserver() {
+ mSettingsObserver.register();
+ }
+
+ // Called by parent fragment onDetach().
+ void unregisterSettingsObserver() {
+ mSettingsObserver.unregister();
+ }
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ super.displayPreference(screen);
+ Preference pref = screen.findPreference(getPreferenceKey());
+ if (pref != null) {
+ mSettingsObserver.setPreference(pref);
+ }
+ }
+
+ @Override
+ public void updateState(Preference preference, ZenMode unusedZenMode) {
+ // This controller is a link between a Settings value (ZEN_DURATION) and the manual DND
+ // mode. The status of the zen mode object itself doesn't affect the preference
+ // value, as that comes from settings; that value from settings will determine the
+ // condition that is attached to the mode on manual activation. Thus we ignore the actual
+ // zen mode value provided here.
+ preference.setSummary(mDurationHelper.getSummary());
+ preference.setOnPreferenceClickListener(pref -> {
+ // The new setting value is set by the dialog, so we don't need to do it here.
+ final SettingsZenDurationDialog durationDialog = new SettingsZenDurationDialog();
+ durationDialog.show(mParent.getParentFragmentManager(), TAG);
+ return true;
+ });
+ }
+}
diff --git a/src/com/android/settings/notification/modes/ZenMode.java b/src/com/android/settings/notification/modes/ZenMode.java
deleted file mode 100644
index cbe915b..0000000
--- a/src/com/android/settings/notification/modes/ZenMode.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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.settings.notification.modes;
-
-import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-
-import static java.util.Objects.requireNonNull;
-
-import android.annotation.SuppressLint;
-import android.app.AutomaticZenRule;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.graphics.drawable.Drawable;
-import android.service.notification.ZenDeviceEffects;
-import android.service.notification.ZenPolicy;
-import android.util.Log;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import com.android.settings.R;
-
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
-
-import java.util.Objects;
-
-/**
- * Represents either an {@link AutomaticZenRule} or the manual DND rule in a unified way.
- *
- * <p>It also adapts other rule features that we don't want to expose in the UI, such as
- * interruption filters other than {@code PRIORITY}, rules without specific icons, etc.
- */
-class ZenMode {
-
- private static final String TAG = "ZenMode";
-
- /**
- * Additional value for the {@code @ZenPolicy.ChannelType} enumeration that indicates that all
- * channels can bypass DND when this policy is active.
- *
- * <p>This value shouldn't be used on "real" ZenPolicy objects sent to or returned from
- * {@link android.app.NotificationManager}; it's a way of representing rules with interruption
- * filter = {@link NotificationManager#INTERRUPTION_FILTER_ALL} in the UI.
- */
- public static final int CHANNEL_POLICY_ALL = -1;
-
- static final String MANUAL_DND_MODE_ID = "manual_dnd";
-
- @SuppressLint("WrongConstant")
- private static final ZenPolicy POLICY_INTERRUPTION_FILTER_ALL =
- new ZenPolicy.Builder()
- .allowChannels(CHANNEL_POLICY_ALL)
- .allowAllSounds()
- .showAllVisualEffects()
- .build();
-
- // Must match com.android.server.notification.ZenModeHelper#applyCustomPolicy.
- private static final ZenPolicy POLICY_INTERRUPTION_FILTER_ALARMS =
- new ZenPolicy.Builder()
- .disallowAllSounds()
- .allowAlarms(true)
- .allowMedia(true)
- .allowPriorityChannels(false)
- .build();
-
- // Must match com.android.server.notification.ZenModeHelper#applyCustomPolicy.
- private static final ZenPolicy POLICY_INTERRUPTION_FILTER_NONE =
- new ZenPolicy.Builder()
- .disallowAllSounds()
- .hideAllVisualEffects()
- .allowPriorityChannels(false)
- .build();
-
- private final String mId;
- private AutomaticZenRule mRule;
- private final boolean mIsActive;
- private final boolean mIsManualDnd;
-
- ZenMode(String id, AutomaticZenRule rule, boolean isActive) {
- this(id, rule, isActive, false);
- }
-
- private ZenMode(String id, AutomaticZenRule rule, boolean isActive, boolean isManualDnd) {
- mId = id;
- mRule = rule;
- mIsActive = isActive;
- mIsManualDnd = isManualDnd;
- }
-
- static ZenMode manualDndMode(AutomaticZenRule manualRule, boolean isActive) {
- return new ZenMode(MANUAL_DND_MODE_ID, manualRule, isActive, true);
- }
-
- @NonNull
- public String getId() {
- return mId;
- }
-
- @NonNull
- public AutomaticZenRule getRule() {
- return mRule;
- }
-
- @NonNull
- public ListenableFuture<Drawable> getIcon(@NonNull Context context,
- @NonNull IconLoader iconLoader) {
- if (mIsManualDnd) {
- return Futures.immediateFuture(requireNonNull(
- context.getDrawable(R.drawable.ic_do_not_disturb_on_24dp)));
- }
-
- return iconLoader.getIcon(context, mRule);
- }
-
- @NonNull
- public ZenPolicy getPolicy() {
- switch (mRule.getInterruptionFilter()) {
- case INTERRUPTION_FILTER_PRIORITY:
- return requireNonNull(mRule.getZenPolicy());
-
- case NotificationManager.INTERRUPTION_FILTER_ALL:
- return POLICY_INTERRUPTION_FILTER_ALL;
-
- case NotificationManager.INTERRUPTION_FILTER_ALARMS:
- return POLICY_INTERRUPTION_FILTER_ALARMS;
-
- case NotificationManager.INTERRUPTION_FILTER_NONE:
- return POLICY_INTERRUPTION_FILTER_NONE;
-
- case NotificationManager.INTERRUPTION_FILTER_UNKNOWN:
- default:
- Log.wtf(TAG, "Rule " + mId + " with unexpected interruptionFilter "
- + mRule.getInterruptionFilter());
- return requireNonNull(mRule.getZenPolicy());
- }
- }
-
- /**
- * Updates the {@link ZenPolicy} of the associated {@link AutomaticZenRule} based on the
- * supplied policy. In some cases this involves conversions, so that the following call
- * to {@link #getPolicy} might return a different policy from the one supplied here.
- */
- @SuppressLint("WrongConstant")
- public void setPolicy(@NonNull ZenPolicy policy) {
- ZenPolicy currentPolicy = getPolicy();
- if (currentPolicy.equals(policy)) {
- return;
- }
-
- // A policy with CHANNEL_POLICY_ALL is only a UI representation of the
- // INTERRUPTION_FILTER_ALL filter. Thus, switching to or away to this value only updates
- // the filter, discarding the rest of the supplied policy.
- if (policy.getAllowedChannels() == CHANNEL_POLICY_ALL
- && currentPolicy.getAllowedChannels() != CHANNEL_POLICY_ALL) {
- if (mIsManualDnd) {
- throw new IllegalArgumentException("Manual DND cannot have CHANNEL_POLICY_ALL");
- }
- mRule.setInterruptionFilter(INTERRUPTION_FILTER_ALL);
- // Preserve the existing policy, e.g. if the user goes PRIORITY -> ALL -> PRIORITY that
- // shouldn't discard all other policy customizations. The existing policy will be a
- // synthetic one if the rule originally had filter NONE or ALARMS_ONLY and that's fine.
- if (mRule.getZenPolicy() == null) {
- mRule.setZenPolicy(currentPolicy);
- }
- return;
- } else if (policy.getAllowedChannels() != CHANNEL_POLICY_ALL
- && currentPolicy.getAllowedChannels() == CHANNEL_POLICY_ALL) {
- mRule.setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY);
- // Go back to whatever policy the rule had before, unless the rule never had one, in
- // which case we use the supplied policy (which we know has a valid allowedChannels).
- if (mRule.getZenPolicy() == null) {
- mRule.setZenPolicy(policy);
- }
- return;
- }
-
- // If policy is customized from any of the "special" ones, make the rule PRIORITY.
- if (mRule.getInterruptionFilter() != INTERRUPTION_FILTER_PRIORITY) {
- mRule.setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY);
- }
- mRule.setZenPolicy(policy);
- }
-
- @NonNull
- public ZenDeviceEffects getDeviceEffects() {
- return mRule.getDeviceEffects() != null
- ? mRule.getDeviceEffects()
- : new ZenDeviceEffects.Builder().build();
- }
-
- public boolean canEditName() {
- return !isManualDnd();
- }
-
- public boolean canEditIcon() {
- return !isManualDnd();
- }
-
- public boolean canBeDeleted() {
- return !mIsManualDnd;
- }
-
- public boolean isManualDnd() {
- return mIsManualDnd;
- }
-
- public boolean isActive() {
- return mIsActive;
- }
-
- @Override
- public boolean equals(@Nullable Object obj) {
- return obj instanceof ZenMode other
- && mId.equals(other.mId)
- && mRule.equals(other.mRule)
- && mIsActive == other.mIsActive;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(mId, mRule, mIsActive);
- }
-
- @Override
- public String toString() {
- return mId + "(" + (mIsActive ? "active" : "inactive") + ") -> " + mRule;
- }
-}
diff --git a/src/com/android/settings/notification/modes/ZenModeActionsPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeActionsPreferenceController.java
deleted file mode 100644
index 8585234..0000000
--- a/src/com/android/settings/notification/modes/ZenModeActionsPreferenceController.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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.settings.notification.modes;
-
-import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
-
-import android.content.Context;
-import android.os.Bundle;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.core.SubSettingLauncher;
-import com.android.settingslib.widget.ActionButtonsPreference;
-
-class ZenModeActionsPreferenceController extends AbstractZenModePreferenceController {
-
- ZenModeActionsPreferenceController(@NonNull Context context, @NonNull String key,
- @Nullable ZenModesBackend backend) {
- super(context, key, backend);
- }
-
- @Override
- void updateState(Preference preference, @NonNull ZenMode zenMode) {
- ActionButtonsPreference buttonsPreference = (ActionButtonsPreference) preference;
-
- // TODO: b/346278854 - Add rename action (with setButton1Enabled(zenMode.canEditName())
- buttonsPreference.setButton1Text(R.string.zen_mode_action_change_name);
- buttonsPreference.setButton1Icon(R.drawable.ic_mode_edit);
- buttonsPreference.setButton1Enabled(false);
-
- buttonsPreference.setButton2Text(R.string.zen_mode_action_change_icon);
- buttonsPreference.setButton2Icon(R.drawable.ic_zen_mode_action_change_icon);
- buttonsPreference.setButton2Enabled(zenMode.canEditIcon());
- buttonsPreference.setButton2OnClickListener(v -> {
- Bundle bundle = new Bundle();
- bundle.putString(MODE_ID, zenMode.getId());
- new SubSettingLauncher(mContext)
- .setDestination(ZenModeIconPickerFragment.class.getName())
- // TODO: b/332937635 - Update metrics category
- .setSourceMetricsCategory(0)
- .setArguments(bundle)
- .launch();
- });
- }
-}
diff --git a/src/com/android/settings/notification/modes/ZenModeAppsFragment.java b/src/com/android/settings/notification/modes/ZenModeAppsFragment.java
index 73329a2..19035dd 100644
--- a/src/com/android/settings/notification/modes/ZenModeAppsFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModeAppsFragment.java
@@ -37,10 +37,6 @@
context, ZenModeAppsPreferenceController.KEY_PRIORITY, mBackend));
controllers.add(new ZenModeAppsPreferenceController(
context, ZenModeAppsPreferenceController.KEY_NONE, mBackend));
- // TODO: b/308819928 - The manual DND mode cannot have the ALL type;
- // unify the controllers into one and only create a preference if isManualDnd is false.
- controllers.add(new ZenModeAppsPreferenceController(
- context, ZenModeAppsPreferenceController.KEY_ALL, mBackend));
return controllers;
}
diff --git a/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceController.java
index 691c92e..810b1b5 100644
--- a/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceController.java
@@ -16,10 +16,12 @@
package com.android.settings.notification.modes;
-import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
import android.content.Context;
import android.os.Bundle;
+import android.text.TextUtils;
import android.util.ArraySet;
import androidx.annotation.NonNull;
@@ -28,8 +30,11 @@
import androidx.fragment.app.Fragment;
import androidx.preference.Preference;
+import com.android.settings.R;
import com.android.settings.core.SubSettingLauncher;
import com.android.settingslib.applications.ApplicationsState;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
import java.util.ArrayList;
import java.util.HashMap;
@@ -45,10 +50,12 @@
private static final String TAG = "ZenModeAppsLinkPreferenceController";
private final ZenModeSummaryHelper mSummaryHelper;
+ private final ApplicationsState mApplicationsState;
private ApplicationsState.Session mAppSession;
private final ZenHelperBackend mHelperBackend;
private ZenMode mZenMode;
private Preference mPreference;
+ private final Fragment mHost;
ZenModeAppsLinkPreferenceController(Context context, String key, Fragment host,
ApplicationsState applicationsState, ZenModesBackend backend,
@@ -56,15 +63,19 @@
super(context, key, backend);
mSummaryHelper = new ZenModeSummaryHelper(mContext, helperBackend);
mHelperBackend = helperBackend;
- if (applicationsState != null && host != null) {
- mAppSession = applicationsState.newSession(mAppSessionCallbacks, host.getLifecycle());
- }
+ mApplicationsState = applicationsState;
+ mHost = host;
+ }
+
+ @Override
+ public boolean isAvailable(ZenMode zenMode) {
+ return zenMode.getRule().getInterruptionFilter() != INTERRUPTION_FILTER_ALL;
}
@Override
public void updateState(Preference preference, @NonNull ZenMode zenMode) {
Bundle bundle = new Bundle();
- bundle.putString(MODE_ID, zenMode.getId());
+ bundle.putString(EXTRA_AUTOMATIC_ZEN_RULE_ID, zenMode.getId());
// TODO(b/332937635): Update metrics category
preference.setIntent(new SubSettingLauncher(mContext)
.setDestination(ZenModeAppsFragment.class.getName())
@@ -73,6 +84,12 @@
.toIntent());
mZenMode = zenMode;
mPreference = preference;
+ if (TextUtils.isEmpty(mPreference.getSummary())) {
+ mPreference.setSummary(R.string.zen_mode_apps_calculating);
+ }
+ if (mApplicationsState != null && mHost != null) {
+ mAppSession = mApplicationsState.newSession(mAppSessionCallbacks, mHost.getLifecycle());
+ }
triggerUpdateAppsBypassingDndSummaryText();
}
@@ -118,11 +135,13 @@
return appsBypassingDnd;
}
- @VisibleForTesting final ApplicationsState.Callbacks mAppSessionCallbacks =
+ @VisibleForTesting
+ final ApplicationsState.Callbacks mAppSessionCallbacks =
new ApplicationsState.Callbacks() {
@Override
- public void onRunningStateChanged(boolean running) { }
+ public void onRunningStateChanged(boolean running) {
+ }
@Override
public void onPackageListChanged() {
@@ -135,16 +154,20 @@
}
@Override
- public void onPackageIconChanged() { }
+ public void onPackageIconChanged() {
+ }
@Override
- public void onPackageSizeChanged(String packageName) { }
+ public void onPackageSizeChanged(String packageName) {
+ }
@Override
- public void onAllSizesComputed() { }
+ public void onAllSizesComputed() {
+ }
@Override
- public void onLauncherInfoChanged() { }
+ public void onLauncherInfoChanged() {
+ }
@Override
public void onLoadEntriesCompleted() {
diff --git a/src/com/android/settings/notification/modes/ZenModeAppsPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeAppsPreferenceController.java
index 704bce0..522f191 100644
--- a/src/com/android/settings/notification/modes/ZenModeAppsPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeAppsPreferenceController.java
@@ -16,7 +16,7 @@
package com.android.settings.notification.modes;
-import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
import android.app.settings.SettingsEnums;
import android.content.Context;
@@ -24,13 +24,14 @@
import android.service.notification.ZenPolicy;
import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import androidx.preference.TwoStatePreference;
import com.android.settings.core.SubSettingLauncher;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
import com.android.settingslib.widget.SelectorWithWidgetPreference;
public class ZenModeAppsPreferenceController extends
@@ -38,13 +39,11 @@
static final String KEY_PRIORITY = "zen_mode_apps_priority";
static final String KEY_NONE = "zen_mode_apps_none";
- static final String KEY_ALL = "zen_mode_apps_all";
String mModeId;
-
public ZenModeAppsPreferenceController(@NonNull Context context,
- @NonNull String key, @Nullable ZenModesBackend backend) {
+ @NonNull String key, @NonNull ZenModesBackend backend) {
super(context, key, backend);
}
@@ -79,13 +78,6 @@
== ZenPolicy.CHANNEL_POLICY_NONE;
pref.setChecked(policy_none);
break;
- case KEY_ALL:
- // A UI-only setting; the underlying policy never actually has this value,
- // but ZenMode acts as though it does for the sake of UI consistency.
- boolean policy_all = zenMode.getPolicy().getAllowedChannels()
- == ZenMode.CHANNEL_POLICY_ALL;
- pref.setChecked(policy_all);
- break;
}
}
@@ -96,8 +88,6 @@
return savePolicy(p -> p.allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY));
case KEY_NONE:
return savePolicy(p -> p.allowChannels(ZenPolicy.CHANNEL_POLICY_NONE));
- case KEY_ALL:
- return savePolicy(p -> p.allowChannels(ZenMode.CHANNEL_POLICY_ALL));
}
return true;
}
@@ -114,7 +104,7 @@
private void launchPrioritySettings() {
Bundle bundle = new Bundle();
if (mModeId != null) {
- bundle.putString(MODE_ID, mModeId);
+ bundle.putString(EXTRA_AUTOMATIC_ZEN_RULE_ID, mModeId);
}
// TODO(b/332937635): Update metrics category
new SubSettingLauncher(mContext)
diff --git a/src/com/android/settings/notification/modes/ZenModeButtonPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeButtonPreferenceController.java
index 1846dfc..6b84414 100644
--- a/src/com/android/settings/notification/modes/ZenModeButtonPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeButtonPreferenceController.java
@@ -18,19 +18,32 @@
import android.annotation.NonNull;
import android.content.Context;
+import android.provider.Settings;
import android.widget.Button;
+import androidx.fragment.app.Fragment;
import androidx.preference.Preference;
import com.android.settings.R;
+import com.android.settings.notification.SettingsEnableZenModeDialog;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
import com.android.settingslib.widget.LayoutPreference;
-public class ZenModeButtonPreferenceController extends AbstractZenModePreferenceController {
+import java.time.Duration;
+
+class ZenModeButtonPreferenceController extends AbstractZenModePreferenceController {
+ private static final String TAG = "ZenModeButtonPrefController";
private Button mZenButton;
+ private Fragment mParent;
+ private ManualDurationHelper mDurationHelper;
- public ZenModeButtonPreferenceController(Context context, String key, ZenModesBackend backend) {
+ ZenModeButtonPreferenceController(Context context, String key, Fragment parent,
+ ZenModesBackend backend) {
super(context, key, backend);
+ mParent = parent;
+ mDurationHelper = new ManualDurationHelper(context);
}
@Override
@@ -47,7 +60,23 @@
if (zenMode.isActive()) {
mBackend.deactivateMode(zenMode);
} else {
- mBackend.activateMode(zenMode, null);
+ if (zenMode.isManualDnd()) {
+ // if manual DND, potentially ask for or use desired duration
+ int zenDuration = mDurationHelper.getZenDuration();
+ switch (zenDuration) {
+ case Settings.Secure.ZEN_DURATION_PROMPT:
+ new SettingsEnableZenModeDialog().show(
+ mParent.getParentFragmentManager(), TAG);
+ break;
+ case Settings.Secure.ZEN_DURATION_FOREVER:
+ mBackend.activateMode(zenMode, null);
+ break;
+ default:
+ mBackend.activateMode(zenMode, Duration.ofMinutes(zenDuration));
+ }
+ } else {
+ mBackend.activateMode(zenMode, null);
+ }
}
});
if (zenMode.isActive()) {
diff --git a/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceController.java
index 8d27d4c..d885019 100644
--- a/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceController.java
@@ -16,7 +16,7 @@
package com.android.settings.notification.modes;
-import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
import android.content.Context;
import android.os.Bundle;
@@ -25,21 +25,22 @@
import androidx.preference.Preference;
import com.android.settings.core.SubSettingLauncher;
+import com.android.settingslib.notification.modes.ZenMode;
class ZenModeCallsLinkPreferenceController extends AbstractZenModePreferenceController {
private final ZenModeSummaryHelper mSummaryHelper;
public ZenModeCallsLinkPreferenceController(Context context, String key,
- ZenModesBackend backend, ZenHelperBackend helperBackend) {
- super(context, key, backend);
+ ZenHelperBackend helperBackend) {
+ super(context, key);
mSummaryHelper = new ZenModeSummaryHelper(context, helperBackend);
}
@Override
public void updateState(Preference preference, @NonNull ZenMode zenMode) {
Bundle bundle = new Bundle();
- bundle.putString(MODE_ID, zenMode.getId());
+ bundle.putString(EXTRA_AUTOMATIC_ZEN_RULE_ID, zenMode.getId());
// TODO(b/332937635): Update metrics category
preference.setIntent(new SubSettingLauncher(mContext)
.setDestination(ZenModeCallsFragment.class.getName())
diff --git a/src/com/android/settings/notification/modes/ZenModeDisplayEffectPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeDisplayEffectPreferenceController.java
index bca7b55..b0d3952 100644
--- a/src/com/android/settings/notification/modes/ZenModeDisplayEffectPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeDisplayEffectPreferenceController.java
@@ -23,7 +23,10 @@
import androidx.preference.Preference;
import androidx.preference.TwoStatePreference;
-public class ZenModeDisplayEffectPreferenceController extends AbstractZenModePreferenceController
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+class ZenModeDisplayEffectPreferenceController extends AbstractZenModePreferenceController
implements Preference.OnPreferenceChangeListener {
public ZenModeDisplayEffectPreferenceController(Context context, String key,
@@ -34,24 +37,20 @@
@Override
public void updateState(Preference preference, @NonNull ZenMode zenMode) {
TwoStatePreference pref = (TwoStatePreference) preference;
- ZenDeviceEffects effects = zenMode.getRule().getDeviceEffects();
- if (effects == null) {
- pref.setChecked(false);
- } else {
- switch (getPreferenceKey()) {
- case "effect_greyscale":
- pref.setChecked(effects.shouldDisplayGrayscale());
- break;
- case "effect_aod":
- pref.setChecked(effects.shouldSuppressAmbientDisplay());
- break;
- case "effect_wallpaper":
- pref.setChecked(effects.shouldDimWallpaper());
- break;
- case "effect_dark_theme":
- pref.setChecked(effects.shouldUseNightMode());
- break;
- }
+ ZenDeviceEffects effects = zenMode.getDeviceEffects();
+ switch (getPreferenceKey()) {
+ case "effect_greyscale":
+ pref.setChecked(effects.shouldDisplayGrayscale());
+ break;
+ case "effect_aod":
+ pref.setChecked(effects.shouldSuppressAmbientDisplay());
+ break;
+ case "effect_wallpaper":
+ pref.setChecked(effects.shouldDimWallpaper());
+ break;
+ case "effect_dark_theme":
+ pref.setChecked(effects.shouldUseNightMode());
+ break;
}
}
diff --git a/src/com/android/settings/notification/modes/ZenModeDisplayFragment.java b/src/com/android/settings/notification/modes/ZenModeDisplayFragment.java
index 8c3b826..38ac8f3 100644
--- a/src/com/android/settings/notification/modes/ZenModeDisplayFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModeDisplayFragment.java
@@ -35,7 +35,7 @@
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
List<AbstractPreferenceController> prefControllers = new ArrayList<>();
prefControllers.add(new ZenModeNotifVisLinkPreferenceController(
- context, "notification_visibility", mBackend, mHelperBackend));
+ context, "notification_visibility", mHelperBackend));
prefControllers.add(new ZenModeDisplayEffectPreferenceController(
context, "effect_greyscale", mBackend));
prefControllers.add(new ZenModeDisplayEffectPreferenceController(
diff --git a/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceController.java
index 712c78a..d3559f1 100644
--- a/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceController.java
@@ -16,7 +16,7 @@
package com.android.settings.notification.modes;
-import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
import android.content.Context;
import android.os.Bundle;
@@ -25,6 +25,8 @@
import androidx.preference.Preference;
import com.android.settings.core.SubSettingLauncher;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
class ZenModeDisplayLinkPreferenceController extends AbstractZenModePreferenceController {
@@ -39,7 +41,7 @@
@Override
void updateState(Preference preference, @NonNull ZenMode zenMode) {
Bundle bundle = new Bundle();
- bundle.putString(MODE_ID, zenMode.getId());
+ bundle.putString(EXTRA_AUTOMATIC_ZEN_RULE_ID, zenMode.getId());
// TODO(b/332937635): Update metrics category
preference.setIntent(new SubSettingLauncher(mContext)
.setDestination(ZenModeDisplayFragment.class.getName())
diff --git a/src/com/android/settings/notification/modes/ZenModeEditDonePreferenceController.java b/src/com/android/settings/notification/modes/ZenModeEditDonePreferenceController.java
new file mode 100644
index 0000000..de1adc7
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenModeEditDonePreferenceController.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import android.content.Context;
+import android.widget.Button;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.widget.LayoutPreference;
+
+class ZenModeEditDonePreferenceController extends AbstractZenModePreferenceController {
+
+ private final Runnable mConfirmSave;
+ @Nullable private Button mButton;
+
+ ZenModeEditDonePreferenceController(@NonNull Context context, @NonNull String key,
+ Runnable confirmSave) {
+ super(context, key);
+ mConfirmSave = confirmSave;
+ }
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ super.displayPreference(screen);
+ LayoutPreference pref = screen.findPreference(getPreferenceKey());
+ if (pref != null) {
+ mButton = pref.findViewById(R.id.done);
+ if (mButton != null) {
+ mButton.setOnClickListener(v -> mConfirmSave.run());
+ }
+ }
+ }
+
+ @Override
+ void updateState(Preference preference, @NonNull ZenMode zenMode) {
+ if (mButton != null) {
+ mButton.setEnabled(!zenMode.getName().isBlank());
+ }
+ }
+}
diff --git a/src/com/android/settings/notification/modes/ZenModeEditNameIconFragment.java b/src/com/android/settings/notification/modes/ZenModeEditNameIconFragment.java
new file mode 100644
index 0000000..a0c2cf1
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenModeEditNameIconFragment.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
+
+import android.app.settings.SettingsEnums;
+import android.os.Bundle;
+import android.util.Log;
+
+import androidx.annotation.Nullable;
+
+import com.android.settings.R;
+import com.android.settingslib.notification.modes.ZenMode;
+
+public class ZenModeEditNameIconFragment extends ZenModeEditNameIconFragmentBase {
+
+ @Nullable
+ @Override
+ protected ZenMode onCreateInstantiateZenMode() {
+ String modeId = getModeIdFromArguments();
+ return modeId != null ? requireBackend().getMode(modeId) : null;
+ }
+
+ @Override
+ public void onStart() {
+ super.onStart();
+ requireActivity().setTitle(R.string.zen_mode_rename_title);
+ }
+
+ @Override
+ void saveMode(ZenMode mode) {
+ String modeId = getModeIdFromArguments();
+ ZenMode modeToUpdate = modeId != null ? requireBackend().getMode(modeId) : null;
+ if (modeToUpdate == null) {
+ // Huh, maybe it was deleted while we were choosing the icon? Unusual...
+ Log.w(getLogTag(), "Couldn't fetch mode with id " + modeId
+ + " from the backend for saving. Discarding changes!");
+ finish();
+ return;
+ }
+
+ modeToUpdate.getRule().setName(mode.getRule().getName());
+ modeToUpdate.getRule().setIconResId(mode.getRule().getIconResId());
+ requireBackend().updateMode(modeToUpdate);
+ finish();
+ }
+
+ @Nullable
+ private String getModeIdFromArguments() {
+ Bundle bundle = getArguments();
+ if (bundle != null && bundle.containsKey(EXTRA_AUTOMATIC_ZEN_RULE_ID)) {
+ return bundle.getString(EXTRA_AUTOMATIC_ZEN_RULE_ID);
+ } else {
+ return null;
+ }
+ }
+
+ @Override
+ public int getMetricsCategory() {
+ // TODO: b/332937635 - make this the correct metrics category
+ return SettingsEnums.NOTIFICATION_ZEN_MODE_AUTOMATION;
+ }
+
+ @Override
+ protected String getLogTag() {
+ return "ZenModeEditNameIconFragment";
+ }
+}
diff --git a/src/com/android/settings/notification/modes/ZenModeEditNameIconFragmentBase.java b/src/com/android/settings/notification/modes/ZenModeEditNameIconFragmentBase.java
new file mode 100644
index 0000000..d666254
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenModeEditNameIconFragmentBase.java
@@ -0,0 +1,191 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.base.Preconditions.checkState;
+
+import android.content.Context;
+import android.os.Bundle;
+import android.util.Log;
+
+import androidx.annotation.DrawableRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+import com.google.common.base.Strings;
+import com.google.common.collect.ImmutableList;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * Base class for the "add a mode" and "edit mode name and icon" fragments. In both cases we are
+ * editing a {@link ZenMode}, but the mode shouldn't be saved immediately after each atomic change
+ * -- instead, it will be saved to the backend upon user confirmation.
+ *
+ * <p>As a result, instead of using {@link ZenModesBackend} to apply each change, we instead modify
+ * an in-memory {@link ZenMode}, that is preserved/restored in extras. This also means we don't
+ * listen to changes -- whatever the user sees should be applied.
+ */
+public abstract class ZenModeEditNameIconFragmentBase extends DashboardFragment {
+
+ private static final String MODE_KEY = "ZenMode";
+
+ @Nullable private ZenMode mZenMode;
+
+ private ZenModesBackend mBackend;
+
+ @VisibleForTesting(otherwise = VisibleForTesting.NONE)
+ void setBackend(ZenModesBackend backend) {
+ mBackend = backend;
+ }
+
+ @Override
+ public void onAttach(Context context) {
+ super.onAttach(context);
+ if (mBackend == null) {
+ mBackend = ZenModesBackend.getInstance(context);
+ }
+ }
+
+ @Override
+ public final void onCreate(Bundle icicle) {
+ super.onCreate(icicle);
+ mZenMode = icicle != null
+ ? icicle.getParcelable(MODE_KEY, ZenMode.class)
+ : onCreateInstantiateZenMode();
+
+ if (mZenMode == null) {
+ finish();
+ }
+ }
+
+ /**
+ * Provides the mode that will be edited. Called in {@link #onCreate}, the first time (the
+ * value returned here is persisted on Fragment recreation).
+ *
+ * <p>If {@code null} is returned, the fragment will {@link #finish()}.
+ */
+ @Nullable
+ protected abstract ZenMode onCreateInstantiateZenMode();
+
+ @Override
+ protected final int getPreferenceScreenResId() {
+ return R.xml.modes_edit_name_icon;
+ }
+
+ @Override
+ protected final List<AbstractPreferenceController> createPreferenceControllers(
+ Context context) {
+ return ImmutableList.of(
+ new ZenModeIconPickerIconPreferenceController(context, "chosen_icon", this),
+ new ZenModeEditNamePreferenceController(context, "name", this::setModeName),
+ new ZenModeIconPickerListPreferenceController(context, "icon_list",
+ this::setModeIcon),
+ new ZenModeEditDonePreferenceController(context, "done", this::saveMode)
+ );
+ }
+
+ @VisibleForTesting(otherwise = VisibleForTesting.NONE)
+ @Nullable
+ ZenMode getZenMode() {
+ return mZenMode;
+ }
+
+ @Override
+ public void onStart() {
+ super.onStart();
+ updateControllers();
+ }
+
+ @VisibleForTesting
+ final void setModeName(String name) {
+ checkNotNull(mZenMode).getRule().setName(Strings.nullToEmpty(name));
+ updateControllers(); // Updates confirmation button.
+ }
+
+ @VisibleForTesting
+ final void setModeIcon(@DrawableRes int iconResId) {
+ checkNotNull(mZenMode).getRule().setIconResId(iconResId);
+ updateControllers(); // Updates icon at the top.
+ }
+
+ protected void updateControllers() {
+ PreferenceScreen screen = getPreferenceScreen();
+ Collection<List<AbstractPreferenceController>> controllers = getPreferenceControllers();
+ if (mZenMode == null || screen == null || controllers == null) {
+ return;
+ }
+ for (List<AbstractPreferenceController> list : controllers) {
+ for (AbstractPreferenceController controller : list) {
+ try {
+ final String key = controller.getPreferenceKey();
+ final Preference preference = screen.findPreference(key);
+ if (preference != null) {
+ AbstractZenModePreferenceController zenController =
+ (AbstractZenModePreferenceController) controller;
+ zenController.updateZenMode(preference, mZenMode);
+ } else {
+ Log.d(getLogTag(),
+ String.format("Cannot find preference with key %s in Controller %s",
+ key, controller.getClass().getSimpleName()));
+ }
+ controller.displayPreference(screen);
+ } catch (ClassCastException e) {
+ // Skip any controllers that aren't AbstractZenModePreferenceController.
+ Log.d(getLogTag(), "Could not cast: " + controller.getClass().getSimpleName());
+ }
+ }
+ }
+ }
+
+ @VisibleForTesting
+ final void saveMode() {
+ saveMode(checkNotNull(mZenMode));
+ }
+
+ /**
+ * Called to actually save the mode, after the user confirms. This method is also responsible
+ * for calling {@link #finish()}, if appropriate.
+ *
+ * <p>Note that {@code mode} is the <em>in-memory</em> mode and, as such, may have obsolete
+ * data. If the concrete fragment is editing an existing mode, it should first fetch it from
+ * the backend, and copy the new name and icon before saving. */
+ abstract void saveMode(ZenMode mode);
+
+ @NonNull
+ protected ZenModesBackend requireBackend() {
+ checkState(mBackend != null);
+ return mBackend;
+ }
+
+ @Override
+ public void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+ outState.putParcelable(MODE_KEY, mZenMode);
+ }
+}
diff --git a/src/com/android/settings/notification/modes/ZenModeEditNamePreferenceController.java b/src/com/android/settings/notification/modes/ZenModeEditNamePreferenceController.java
new file mode 100644
index 0000000..78cbfe0
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenModeEditNamePreferenceController.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+import android.content.Context;
+import android.text.Editable;
+import android.text.TextWatcher;
+import android.widget.EditText;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.widget.LayoutPreference;
+
+import java.util.function.Consumer;
+
+class ZenModeEditNamePreferenceController extends AbstractZenModePreferenceController {
+
+ private final Consumer<String> mModeNameSetter;
+ @Nullable private EditText mEditText;
+ private boolean mIsSettingText;
+
+ ZenModeEditNamePreferenceController(@NonNull Context context, @NonNull String key,
+ @NonNull Consumer<String> modeNameSetter) {
+ super(context, key);
+ mModeNameSetter = modeNameSetter;
+ }
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ super.displayPreference(screen);
+ if (mEditText == null) {
+ LayoutPreference pref = checkNotNull(screen.findPreference(getPreferenceKey()));
+ mEditText = pref.findViewById(android.R.id.edit);
+
+ mEditText.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) { }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+ if (!mIsSettingText) {
+ mModeNameSetter.accept(s.toString());
+ }
+ }
+ });
+ }
+ }
+
+ @Override
+ void updateState(Preference preference, @NonNull ZenMode zenMode) {
+ if (mEditText != null) {
+ mIsSettingText = true;
+ try {
+ String currentText = mEditText.getText().toString();
+ String modeName = zenMode.getName();
+ if (!modeName.equals(currentText)) {
+ mEditText.setText(modeName);
+ }
+ } finally {
+ mIsSettingText = false;
+ }
+ }
+ }
+}
diff --git a/src/com/android/settings/notification/modes/ZenModeExitAtAlarmPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeExitAtAlarmPreferenceController.java
index 8517af1..326bc97 100644
--- a/src/com/android/settings/notification/modes/ZenModeExitAtAlarmPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeExitAtAlarmPreferenceController.java
@@ -23,6 +23,9 @@
import androidx.preference.Preference;
import androidx.preference.TwoStatePreference;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
/**
* Preference controller controlling whether a time schedule-based mode ends at the next alarm.
*/
diff --git a/src/com/android/settings/notification/modes/ZenModeFragment.java b/src/com/android/settings/notification/modes/ZenModeFragment.java
index 6bda5e1..c5b52a9 100644
--- a/src/com/android/settings/notification/modes/ZenModeFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModeFragment.java
@@ -16,20 +16,34 @@
package com.android.settings.notification.modes;
+import android.app.AlertDialog;
import android.app.Application;
-import android.app.AutomaticZenRule;
import android.app.settings.SettingsEnums;
import android.content.Context;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+
+import androidx.activity.ComponentActivity;
+import androidx.annotation.NonNull;
+import androidx.core.view.MenuProvider;
import com.android.settings.R;
import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.notification.modes.ZenMode;
import java.util.ArrayList;
import java.util.List;
public class ZenModeFragment extends ZenModeFragmentBase {
+ // for mode context menu
+ private static final int RENAME_MODE = 1;
+ private static final int DELETE_MODE = 2;
+
+ private ModeMenuProvider mModeMenuProvider;
+
@Override
protected int getPreferenceScreenResId() {
return R.xml.modes_rule_settings;
@@ -38,35 +52,62 @@
@Override
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
List<AbstractPreferenceController> prefControllers = new ArrayList<>();
- prefControllers.add(new ZenModeHeaderController(context, "header", this, mBackend));
- prefControllers.add(new ZenModeButtonPreferenceController(context, "activate", mBackend));
- prefControllers.add(new ZenModeActionsPreferenceController(context, "actions", mBackend));
+ prefControllers.add(new ZenModeHeaderController(context, "header", this));
+ prefControllers.add(
+ new ZenModeButtonPreferenceController(context, "activate", this, mBackend));
prefControllers.add(new ZenModePeopleLinkPreferenceController(
- context, "zen_mode_people", mBackend, mHelperBackend));
+ context, "zen_mode_people", mHelperBackend));
prefControllers.add(new ZenModeAppsLinkPreferenceController(
context, "zen_mode_apps", this,
ApplicationsState.getInstance((Application) context.getApplicationContext()),
mBackend, mHelperBackend));
prefControllers.add(new ZenModeOtherLinkPreferenceController(
- context, "zen_other_settings", mBackend, mHelperBackend));
+ context, "zen_other_settings", mHelperBackend));
prefControllers.add(new ZenModeDisplayLinkPreferenceController(
context, "mode_display_settings", mBackend, mHelperBackend));
prefControllers.add(new ZenModeSetTriggerLinkPreferenceController(context,
- "zen_automatic_trigger_category", mBackend));
+ "zen_automatic_trigger_category", this, mBackend));
+ prefControllers.add(new InterruptionFilterPreferenceController(
+ context, "allow_filtering", mBackend));
+ prefControllers.add(new ManualDurationPreferenceController(
+ context, "mode_manual_duration", this, mBackend));
return prefControllers;
}
@Override
+ public void onAttach(@NonNull Context context) {
+ super.onAttach(context);
+
+ // allow duration preference controller to listen for settings changes
+ use(ManualDurationPreferenceController.class).registerSettingsObserver();
+ }
+
+ @Override
public void onStart() {
super.onStart();
// Set title for the entire screen
ZenMode mode = getMode();
- AutomaticZenRule azr = getAZR();
- if (mode == null || azr == null) {
- return;
+ ComponentActivity activity = getActivity();
+ if (mode != null && activity != null) {
+ activity.setTitle(mode.getName());
+ mModeMenuProvider = new ModeMenuProvider(mode);
+ activity.addMenuProvider(mModeMenuProvider);
}
- getActivity().setTitle(azr.getName());
+ }
+
+ @Override
+ public void onStop() {
+ if (getActivity() != null) {
+ getActivity().removeMenuProvider(mModeMenuProvider);
+ }
+ super.onStop();
+ }
+
+ @Override
+ public void onDetach() {
+ use(ManualDurationPreferenceController.class).unregisterSettingsObserver();
+ super.onDetach();
}
@Override
@@ -74,4 +115,58 @@
// TODO: b/332937635 - make this the correct metrics category
return SettingsEnums.NOTIFICATION_ZEN_MODE_AUTOMATION;
}
+
+ @Override
+ protected void updateZenModeState() {
+ // Because this fragment may be asked to finish by the delete menu but not be done doing
+ // so yet, ignore any attempts to update info in that case.
+ if (getActivity() != null && getActivity().isFinishing()) {
+ return;
+ }
+ super.updateZenModeState();
+ }
+
+ private class ModeMenuProvider implements MenuProvider {
+ @NonNull private final ZenMode mZenMode;
+
+ ModeMenuProvider(@NonNull ZenMode mode) {
+ mZenMode = mode;
+ }
+
+ @Override
+ public void onCreateMenu(@NonNull Menu menu, @NonNull MenuInflater menuInflater) {
+ if (mZenMode.canEditNameAndIcon()) {
+ menu.add(Menu.NONE, RENAME_MODE, Menu.NONE, R.string.zen_mode_menu_rename_mode);
+ }
+ if (mZenMode.canBeDeleted()) {
+ // Only deleteable modes should get a delete menu option.
+ menu.add(Menu.NONE, DELETE_MODE, Menu.NONE, R.string.zen_mode_menu_delete_mode);
+ }
+ }
+
+ @Override
+ public boolean onMenuItemSelected(@NonNull MenuItem menuItem) {
+ if (menuItem.getItemId() == RENAME_MODE) {
+ // TODO: b/332937635 - Update metrics category
+ ZenSubSettingLauncher.forModeFragment(mContext, ZenModeEditNameIconFragment.class,
+ mZenMode.getId(), 0).launch();
+ } else if (menuItem.getItemId() == DELETE_MODE) {
+ new AlertDialog.Builder(mContext)
+ .setTitle(mContext.getString(R.string.zen_mode_delete_mode_confirmation,
+ mZenMode.getRule().getName()))
+ .setPositiveButton(R.string.zen_mode_schedule_delete,
+ (dialog, which) -> {
+ // start finishing before calling removeMode() so that we
+ // don't try to update this activity with a nonexistent mode
+ // when the zen mode config is updated
+ finish();
+ mBackend.removeMode(mZenMode);
+ })
+ .setNegativeButton(R.string.cancel, null)
+ .show();
+ return true;
+ }
+ return false;
+ }
+ }
}
diff --git a/src/com/android/settings/notification/modes/ZenModeFragmentBase.java b/src/com/android/settings/notification/modes/ZenModeFragmentBase.java
index e086524..f461fc3 100644
--- a/src/com/android/settings/notification/modes/ZenModeFragmentBase.java
+++ b/src/com/android/settings/notification/modes/ZenModeFragmentBase.java
@@ -16,7 +16,8 @@
package com.android.settings.notification.modes;
-import android.app.AutomaticZenRule;
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
+
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
@@ -29,15 +30,18 @@
import com.android.settings.R;
import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.notification.modes.ZenMode;
+
+import com.google.common.base.Preconditions;
import java.util.List;
+import java.util.function.Consumer;
/**
* Base class for Settings pages used to configure individual modes.
*/
abstract class ZenModeFragmentBase extends ZenModesFragmentBase {
static final String TAG = "ZenModeSettings";
- static final String MODE_ID = "MODE_ID";
@Nullable // only until reloadMode() is called
private ZenMode mZenMode;
@@ -46,17 +50,21 @@
public void onAttach(@NonNull Context context) {
super.onAttach(context);
- // TODO: b/322373473 - Update if modes page ends up using a different method of passing id
+ String id = null;
+ if (getActivity() != null && getActivity().getIntent() != null) {
+ id = getActivity().getIntent().getStringExtra(EXTRA_AUTOMATIC_ZEN_RULE_ID);
+ }
Bundle bundle = getArguments();
- if (bundle != null && bundle.containsKey(MODE_ID)) {
- String id = bundle.getString(MODE_ID);
- if (!reloadMode(id)) {
- Log.e(TAG, "Mode id " + id + " not found");
- toastAndFinish();
- return;
- }
- } else {
- Log.e(TAG, "Mode id required to set mode config settings");
+ if (id == null && bundle != null && bundle.containsKey(EXTRA_AUTOMATIC_ZEN_RULE_ID)) {
+ id = bundle.getString(EXTRA_AUTOMATIC_ZEN_RULE_ID);
+ }
+ if (id == null) {
+ Log.d(TAG, "No id provided");
+ toastAndFinish();
+ return;
+ }
+ if (!reloadMode(id)) {
+ Log.d(TAG, "Mode id " + id + " not found");
toastAndFinish();
return;
}
@@ -120,10 +128,6 @@
}
for (List<AbstractPreferenceController> list : getPreferenceControllers()) {
for (AbstractPreferenceController controller : list) {
- if (!controller.isAvailable()) {
- continue;
- }
-
try {
// Find preference associated with controller
final String key = controller.getPreferenceKey();
@@ -137,6 +141,7 @@
String.format("Cannot find preference with key %s in Controller %s",
key, controller.getClass().getSimpleName()));
}
+ controller.displayPreference(screen);
} catch (ClassCastException e) {
// Skip any controllers that aren't AbstractZenModePreferenceController.
Log.d(TAG, "Could not cast: " + controller.getClass().getSimpleName());
@@ -159,14 +164,15 @@
return mZenMode;
}
- /**
- * Get AutomaticZenRule associated with current mode data, or null if it doesn't exist.
- */
- @Nullable
- public AutomaticZenRule getAZR() {
- if (mZenMode == null) {
- return null;
+ protected final boolean saveMode(Consumer<ZenMode> updater) {
+ Preconditions.checkState(mBackend != null);
+ ZenMode mode = mZenMode;
+ if (mode == null) {
+ Log.wtf(TAG, "Cannot save mode, it hasn't been loaded (" + getClass() + ")");
+ return false;
}
- return mZenMode.getRule();
+ updater.accept(mode);
+ mBackend.updateMode(mode);
+ return true;
}
}
diff --git a/src/com/android/settings/notification/modes/ZenModeHeaderController.java b/src/com/android/settings/notification/modes/ZenModeHeaderController.java
index d8f0a67..545abff 100644
--- a/src/com/android/settings/notification/modes/ZenModeHeaderController.java
+++ b/src/com/android/settings/notification/modes/ZenModeHeaderController.java
@@ -19,12 +19,13 @@
import android.content.Context;
import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
import androidx.preference.Preference;
import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.widget.EntityHeaderController;
+import com.android.settingslib.notification.modes.ZenIconLoader;
+import com.android.settingslib.notification.modes.ZenMode;
import com.android.settingslib.widget.LayoutPreference;
class ZenModeHeaderController extends AbstractZenModePreferenceController {
@@ -35,9 +36,8 @@
ZenModeHeaderController(
@NonNull Context context,
@NonNull String key,
- @NonNull DashboardFragment fragment,
- @Nullable ZenModesBackend backend) {
- super(context, key, backend);
+ @NonNull DashboardFragment fragment) {
+ super(context, key);
mFragment = fragment;
}
@@ -62,8 +62,8 @@
}
FutureUtil.whenDone(
- zenMode.getIcon(mContext, IconLoader.getInstance()),
- icon -> mHeaderController.setIcon(IconUtil.applyTint(mContext, icon))
+ zenMode.getIcon(mContext, ZenIconLoader.getInstance()),
+ icon -> mHeaderController.setIcon(IconUtil.applyNormalTint(mContext, icon))
.done(/* rebindActions= */ false),
mContext.getMainExecutor());
}
diff --git a/src/com/android/settings/notification/modes/ZenModeIconPickerFragment.java b/src/com/android/settings/notification/modes/ZenModeIconPickerFragment.java
deleted file mode 100644
index 760b183..0000000
--- a/src/com/android/settings/notification/modes/ZenModeIconPickerFragment.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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.settings.notification.modes;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-
-import com.android.settings.R;
-import com.android.settingslib.core.AbstractPreferenceController;
-
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-public class ZenModeIconPickerFragment extends ZenModeFragmentBase {
- @Override
- protected int getPreferenceScreenResId() {
- return R.xml.modes_icon_picker;
- }
-
- @Override
- public int getMetricsCategory() {
- // TODO: b/332937635 - make this the correct metrics category
- return SettingsEnums.NOTIFICATION_ZEN_MODE_AUTOMATION;
- }
-
- @Override
- protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
- return ImmutableList.of(
- new ZenModeIconPickerIconPreferenceController(context, "current_icon", this,
- mBackend),
- new ZenModeIconPickerListPreferenceController(context, "icon_list", this,
- new IconOptionsProviderImpl(mContext), mBackend));
- }
-}
diff --git a/src/com/android/settings/notification/modes/ZenModeIconPickerIconPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeIconPickerIconPreferenceController.java
index 9eaaa97..70df9b6 100644
--- a/src/com/android/settings/notification/modes/ZenModeIconPickerIconPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeIconPickerIconPreferenceController.java
@@ -17,24 +17,28 @@
package com.android.settings.notification.modes;
import android.content.Context;
+import android.view.ViewGroup;
+import android.widget.ImageView;
import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
import androidx.preference.Preference;
import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.widget.EntityHeaderController;
+import com.android.settingslib.notification.modes.ZenIconLoader;
+import com.android.settingslib.notification.modes.ZenMode;
import com.android.settingslib.widget.LayoutPreference;
+/** Controller used for displaying the currently-chosen icon at the top of the icon picker. */
class ZenModeIconPickerIconPreferenceController extends AbstractZenModePreferenceController {
private final DashboardFragment mFragment;
private EntityHeaderController mHeaderController;
ZenModeIconPickerIconPreferenceController(@NonNull Context context, @NonNull String key,
- @NonNull DashboardFragment fragment, @Nullable ZenModesBackend backend) {
- super(context, key, backend);
+ @NonNull DashboardFragment fragment) {
+ super(context, key);
mFragment = fragment;
}
@@ -48,11 +52,19 @@
mFragment.getActivity(),
mFragment,
pref.findViewById(R.id.entity_header));
+
+ ImageView iconView = pref.findViewById(R.id.entity_header_icon);
+ ViewGroup.LayoutParams layoutParams = iconView.getLayoutParams();
+ int imageSizePx = iconView.getContext().getResources().getDimensionPixelSize(
+ R.dimen.zen_mode_icon_list_header_circle_diameter);
+ layoutParams.width = imageSizePx;
+ layoutParams.height = imageSizePx;
+ iconView.setLayoutParams(layoutParams);
}
FutureUtil.whenDone(
- zenMode.getIcon(mContext, IconLoader.getInstance()),
- icon -> mHeaderController.setIcon(IconUtil.applyTint(mContext, icon))
+ zenMode.getIcon(mContext, ZenIconLoader.getInstance()),
+ icon -> mHeaderController.setIcon(IconUtil.makeBigIconCircle(mContext, icon))
.done(/* rebindActions= */ false),
mContext.getMainExecutor());
}
diff --git a/src/com/android/settings/notification/modes/ZenModeIconPickerListPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeIconPickerListPreferenceController.java
index fc991dc..512dabb 100644
--- a/src/com/android/settings/notification/modes/ZenModeIconPickerListPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeIconPickerListPreferenceController.java
@@ -17,6 +17,7 @@
package com.android.settings.notification.modes;
import android.content.Context;
+import android.graphics.drawable.Drawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -30,24 +31,37 @@
import androidx.preference.PreferenceScreen;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.SimpleItemAnimator;
import com.android.settings.R;
-import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.notification.modes.ZenIconLoader;
+import com.android.settingslib.notification.modes.ZenMode;
import com.android.settingslib.widget.LayoutPreference;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Iterables;
+
+import java.util.HashMap;
+import java.util.Map;
class ZenModeIconPickerListPreferenceController extends AbstractZenModePreferenceController {
- private final DashboardFragment mFragment;
private final IconOptionsProvider mIconOptionsProvider;
+ private final IconPickerListener mListener;
@Nullable private IconAdapter mAdapter;
+ private @DrawableRes int mCurrentIconResId;
ZenModeIconPickerListPreferenceController(@NonNull Context context, @NonNull String key,
- @NonNull DashboardFragment fragment, @NonNull IconOptionsProvider iconOptionsProvider,
- @Nullable ZenModesBackend backend) {
- super(context, key, backend);
- mFragment = fragment;
+ @NonNull IconPickerListener listener) {
+ this(context, key, listener, new IconOptionsProviderImpl(context));
+ }
+
+ @VisibleForTesting
+ ZenModeIconPickerListPreferenceController(@NonNull Context context, @NonNull String key,
+ @NonNull IconPickerListener listener,
+ @NonNull IconOptionsProvider iconOptionsProvider) {
+ super(context, key);
+ mListener = listener;
mIconOptionsProvider = iconOptionsProvider;
}
@@ -66,20 +80,38 @@
recyclerView.setLayoutManager(new AutoFitGridLayoutManager(mContext));
recyclerView.setAdapter(mAdapter);
recyclerView.setHasFixedSize(true);
- }
-
- @VisibleForTesting
- void onIconSelected(@DrawableRes int resId) {
- saveMode(mode -> {
- mode.getRule().setIconResId(resId);
- return mode;
- });
- mFragment.finish();
+ if (recyclerView.getItemAnimator() instanceof SimpleItemAnimator animator) {
+ animator.setSupportsChangeAnimations(true);
+ }
}
@Override
void updateState(Preference preference, @NonNull ZenMode zenMode) {
- // Nothing to do, the current icon is shown in a different preference.
+ @DrawableRes int iconResId = zenMode.getRule().getIconResId();
+ if (iconResId == 0) {
+ iconResId = ZenIconLoader.getIconResourceIdFromType(zenMode.getType());
+ }
+ updateIconSelection(iconResId);
+ }
+
+ private void updateIconSelection(@DrawableRes int iconResId) {
+ if (iconResId != mCurrentIconResId) {
+ int oldIconResId = mCurrentIconResId;
+ mCurrentIconResId = iconResId;
+ if (mAdapter != null) {
+ mAdapter.notifyIconChanged(oldIconResId);
+ mAdapter.notifyIconChanged(mCurrentIconResId);
+ }
+ }
+ }
+
+ private void onIconSelected(@DrawableRes int iconResId) {
+ updateIconSelection(iconResId);
+ mListener.onIconSelected(iconResId);
+ }
+
+ interface IconPickerListener {
+ void onIconSelected(@DrawableRes int iconResId);
}
private class IconHolder extends RecyclerView.ViewHolder {
@@ -91,20 +123,25 @@
mImageView = itemView.findViewById(R.id.icon_image_view);
}
- void bindIcon(IconOptionsProvider.IconInfo icon) {
- mImageView.setImageDrawable(
- IconUtil.makeIconCircle(itemView.getContext(), icon.resId()));
+ void bindIcon(IconOptionsProvider.IconInfo icon, Drawable iconDrawable) {
+ mImageView.setImageDrawable(iconDrawable);
itemView.setContentDescription(icon.description());
- itemView.setOnClickListener(v -> onIconSelected(icon.resId()));
+ itemView.setOnClickListener(v -> {
+ itemView.setSelected(true); // Immediately, to avoid flicker until we rebind.
+ onIconSelected(icon.resId());
+ });
+ itemView.setSelected(icon.resId() == mCurrentIconResId);
}
}
private class IconAdapter extends RecyclerView.Adapter<IconHolder> {
private final ImmutableList<IconOptionsProvider.IconInfo> mIconResources;
+ private final Map<IconOptionsProvider.IconInfo, Drawable> mIconCache;
private IconAdapter(IconOptionsProvider iconOptionsProvider) {
mIconResources = iconOptionsProvider.getIcons();
+ mIconCache = new HashMap<>();
}
@NonNull
@@ -117,13 +154,24 @@
@Override
public void onBindViewHolder(@NonNull IconHolder holder, int position) {
- holder.bindIcon(mIconResources.get(position));
+ IconOptionsProvider.IconInfo iconInfo = mIconResources.get(position);
+ Drawable iconDrawable = mIconCache.computeIfAbsent(iconInfo,
+ info -> IconUtil.makeSmallIconCircle(mContext, info.resId()));
+ holder.bindIcon(iconInfo, iconDrawable);
}
@Override
public int getItemCount() {
return mIconResources.size();
}
+
+ private void notifyIconChanged(@DrawableRes int iconResId) {
+ int position = Iterables.indexOf(mIconResources,
+ iconInfo -> iconInfo.resId() == iconResId);
+ if (position != -1) {
+ notifyItemChanged(position);
+ }
+ }
}
private static class AutoFitGridLayoutManager extends GridLayoutManager {
diff --git a/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceController.java
index 6e563c4..4c0b758 100644
--- a/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceController.java
@@ -16,7 +16,7 @@
package com.android.settings.notification.modes;
-import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
import android.content.Context;
import android.os.Bundle;
@@ -25,20 +25,21 @@
import androidx.preference.Preference;
import com.android.settings.core.SubSettingLauncher;
+import com.android.settingslib.notification.modes.ZenMode;
class ZenModeMessagesLinkPreferenceController extends AbstractZenModePreferenceController {
private final ZenModeSummaryHelper mSummaryHelper;
public ZenModeMessagesLinkPreferenceController(Context context, String key,
- ZenModesBackend backend, ZenHelperBackend helperBackend) {
- super(context, key, backend);
+ ZenHelperBackend helperBackend) {
+ super(context, key);
mSummaryHelper = new ZenModeSummaryHelper(context, helperBackend);
}
@Override
public void updateState(Preference preference, @NonNull ZenMode zenMode) {
Bundle bundle = new Bundle();
- bundle.putString(MODE_ID, zenMode.getId());
+ bundle.putString(EXTRA_AUTOMATIC_ZEN_RULE_ID, zenMode.getId());
// TODO(b/332937635): Update metrics category
preference.setIntent(new SubSettingLauncher(mContext)
.setDestination(ZenModeMessagesFragment.class.getName())
diff --git a/src/com/android/settings/notification/modes/ZenModeNewCustomFragment.java b/src/com/android/settings/notification/modes/ZenModeNewCustomFragment.java
new file mode 100644
index 0000000..6086c0c
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenModeNewCustomFragment.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import androidx.annotation.Nullable;
+
+import com.android.settings.R;
+import com.android.settingslib.notification.modes.ZenMode;
+
+import com.google.common.base.Strings;
+
+public class ZenModeNewCustomFragment extends ZenModeEditNameIconFragmentBase {
+
+ @Nullable
+ @Override
+ protected ZenMode onCreateInstantiateZenMode() {
+ return ZenMode.newCustomManual(
+ requireContext().getString(R.string.zen_mode_new_custom_default_name),
+ /* iconResId= */ 0);
+ }
+
+ @Override
+ public void onStart() {
+ super.onStart();
+ requireActivity().setTitle(R.string.zen_mode_new_custom_title);
+ }
+
+ @Override
+ void saveMode(ZenMode mode) {
+ String modeName = Strings.isNullOrEmpty(mode.getName())
+ ? requireContext().getString(R.string.zen_mode_new_custom_default_name)
+ : mode.getName();
+
+ ZenMode created = requireBackend().addCustomManualMode(modeName,
+ mode.getRule().getIconResId());
+ if (created != null) {
+ // Open the mode view fragment and close the "add mode" fragment, so exiting the mode
+ // view goes back to previous screen (which should be the modes list).
+ ZenSubSettingLauncher.forMode(requireContext(), created.getId()).launch();
+ finish();
+ }
+ }
+
+ @Override
+ public int getMetricsCategory() {
+ // TODO: b/332937635 - make this the correct metrics category
+ return 0;
+ }
+
+ @Override
+ protected String getLogTag() {
+ return "ZenModeNewCustomFragment";
+ }
+}
diff --git a/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceController.java
index 15da96e..622c4a2 100644
--- a/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceController.java
@@ -16,7 +16,8 @@
package com.android.settings.notification.modes;
-import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
import android.content.Context;
import android.os.Bundle;
@@ -25,21 +26,27 @@
import androidx.preference.Preference;
import com.android.settings.core.SubSettingLauncher;
+import com.android.settingslib.notification.modes.ZenMode;
class ZenModeNotifVisLinkPreferenceController extends AbstractZenModePreferenceController {
private final ZenModeSummaryHelper mSummaryBuilder;
public ZenModeNotifVisLinkPreferenceController(Context context, String key,
- ZenModesBackend backend, ZenHelperBackend helperBackend) {
- super(context, key, backend);
+ ZenHelperBackend helperBackend) {
+ super(context, key);
mSummaryBuilder = new ZenModeSummaryHelper(context, helperBackend);
}
@Override
+ public boolean isAvailable(ZenMode zenMode) {
+ return zenMode.getRule().getInterruptionFilter() != INTERRUPTION_FILTER_ALL;
+ }
+
+ @Override
public void updateState(Preference preference, @NonNull ZenMode zenMode) {
Bundle bundle = new Bundle();
- bundle.putString(MODE_ID, zenMode.getId());
+ bundle.putString(EXTRA_AUTOMATIC_ZEN_RULE_ID, zenMode.getId());
// TODO(b/332937635): Update metrics category
preference.setIntent(new SubSettingLauncher(mContext)
.setDestination(ZenModeNotifVisFragment.class.getName())
diff --git a/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceController.java
index f918b25..3d9f713 100644
--- a/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceController.java
@@ -21,19 +21,21 @@
import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;
-import androidx.preference.CheckBoxPreference;
import androidx.preference.Preference;
import androidx.preference.TwoStatePreference;
-import com.android.settings.widget.DisabledCheckBoxPreference;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
public class ZenModeNotifVisPreferenceController extends AbstractZenModePreferenceController
implements Preference.OnPreferenceChangeListener {
- @VisibleForTesting protected @ZenPolicy.VisualEffect int mEffect;
+ @VisibleForTesting
+ protected @ZenPolicy.VisualEffect int mEffect;
// if any of these effects are suppressed, this effect must be too
- @VisibleForTesting protected @ZenPolicy.VisualEffect int[] mParentSuppressedEffects;
+ @VisibleForTesting
+ protected @ZenPolicy.VisualEffect int[] mParentSuppressedEffects;
public ZenModeNotifVisPreferenceController(Context context, String key,
@ZenPolicy.VisualEffect int visualEffect,
diff --git a/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceController.java
index 89b719e..248ef1d 100644
--- a/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceController.java
@@ -16,7 +16,8 @@
package com.android.settings.notification.modes;
-import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
import android.content.Context;
import android.os.Bundle;
@@ -25,6 +26,7 @@
import androidx.preference.Preference;
import com.android.settings.core.SubSettingLauncher;
+import com.android.settingslib.notification.modes.ZenMode;
/**
* Preference with a link and summary about what other sounds can break through the mode
@@ -34,15 +36,20 @@
private final ZenModeSummaryHelper mSummaryHelper;
public ZenModeOtherLinkPreferenceController(Context context, String key,
- ZenModesBackend backend, ZenHelperBackend helperBackend) {
- super(context, key, backend);
+ ZenHelperBackend helperBackend) {
+ super(context, key);
mSummaryHelper = new ZenModeSummaryHelper(mContext, helperBackend);
}
@Override
+ public boolean isAvailable(ZenMode zenMode) {
+ return zenMode.getRule().getInterruptionFilter() != INTERRUPTION_FILTER_ALL;
+ }
+
+ @Override
public void updateState(Preference preference, @NonNull ZenMode zenMode) {
Bundle bundle = new Bundle();
- bundle.putString(MODE_ID, zenMode.getId());
+ bundle.putString(EXTRA_AUTOMATIC_ZEN_RULE_ID, zenMode.getId());
preference.setIntent(new SubSettingLauncher(mContext)
.setDestination(ZenModeOtherFragment.class.getName())
.setSourceMetricsCategory(0)
diff --git a/src/com/android/settings/notification/modes/ZenModeOtherPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeOtherPreferenceController.java
index a770164e..ad5fa6a 100644
--- a/src/com/android/settings/notification/modes/ZenModeOtherPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeOtherPreferenceController.java
@@ -28,6 +28,9 @@
import androidx.preference.Preference;
import androidx.preference.TwoStatePreference;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
class ZenModeOtherPreferenceController extends AbstractZenModePreferenceController
implements Preference.OnPreferenceChangeListener {
diff --git a/src/com/android/settings/notification/modes/ZenModePeopleFragment.java b/src/com/android/settings/notification/modes/ZenModePeopleFragment.java
index 448712c..f541d13 100644
--- a/src/com/android/settings/notification/modes/ZenModePeopleFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModePeopleFragment.java
@@ -35,9 +35,9 @@
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
List<AbstractPreferenceController> prefControllers = new ArrayList<>();
prefControllers.add(new ZenModeCallsLinkPreferenceController(
- context, "zen_mode_people_calls", mBackend, mHelperBackend));
+ context, "zen_mode_people_calls", mHelperBackend));
prefControllers.add(new ZenModeMessagesLinkPreferenceController(
- context, "zen_mode_people_messages", mBackend, mHelperBackend));
+ context, "zen_mode_people_messages", mHelperBackend));
return prefControllers;
}
diff --git a/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceController.java
index 271ca72..936cea6 100644
--- a/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceController.java
@@ -16,7 +16,8 @@
package com.android.settings.notification.modes;
-import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
import android.content.Context;
import android.os.Bundle;
@@ -25,6 +26,7 @@
import androidx.preference.Preference;
import com.android.settings.core.SubSettingLauncher;
+import com.android.settingslib.notification.modes.ZenMode;
/**
* Preference with a link and summary about what calls and messages can break through the mode
@@ -34,15 +36,20 @@
private final ZenModeSummaryHelper mSummaryHelper;
public ZenModePeopleLinkPreferenceController(Context context, String key,
- ZenModesBackend backend, ZenHelperBackend helperBackend) {
- super(context, key, backend);
+ ZenHelperBackend helperBackend) {
+ super(context, key);
mSummaryHelper = new ZenModeSummaryHelper(mContext, helperBackend);
}
@Override
+ public boolean isAvailable(ZenMode zenMode) {
+ return zenMode.getRule().getInterruptionFilter() != INTERRUPTION_FILTER_ALL;
+ }
+
+ @Override
public void updateState(Preference preference, @NonNull ZenMode zenMode) {
Bundle bundle = new Bundle();
- bundle.putString(MODE_ID, zenMode.getId());
+ bundle.putString(EXTRA_AUTOMATIC_ZEN_RULE_ID, zenMode.getId());
// TODO(b/332937635): Update metrics category
preference.setIntent(new SubSettingLauncher(mContext)
.setDestination(ZenModePeopleFragment.class.getName())
diff --git a/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceController.java b/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceController.java
index 31a8a0d..0f9323d 100644
--- a/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceController.java
@@ -46,6 +46,8 @@
import com.android.settings.R;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.notification.app.ConversationListSettings;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
import com.android.settingslib.widget.SelectorWithWidgetPreference;
import java.util.ArrayList;
diff --git a/src/com/android/settings/notification/modes/ZenModeRepeatCallersPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeRepeatCallersPreferenceController.java
index 7569051..ae62e35 100644
--- a/src/com/android/settings/notification/modes/ZenModeRepeatCallersPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeRepeatCallersPreferenceController.java
@@ -26,6 +26,8 @@
import androidx.preference.TwoStatePreference;
import com.android.settings.R;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
class ZenModeRepeatCallersPreferenceController extends AbstractZenModePreferenceController
implements Preference.OnPreferenceChangeListener {
diff --git a/src/com/android/settings/notification/modes/ZenModeScheduleChooserDialog.java b/src/com/android/settings/notification/modes/ZenModeScheduleChooserDialog.java
new file mode 100644
index 0000000..14264b7
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenModeScheduleChooserDialog.java
@@ -0,0 +1,149 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.base.Preconditions.checkState;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.net.Uri;
+import android.os.Bundle;
+import android.service.notification.ZenModeConfig;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ArrayAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.DrawableRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
+import androidx.appcompat.app.AlertDialog;
+
+import com.android.settings.R;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settings.dashboard.DashboardFragment;
+
+import com.google.common.collect.ImmutableList;
+
+public class ZenModeScheduleChooserDialog extends InstrumentedDialogFragment {
+
+ private static final String TAG = "ZenModeScheduleChooserDialog";
+
+ static final int OPTION_TIME = 0;
+ static final int OPTION_CALENDAR = 1;
+
+ private record ScheduleOption(@StringRes int nameResId, @StringRes int exampleResId,
+ @DrawableRes int iconResId) {}
+
+ private static final ImmutableList<ScheduleOption> SCHEDULE_OPTIONS = ImmutableList.of(
+ new ScheduleOption(R.string.zen_mode_select_schedule_time,
+ R.string.zen_mode_select_schedule_time_example,
+ com.android.internal.R.drawable.ic_zen_mode_type_schedule_time),
+ new ScheduleOption(R.string.zen_mode_select_schedule_calendar,
+ R.string.zen_mode_select_schedule_calendar_example,
+ com.android.internal.R.drawable.ic_zen_mode_type_schedule_calendar));
+
+ private OnScheduleOptionListener mOptionListener;
+
+ interface OnScheduleOptionListener {
+ void onScheduleSelected(Uri conditionId);
+ }
+
+ @Override
+ public int getMetricsCategory() {
+ // TODO: b/332937635 - Update metrics category
+ return 0;
+ }
+
+ static void show(DashboardFragment parent, OnScheduleOptionListener optionListener) {
+ ZenModeScheduleChooserDialog dialog = new ZenModeScheduleChooserDialog();
+ dialog.mOptionListener = optionListener;
+ dialog.setTargetFragment(parent, 0);
+ dialog.show(parent.getParentFragmentManager(), TAG);
+ }
+
+ @NonNull
+ @Override
+ public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+ checkState(getContext() != null);
+ return new AlertDialog.Builder(getContext())
+ .setTitle(R.string.zen_mode_choose_rule_type)
+ .setAdapter(new OptionsAdapter(getContext()),
+ (dialog, which) -> onScheduleTypeSelected(which))
+ .setNegativeButton(R.string.cancel, null)
+ .create();
+ }
+
+ private static class OptionsAdapter extends ArrayAdapter<ScheduleOption> {
+
+ private final LayoutInflater mInflater;
+
+ OptionsAdapter(@NonNull Context context) {
+ super(context, R.layout.zen_mode_type_item, SCHEDULE_OPTIONS);
+ mInflater = LayoutInflater.from(context);
+ }
+
+ @NonNull
+ @Override
+ public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
+ if (convertView == null) {
+ convertView = mInflater.inflate(R.layout.zen_mode_type_item, parent, false);
+ }
+ // No need for holder pattern since we have only 2 items.
+ ImageView imageView = checkNotNull(convertView.findViewById(R.id.icon));
+ TextView title = checkNotNull(convertView.findViewById(R.id.title));
+ TextView subtitle = checkNotNull(convertView.findViewById(R.id.subtitle));
+
+ ScheduleOption option = checkNotNull(getItem(position));
+ imageView.setImageResource(option.iconResId());
+ title.setText(option.nameResId());
+ subtitle.setText(option.exampleResId());
+
+ return convertView;
+ }
+ }
+
+ private void onScheduleTypeSelected(int whichOption) {
+ Uri conditionId = switch (whichOption) {
+ case OPTION_TIME -> getDefaultScheduleTimeCondition();
+ case OPTION_CALENDAR -> getDefaultScheduleCalendarCondition();
+ default -> ZenModeConfig.toCustomManualConditionId();
+ };
+
+ mOptionListener.onScheduleSelected(conditionId);
+ }
+
+ private static Uri getDefaultScheduleTimeCondition() {
+ ZenModeConfig.ScheduleInfo schedule = new ZenModeConfig.ScheduleInfo();
+ schedule.days = ZenModeConfig.ALL_DAYS;
+ schedule.startHour = 9;
+ schedule.startMinute = 30;
+ schedule.endHour = 17;
+ return ZenModeConfig.toScheduleConditionId(schedule);
+ }
+
+ private static Uri getDefaultScheduleCalendarCondition() {
+ ZenModeConfig.EventInfo eventInfo = new ZenModeConfig.EventInfo();
+ eventInfo.calendarId = null; // All calendars of the current user.
+ eventInfo.reply = ZenModeConfig.EventInfo.REPLY_ANY_EXCEPT_NO;
+ return ZenModeConfig.toEventConditionId(eventInfo);
+ }
+}
diff --git a/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceController.java
index 2841309..4f45c5c8 100644
--- a/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceController.java
@@ -16,14 +16,12 @@
package com.android.settings.notification.modes;
-import android.app.Flags;
import android.content.Context;
import android.content.pm.PackageManager;
import android.database.Cursor;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.CalendarContract;
-import android.service.notification.SystemZenRules;
import android.service.notification.ZenModeConfig;
import androidx.annotation.NonNull;
@@ -33,6 +31,8 @@
import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
import java.util.ArrayList;
import java.util.Arrays;
@@ -42,7 +42,7 @@
import java.util.Objects;
import java.util.function.Function;
-public class ZenModeSetCalendarPreferenceController extends AbstractZenModePreferenceController {
+class ZenModeSetCalendarPreferenceController extends AbstractZenModePreferenceController {
@VisibleForTesting
protected static final String KEY_CALENDAR = "calendar";
@VisibleForTesting
@@ -122,11 +122,7 @@
@VisibleForTesting
protected Function<ZenMode, ZenMode> updateEventMode(ZenModeConfig.EventInfo event) {
return (zenMode) -> {
- zenMode.getRule().setConditionId(ZenModeConfig.toEventConditionId(event));
- if (Flags.modesApi() && Flags.modesUi()) {
- zenMode.getRule().setTriggerDescription(
- SystemZenRules.getTriggerDescriptionForScheduleEvent(mContext, event));
- }
+ zenMode.setCustomModeConditionId(mContext, ZenModeConfig.toEventConditionId(event));
return zenMode;
};
}
diff --git a/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceController.java b/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceController.java
index a6008cc..878a508 100644
--- a/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceController.java
@@ -16,9 +16,7 @@
package com.android.settings.notification.modes;
-import android.app.Flags;
import android.content.Context;
-import android.service.notification.SystemZenRules;
import android.service.notification.ZenModeConfig;
import android.text.format.DateFormat;
import android.util.ArraySet;
@@ -33,6 +31,8 @@
import androidx.preference.Preference;
import com.android.settings.R;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
import com.android.settingslib.widget.LayoutPreference;
import java.text.SimpleDateFormat;
@@ -116,16 +116,13 @@
@VisibleForTesting
protected Function<ZenMode, ZenMode> updateScheduleMode(ZenModeConfig.ScheduleInfo schedule) {
return (zenMode) -> {
- zenMode.getRule().setConditionId(ZenModeConfig.toScheduleConditionId(schedule));
- if (Flags.modesApi() && Flags.modesUi()) {
- zenMode.getRule().setTriggerDescription(
- SystemZenRules.getTriggerDescriptionForScheduleTime(mContext, schedule));
- }
+ zenMode.setCustomModeConditionId(mContext,
+ ZenModeConfig.toScheduleConditionId(schedule));
return zenMode;
};
}
- private ZenModeTimePickerFragment.TimeSetter mStartSetter = (hour, minute) -> {
+ private final ZenModeTimePickerFragment.TimeSetter mStartSetter = (hour, minute) -> {
if (!isValidTime(hour, minute)) {
return;
}
@@ -137,7 +134,7 @@
saveMode(updateScheduleMode(mSchedule));
};
- private ZenModeTimePickerFragment.TimeSetter mEndSetter = (hour, minute) -> {
+ private final ZenModeTimePickerFragment.TimeSetter mEndSetter = (hour, minute) -> {
if (!isValidTime(hour, minute)) {
return;
}
diff --git a/src/com/android/settings/notification/modes/ZenModeSetTriggerLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeSetTriggerLinkPreferenceController.java
index 14d5d59..86135a9 100644
--- a/src/com/android/settings/notification/modes/ZenModeSetTriggerLinkPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeSetTriggerLinkPreferenceController.java
@@ -13,35 +13,57 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package com.android.settings.notification.modes;
import static android.app.AutomaticZenRule.TYPE_SCHEDULE_CALENDAR;
import static android.app.AutomaticZenRule.TYPE_SCHEDULE_TIME;
-import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
-
import android.content.Context;
-import android.os.Bundle;
+import android.content.Intent;
+import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
import com.android.settings.R;
-import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.dashboard.DashboardFragment;
import com.android.settingslib.PrimarySwitchPreference;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
/**
* Preference controller for the link to an individual mode's configuration page.
*/
class ZenModeSetTriggerLinkPreferenceController extends AbstractZenModePreferenceController {
+ private static final String TAG = "ZenModeSetTriggerLink";
+
@VisibleForTesting
protected static final String AUTOMATIC_TRIGGER_PREF_KEY = "zen_automatic_trigger_settings";
+ private final ConfigurationActivityHelper mConfigurationActivityHelper;
+ private final ZenServiceListing mServiceListing;
+ private final DashboardFragment mFragment;
+
ZenModeSetTriggerLinkPreferenceController(Context context, String key,
- ZenModesBackend backend) {
+ DashboardFragment fragment, ZenModesBackend backend) {
+ this(context, key, fragment, backend,
+ new ConfigurationActivityHelper(context.getPackageManager()),
+ new ZenServiceListing(context));
+ }
+
+ @VisibleForTesting
+ ZenModeSetTriggerLinkPreferenceController(Context context, String key,
+ DashboardFragment fragment, ZenModesBackend backend,
+ ConfigurationActivityHelper configurationActivityHelper,
+ ZenServiceListing serviceListing) {
super(context, key, backend);
+ mFragment = fragment;
+ mConfigurationActivityHelper = configurationActivityHelper;
+ mServiceListing = serviceListing;
}
@Override
@@ -50,51 +72,74 @@
}
@Override
+ public void displayPreference(PreferenceScreen screen, @NonNull ZenMode zenMode) {
+ // Preload approved components, but only for the package that owns the rule (since it's the
+ // only package that can have a valid configurationActivity).
+ mServiceListing.loadApprovedComponents(zenMode.getRule().getPackageName());
+ }
+
+ @Override
public void updateState(Preference preference, @NonNull ZenMode zenMode) {
// This controller is expected to govern a preference category so that it controls the
// availability of the entire preference category if the mode doesn't have a way to
// automatically trigger (such as manual DND).
- Preference switchPref = ((PreferenceCategory) preference).findPreference(
+ PrimarySwitchPreference switchPref = ((PreferenceCategory) preference).findPreference(
AUTOMATIC_TRIGGER_PREF_KEY);
if (switchPref == null) {
return;
}
- ((PrimarySwitchPreference) switchPref).setChecked(zenMode.getRule().isEnabled());
+ switchPref.setChecked(zenMode.getRule().isEnabled());
switchPref.setOnPreferenceChangeListener(mSwitchChangeListener);
+ switchPref.setSummary(zenMode.getRule().getTriggerDescription());
+ switchPref.setIcon(null);
+ switchPref.setOnPreferenceClickListener(null);
+ switchPref.setIntent(null);
- Bundle bundle = new Bundle();
- bundle.putString(MODE_ID, zenMode.getId());
-
- // TODO: b/341961712 - direct preference to app-owned intent if available
- switch (zenMode.getRule().getType()) {
- case TYPE_SCHEDULE_TIME:
+ if (zenMode.isSystemOwned()) {
+ if (zenMode.getType() == TYPE_SCHEDULE_TIME) {
switchPref.setTitle(R.string.zen_mode_set_schedule_link);
- switchPref.setSummary(zenMode.getRule().getTriggerDescription());
- switchPref.setIntent(new SubSettingLauncher(mContext)
- .setDestination(ZenModeSetScheduleFragment.class.getName())
- // TODO: b/332937635 - set correct metrics category
- .setSourceMetricsCategory(0)
- .setArguments(bundle)
- .toIntent());
- break;
- case TYPE_SCHEDULE_CALENDAR:
+ // TODO: b/332937635 - set correct metrics category
+ switchPref.setIntent(ZenSubSettingLauncher.forModeFragment(mContext,
+ ZenModeSetScheduleFragment.class, zenMode.getId(), 0).toIntent());
+ } else if (zenMode.getType() == TYPE_SCHEDULE_CALENDAR) {
switchPref.setTitle(R.string.zen_mode_set_calendar_link);
+ switchPref.setIcon(null);
+ // TODO: b/332937635 - set correct metrics category
+ switchPref.setIntent(ZenSubSettingLauncher.forModeFragment(mContext,
+ ZenModeSetCalendarFragment.class, zenMode.getId(), 0).toIntent());
+ } else {
+ switchPref.setTitle(R.string.zen_mode_select_schedule);
+ switchPref.setIcon(R.drawable.ic_add_24dp);
+ switchPref.setSummary("");
+ // TODO: b/342156843 - Hide the switch (needs support in SettingsLib).
+ switchPref.setOnPreferenceClickListener(clickedPreference -> {
+ ZenModeScheduleChooserDialog.show(mFragment, mOnScheduleOptionListener);
+ return true;
+ });
+ }
+ } else {
+ Intent intent = mConfigurationActivityHelper.getConfigurationActivityIntentForMode(
+ zenMode, mServiceListing::findService);
+ if (intent != null) {
+ preference.setVisible(true);
+ switchPref.setTitle(R.string.zen_mode_configuration_link_title);
switchPref.setSummary(zenMode.getRule().getTriggerDescription());
- switchPref.setIntent(new SubSettingLauncher(mContext)
- .setDestination(ZenModeSetCalendarFragment.class.getName())
- // TODO: b/332937635 - set correct metrics category
- .setSourceMetricsCategory(0)
- .setArguments(bundle)
- .toIntent());
- break;
- default:
- // TODO: b/342156843 - change this to allow adding a trigger condition for system
- // rules that don't yet have a type selected
- switchPref.setTitle("not implemented");
+ switchPref.setIntent(intent);
+ } else {
+ Log.i(TAG, "No intent found for " + zenMode.getRule().getName());
+ preference.setVisible(false);
+ }
}
}
@VisibleForTesting
+ final ZenModeScheduleChooserDialog.OnScheduleOptionListener mOnScheduleOptionListener =
+ conditionId -> saveMode(mode -> {
+ mode.setCustomModeConditionId(mContext, conditionId);
+ return mode;
+ });
+
+ @VisibleForTesting
protected Preference.OnPreferenceChangeListener mSwitchChangeListener = (p, newValue) -> {
final boolean newEnabled = (Boolean) newValue;
return saveMode((zenMode) -> {
@@ -103,5 +148,6 @@
}
return zenMode;
});
+ // TODO: b/342156843 - Do we want to jump to the corresponding schedule editing screen?
};
}
diff --git a/src/com/android/settings/notification/modes/ZenModeSummaryHelper.java b/src/com/android/settings/notification/modes/ZenModeSummaryHelper.java
index bf0bac9..00d0eef 100644
--- a/src/com/android/settings/notification/modes/ZenModeSummaryHelper.java
+++ b/src/com/android/settings/notification/modes/ZenModeSummaryHelper.java
@@ -15,6 +15,7 @@
*/
package com.android.settings.notification.modes;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
import static android.service.notification.ZenPolicy.CONVERSATION_SENDERS_ANYONE;
import static android.service.notification.ZenPolicy.CONVERSATION_SENDERS_IMPORTANT;
import static android.service.notification.ZenPolicy.CONVERSATION_SENDERS_NONE;
@@ -40,13 +41,17 @@
import android.content.Context;
import android.icu.text.MessageFormat;
+import android.provider.Settings;
import android.service.notification.ZenDeviceEffects;
+import android.service.notification.ZenModeConfig;
import android.service.notification.ZenPolicy;
+import android.util.ArrayMap;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.android.settings.R;
+import com.android.settingslib.notification.modes.ZenMode;
import java.util.ArrayList;
import java.util.Arrays;
@@ -187,11 +192,12 @@
String getDisplayEffectsSummary(ZenMode zenMode) {
boolean isFirst = true;
List<String> enabledEffects = new ArrayList<>();
- if (!zenMode.getPolicy().shouldShowAllVisualEffects()) {
+ if (!zenMode.getPolicy().shouldShowAllVisualEffects()
+ && zenMode.getRule().getInterruptionFilter() != INTERRUPTION_FILTER_ALL) {
enabledEffects.add(getBlockedEffectsSummary(zenMode));
isFirst = false;
}
- ZenDeviceEffects currEffects = zenMode.getRule().getDeviceEffects();
+ ZenDeviceEffects currEffects = zenMode.getRule().getDeviceEffects();
if (currEffects != null) {
if (currEffects.shouldDisplayGrayscale()) {
if (isFirst) {
@@ -411,8 +417,6 @@
return formatAppsList(appsBypassing);
} else if (zenMode.getPolicy().getAllowedChannels() == ZenPolicy.CHANNEL_POLICY_NONE) {
return mContext.getResources().getString(R.string.zen_mode_apps_none_apps);
- } else if (zenMode.getPolicy().getAllowedChannels() == ZenMode.CHANNEL_POLICY_ALL) {
- return mContext.getResources().getString(R.string.zen_mode_apps_all_apps);
}
return "";
}
@@ -447,4 +451,33 @@
}
return msgFormat.format(args);
}
+
+ String getSoundSummary(int zenMode, ZenModeConfig config) {
+ if (zenMode != Settings.Global.ZEN_MODE_OFF) {
+ String description = ZenModeConfig.getDescription(mContext, true, config, false);
+
+ if (description == null) {
+ return mContext.getString(R.string.zen_mode_sound_summary_on);
+ } else {
+ return mContext.getString(R.string.zen_mode_sound_summary_on_with_info,
+ description);
+ }
+ } else {
+ int count = 0;
+ final ArrayMap<String, ZenModeConfig.ZenRule> ruleMap = config.automaticRules;
+ if (ruleMap != null) {
+ for (ZenModeConfig.ZenRule rule : ruleMap.values()) {
+ if (rule != null && rule.enabled) {
+ count++;
+ }
+ }
+ }
+ MessageFormat msgFormat = new MessageFormat(
+ mContext.getString(R.string.modes_sound_summary_off),
+ Locale.getDefault());
+ Map<String, Object> msgArgs = new HashMap<>();
+ msgArgs.put("count", count);
+ return msgFormat.format(msgArgs);
+ }
+ }
}
diff --git a/src/com/android/settings/notification/modes/ZenModesBackend.java b/src/com/android/settings/notification/modes/ZenModesBackend.java
deleted file mode 100644
index b58e310..0000000
--- a/src/com/android/settings/notification/modes/ZenModesBackend.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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.settings.notification.modes;
-
-import android.annotation.Nullable;
-import android.app.ActivityManager;
-import android.app.AutomaticZenRule;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.net.Uri;
-import android.provider.Settings;
-import android.service.notification.Condition;
-import android.service.notification.SystemZenRules;
-import android.service.notification.ZenModeConfig;
-import android.util.Log;
-
-import com.android.settings.R;
-
-import java.time.Duration;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Class used for Settings-NMS interactions related to Mode management.
- *
- * <p>This class converts {@link AutomaticZenRule} instances, as well as the manual zen mode,
- * into the unified {@link ZenMode} format.
- */
-class ZenModesBackend {
-
- private static final String TAG = "ZenModeBackend";
-
- @Nullable // Until first usage
- private static ZenModesBackend sInstance;
-
- private final NotificationManager mNotificationManager;
-
- private final Context mContext;
-
- static ZenModesBackend getInstance(Context context) {
- if (sInstance == null) {
- sInstance = new ZenModesBackend(context.getApplicationContext());
- }
- return sInstance;
- }
-
- ZenModesBackend(Context context) {
- mContext = context;
- mNotificationManager = context.getSystemService(NotificationManager.class);
- }
-
- List<ZenMode> getModes() {
- ArrayList<ZenMode> modes = new ArrayList<>();
- ZenModeConfig currentConfig = mNotificationManager.getZenModeConfig();
- modes.add(getManualDndMode(currentConfig));
-
- Map<String, AutomaticZenRule> zenRules = mNotificationManager.getAutomaticZenRules();
- for (Map.Entry<String, AutomaticZenRule> zenRuleEntry : zenRules.entrySet()) {
- String ruleId = zenRuleEntry.getKey();
- modes.add(new ZenMode(ruleId, zenRuleEntry.getValue(),
- isRuleActive(ruleId, currentConfig)));
- }
-
- modes.sort((l, r) -> {
- if (l.isManualDnd()) {
- return -1;
- } else if (r.isManualDnd()) {
- return 1;
- }
- return l.getRule().getName().compareTo(r.getRule().getName());
- });
-
- return modes;
- }
-
- @Nullable
- ZenMode getMode(String id) {
- ZenModeConfig currentConfig = mNotificationManager.getZenModeConfig();
- if (ZenMode.MANUAL_DND_MODE_ID.equals(id)) {
- return getManualDndMode(currentConfig);
- } else {
- AutomaticZenRule rule = mNotificationManager.getAutomaticZenRule(id);
- if (rule == null) {
- return null;
- }
- return new ZenMode(id, rule, isRuleActive(id, currentConfig));
- }
- }
-
- private ZenMode getManualDndMode(ZenModeConfig config) {
- ZenModeConfig.ZenRule manualRule = config.manualRule;
- // TODO: b/333682392 - Replace with final strings for name & trigger description
- AutomaticZenRule manualDndRule = new AutomaticZenRule.Builder(
- mContext.getString(R.string.zen_mode_settings_title), manualRule.conditionId)
- .setType(manualRule.type)
- .setZenPolicy(manualRule.zenPolicy)
- .setDeviceEffects(manualRule.zenDeviceEffects)
- .setManualInvocationAllowed(manualRule.allowManualInvocation)
- .setConfigurationActivity(null) // No further settings
- .setInterruptionFilter(NotificationManager.INTERRUPTION_FILTER_PRIORITY)
- .build();
-
- return ZenMode.manualDndMode(manualDndRule, config != null && config.isManualActive());
- }
-
- private static boolean isRuleActive(String id, ZenModeConfig config) {
- if (config == null) {
- // shouldn't happen if the config is coming from NM, but be safe
- return false;
- }
- ZenModeConfig.ZenRule configRule = config.automaticRules.get(id);
- return configRule != null && configRule.isAutomaticActive();
- }
-
- void updateMode(ZenMode mode) {
- if (mode.isManualDnd()) {
- try {
- NotificationManager.Policy dndPolicy =
- new ZenModeConfig().toNotificationPolicy(mode.getPolicy());
- mNotificationManager.setNotificationPolicy(dndPolicy, /* fromUser= */ true);
-
- mNotificationManager.setManualZenRuleDeviceEffects(
- mode.getRule().getDeviceEffects());
- } catch (Exception e) {
- Log.w(TAG, "Error updating manual mode", e);
- }
- } else {
- mNotificationManager.updateAutomaticZenRule(mode.getId(), mode.getRule(),
- /* fromUser= */ true);
- }
- }
-
- void activateMode(ZenMode mode, @Nullable Duration forDuration) {
- if (mode.isManualDnd()) {
- Uri durationConditionId = null;
- if (forDuration != null) {
- durationConditionId = ZenModeConfig.toTimeCondition(mContext,
- (int) forDuration.toMinutes(), ActivityManager.getCurrentUser(), true).id;
- }
- mNotificationManager.setZenMode(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS,
- durationConditionId, TAG, /* fromUser= */ true);
-
- } else {
- if (forDuration != null) {
- throw new IllegalArgumentException(
- "Only the manual DND mode can be activated for a specific duration");
- }
- mNotificationManager.setAutomaticZenRuleState(mode.getId(),
- new Condition(mode.getRule().getConditionId(), "", Condition.STATE_TRUE,
- Condition.SOURCE_USER_ACTION));
- }
- }
-
- void deactivateMode(ZenMode mode) {
- if (mode.isManualDnd()) {
- // When calling with fromUser=true this will not snooze other modes.
- mNotificationManager.setZenMode(Settings.Global.ZEN_MODE_OFF, null, TAG,
- /* fromUser= */ true);
- } else {
- // TODO: b/333527800 - This should (potentially) snooze the rule if it was active.
- mNotificationManager.setAutomaticZenRuleState(mode.getId(),
- new Condition(mode.getRule().getConditionId(), "", Condition.STATE_FALSE,
- Condition.SOURCE_USER_ACTION));
- }
- }
-
- void removeMode(ZenMode mode) {
- if (!mode.canBeDeleted()) {
- throw new IllegalArgumentException("Mode " + mode + " cannot be deleted!");
- }
- mNotificationManager.removeAutomaticZenRule(mode.getId(), /* fromUser= */ true);
- }
-
- /**
- * Creates a new custom mode with the provided {@code name}. The mode will be "manual" (i.e.
- * not have a schedule), this can be later updated by the user in the mode settings page.
- *
- * @return the created mode. Only {@code null} if creation failed due to an internal error
- */
- @Nullable
- ZenMode addCustomMode(String name) {
- ZenModeConfig.ScheduleInfo schedule = new ZenModeConfig.ScheduleInfo();
- schedule.days = ZenModeConfig.ALL_DAYS;
- schedule.startHour = 22;
- schedule.endHour = 7;
-
- // TODO: b/326442408 - Create as "manual" (i.e. no trigger) instead of schedule-time.
- AutomaticZenRule rule = new AutomaticZenRule.Builder(name,
- ZenModeConfig.toScheduleConditionId(schedule))
- .setPackage(ZenModeConfig.getScheduleConditionProvider().getPackageName())
- .setType(AutomaticZenRule.TYPE_SCHEDULE_CALENDAR)
- .setOwner(ZenModeConfig.getScheduleConditionProvider())
- .setTriggerDescription(SystemZenRules.getTriggerDescriptionForScheduleTime(
- mContext, schedule))
- .setManualInvocationAllowed(true)
- .build();
-
- String ruleId = mNotificationManager.addAutomaticZenRule(rule);
- return getMode(ruleId);
- }
-}
diff --git a/src/com/android/settings/notification/modes/ZenModesFragmentBase.java b/src/com/android/settings/notification/modes/ZenModesFragmentBase.java
index d99593a..0bc0617 100644
--- a/src/com/android/settings/notification/modes/ZenModesFragmentBase.java
+++ b/src/com/android/settings/notification/modes/ZenModesFragmentBase.java
@@ -26,7 +26,10 @@
import android.provider.Settings.Global;
import android.util.Log;
+import androidx.annotation.VisibleForTesting;
+
import com.android.settings.dashboard.RestrictedDashboardFragment;
+import com.android.settingslib.notification.modes.ZenModesBackend;
/**
* Base class for all Settings pages controlling Modes behavior.
@@ -56,6 +59,11 @@
return TAG;
}
+ @VisibleForTesting(otherwise = VisibleForTesting.NONE)
+ void setBackend(ZenModesBackend backend) {
+ mBackend = backend;
+ }
+
@Override
public void onAttach(@NonNull Context context) {
mContext = context;
diff --git a/src/com/android/settings/notification/modes/ZenModesLinkPreferenceController.java b/src/com/android/settings/notification/modes/ZenModesLinkPreferenceController.java
new file mode 100644
index 0000000..f2679d7
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenModesLinkPreferenceController.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import android.app.Flags;
+import android.app.NotificationManager;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.Handler;
+import android.os.UserHandle;
+import android.provider.Settings;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnPause;
+import com.android.settingslib.core.lifecycle.events.OnResume;
+
+public class ZenModesLinkPreferenceController extends BasePreferenceController
+ implements LifecycleObserver, OnResume, OnPause {
+
+ private SettingObserver mSettingObserver;
+ private ZenModeSummaryHelper mSummaryBuilder;
+ private NotificationManager mNm;
+
+ public ZenModesLinkPreferenceController(Context context, String key) {
+ super(context, key);
+ mSummaryBuilder = new ZenModeSummaryHelper(context, ZenHelperBackend.getInstance(context));
+ mNm = mContext.getSystemService(NotificationManager.class);
+ }
+
+ @Override
+ @AvailabilityStatus
+ public int getAvailabilityStatus() {
+ return Flags.modesUi() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+ }
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ super.displayPreference(screen);
+ Preference preference = screen.findPreference(getPreferenceKey());
+ mSettingObserver = new SettingObserver(preference);
+ }
+
+ @Override
+ public void onResume() {
+ if (mSettingObserver != null) {
+ mSettingObserver.register(mContext.getContentResolver());
+ }
+ }
+
+ @Override
+ public void onPause() {
+ if (mSettingObserver != null) {
+ mSettingObserver.unregister(mContext.getContentResolver());
+ }
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ preference.setSummary(mSummaryBuilder.getSoundSummary(
+ Settings.Global.getInt(mContext.getContentResolver(),
+ Settings.Global.ZEN_MODE,
+ Settings.Global.ZEN_MODE_OFF),
+ mNm.getZenModeConfig()));
+ }
+
+ class SettingObserver extends ContentObserver {
+ private final Uri ZEN_MODE_URI = Settings.Global.getUriFor(Settings.Global.ZEN_MODE);
+ private final Uri ZEN_MODE_CONFIG_ETAG_URI = Settings.Global.getUriFor(
+ Settings.Global.ZEN_MODE_CONFIG_ETAG);
+
+ private final Preference mPreference;
+
+ public SettingObserver(Preference preference) {
+ super(new Handler());
+ mPreference = preference;
+ }
+
+ public void register(ContentResolver cr) {
+ cr.registerContentObserver(ZEN_MODE_URI, false, this, UserHandle.USER_ALL);
+ cr.registerContentObserver(ZEN_MODE_CONFIG_ETAG_URI, false, this, UserHandle.USER_ALL);
+ }
+
+ public void unregister(ContentResolver cr) {
+ cr.unregisterContentObserver(this);
+ }
+
+ @Override
+ public void onChange(boolean selfChange, Uri uri) {
+ super.onChange(selfChange, uri);
+ if (ZEN_MODE_URI.equals(uri)) {
+ updateState(mPreference);
+ }
+
+ if (ZEN_MODE_CONFIG_ETAG_URI.equals(uri)) {
+ updateState(mPreference);
+ }
+ }
+ }
+}
diff --git a/src/com/android/settings/notification/modes/ZenModesListAddModePreferenceController.java b/src/com/android/settings/notification/modes/ZenModesListAddModePreferenceController.java
index c229fb1..b4657a3 100644
--- a/src/com/android/settings/notification/modes/ZenModesListAddModePreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModesListAddModePreferenceController.java
@@ -16,25 +16,82 @@
package com.android.settings.notification.modes;
+import android.app.NotificationManager;
+import android.content.ComponentName;
import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.ComponentInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ServiceInfo;
+import android.graphics.drawable.Drawable;
+import android.service.notification.ConditionProviderService;
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.annotation.WorkerThread;
import androidx.preference.Preference;
-import com.android.settings.utils.ZenServiceListing;
+import com.android.settings.R;
+import com.android.settingslib.Utils;
import com.android.settingslib.core.AbstractPreferenceController;
-import java.util.Random;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.util.concurrent.ListeningExecutorService;
+import com.google.common.util.concurrent.MoreExecutors;
+
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.List;
+import java.util.concurrent.Executor;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.function.Function;
class ZenModesListAddModePreferenceController extends AbstractPreferenceController {
- private final ZenModesBackend mBackend;
private final ZenServiceListing mServiceListing;
+ private final OnAddModeListener mOnAddModeListener;
- ZenModesListAddModePreferenceController(Context context, ZenModesBackend backend,
- ZenServiceListing serviceListing) {
+ private final ConfigurationActivityHelper mConfigurationActivityHelper;
+ private final NotificationManager mNotificationManager;
+ private final PackageManager mPackageManager;
+ private final Function<ApplicationInfo, Drawable> mAppIconRetriever;
+ private final ListeningExecutorService mBackgroundExecutor;
+ private final Executor mUiThreadExecutor;
+
+ record ModeType(String name, Drawable icon, @Nullable String summary,
+ @Nullable Intent creationActivityIntent) { }
+
+ interface OnAddModeListener {
+ void onAvailableModeTypesForAdd(List<ModeType> types);
+ }
+
+ ZenModesListAddModePreferenceController(Context context, OnAddModeListener onAddModeListener) {
+ this(context, onAddModeListener, new ZenServiceListing(context),
+ new ConfigurationActivityHelper(context.getPackageManager()),
+ context.getSystemService(NotificationManager.class), context.getPackageManager(),
+ applicationInfo -> Utils.getBadgedIcon(context, applicationInfo),
+ Executors.newCachedThreadPool(), context.getMainExecutor());
+ }
+
+ @VisibleForTesting
+ ZenModesListAddModePreferenceController(Context context,
+ OnAddModeListener onAddModeListener, ZenServiceListing serviceListing,
+ ConfigurationActivityHelper configurationActivityHelper,
+ NotificationManager notificationManager, PackageManager packageManager,
+ Function<ApplicationInfo, Drawable> appIconRetriever,
+ ExecutorService backgroundExecutor, Executor uiThreadExecutor) {
super(context);
- mBackend = backend;
+ mOnAddModeListener = onAddModeListener;
mServiceListing = serviceListing;
+ mConfigurationActivityHelper = configurationActivityHelper;
+ mNotificationManager = notificationManager;
+ mPackageManager = packageManager;
+ mAppIconRetriever = appIconRetriever;
+ mBackgroundExecutor = MoreExecutors.listeningDecorator(backgroundExecutor);
+ mUiThreadExecutor = uiThreadExecutor;
}
@Override
@@ -50,12 +107,79 @@
@Override
public void updateState(Preference preference) {
preference.setOnPreferenceClickListener(pref -> {
- // TODO: b/326442408 - Launch the proper mode creation flow (using mServiceListing).
- ZenMode mode = mBackend.addCustomMode("New mode #" + new Random().nextInt(1000));
- if (mode != null) {
- ZenSubSettingLauncher.forMode(mContext, mode.getId()).launch();
- }
+ onClickAddMode();
return true;
});
}
+
+ @VisibleForTesting
+ void onClickAddMode() {
+ FutureUtil.whenDone(
+ mBackgroundExecutor.submit(this::getModeProviders),
+ mOnAddModeListener::onAvailableModeTypesForAdd,
+ mUiThreadExecutor);
+ }
+
+ @WorkerThread
+ private ImmutableList<ModeType> getModeProviders() {
+ ImmutableSet<ComponentInfo> approvedComponents = mServiceListing.loadApprovedComponents();
+
+ ArrayList<ModeType> appProvidedModes = new ArrayList<>();
+ for (ComponentInfo ci: approvedComponents) {
+ ModeType modeType = getValidNewModeTypeFromComponent(ci);
+ if (modeType != null) {
+ appProvidedModes.add(modeType);
+ }
+ }
+
+ return ImmutableList.<ModeType>builder()
+ .add(new ModeType(
+ mContext.getString(R.string.zen_mode_new_option_custom),
+ mContext.getDrawable(R.drawable.ic_zen_mode_new_option_custom),
+ null, null))
+ .addAll(appProvidedModes.stream()
+ .sorted(Comparator.comparing(ModeType::name))
+ .toList())
+ .build();
+ }
+
+ /**
+ * Returns a {@link ModeType} object corresponding to the approved {@link ComponentInfo} that
+ * specifies a creatable rule, if such a mode can actually be created (has an associated and
+ * enabled configuration activity, has not exceeded the rule instance limit, etc). Otherwise,
+ * returns {@code null}.
+ */
+ @WorkerThread
+ @Nullable
+ private ModeType getValidNewModeTypeFromComponent(ComponentInfo ci) {
+ if (ci.metaData == null) {
+ return null;
+ }
+
+ String ruleType = (ci instanceof ServiceInfo)
+ ? ci.metaData.getString(ConditionProviderService.META_DATA_RULE_TYPE)
+ : ci.metaData.getString(NotificationManager.META_DATA_AUTOMATIC_RULE_TYPE);
+ if (ruleType == null || ruleType.trim().isEmpty()) {
+ return null;
+ }
+
+ int ruleInstanceLimit = (ci instanceof ServiceInfo)
+ ? ci.metaData.getInt(ConditionProviderService.META_DATA_RULE_INSTANCE_LIMIT, -1)
+ : ci.metaData.getInt(NotificationManager.META_DATA_RULE_INSTANCE_LIMIT, -1);
+ if (ruleInstanceLimit > 0 && mNotificationManager.getRuleInstanceCount(
+ ci.getComponentName()) >= ruleInstanceLimit) {
+ return null; // Would exceed instance limit.
+ }
+
+ ComponentName configurationActivity =
+ mConfigurationActivityHelper.getConfigurationActivityFromApprovedComponent(ci);
+ if (configurationActivity == null) {
+ return null;
+ }
+
+ String appName = ci.applicationInfo.loadLabel(mPackageManager).toString();
+ Drawable appIcon = mAppIconRetriever.apply(ci.applicationInfo);
+ Intent configActivityIntent = new Intent().setComponent(configurationActivity);
+ return new ModeType(ruleType, appIcon, appName, configActivityIntent);
+ }
}
diff --git a/src/com/android/settings/notification/modes/ZenModesListAddModeTypeChooserDialog.java b/src/com/android/settings/notification/modes/ZenModesListAddModeTypeChooserDialog.java
new file mode 100644
index 0000000..57d3bf9
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenModesListAddModeTypeChooserDialog.java
@@ -0,0 +1,116 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.base.Preconditions.checkState;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ArrayAdapter;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+
+import com.android.settings.R;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.notification.modes.ZenModesListAddModePreferenceController.ModeType;
+
+import com.google.common.base.Strings;
+import com.google.common.collect.ImmutableList;
+
+import java.util.List;
+
+public class ZenModesListAddModeTypeChooserDialog extends InstrumentedDialogFragment {
+
+ private static final String TAG = "ZenModesListAddModeTypeChooserDialog";
+
+ private OnChooseModeTypeListener mChooseModeTypeListener;
+ private ImmutableList<ModeType> mOptions;
+
+ interface OnChooseModeTypeListener {
+ void onTypeSelected(ModeType type);
+ }
+
+ @Override
+ public int getMetricsCategory() {
+ // TODO: b/332937635 - Update metrics category
+ return 0;
+ }
+
+ static void show(DashboardFragment parent,
+ OnChooseModeTypeListener onChooseModeTypeListener,
+ List<ModeType> options) {
+ ZenModesListAddModeTypeChooserDialog dialog = new ZenModesListAddModeTypeChooserDialog();
+ dialog.mChooseModeTypeListener = onChooseModeTypeListener;
+ dialog.mOptions = ImmutableList.copyOf(options);
+ dialog.setTargetFragment(parent, 0);
+ dialog.show(parent.getParentFragmentManager(), TAG);
+ }
+
+ @NonNull
+ @Override
+ public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+ checkState(getContext() != null);
+ return new AlertDialog.Builder(getContext())
+ .setTitle(R.string.zen_mode_new_title)
+ .setAdapter(new OptionsAdapter(getContext(), mOptions),
+ (dialog, which) -> mChooseModeTypeListener.onTypeSelected(
+ mOptions.get(which)))
+ .setNegativeButton(R.string.cancel, null)
+ .create();
+ }
+
+ private static class OptionsAdapter extends ArrayAdapter<ModeType> {
+
+ private final LayoutInflater mInflater;
+
+ private OptionsAdapter(Context context,
+ ImmutableList<ModeType> availableModeProviders) {
+ super(context, R.layout.zen_mode_type_item, availableModeProviders);
+ mInflater = LayoutInflater.from(context);
+ }
+
+ @NonNull
+ @Override
+ public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
+ if (convertView == null) {
+ convertView = mInflater.inflate(R.layout.zen_mode_type_item, parent, false);
+ }
+ ImageView imageView = checkNotNull(convertView.findViewById(R.id.icon));
+ TextView title = checkNotNull(convertView.findViewById(R.id.title));
+ TextView subtitle = checkNotNull(convertView.findViewById(R.id.subtitle));
+
+ ModeType option = checkNotNull(getItem(position));
+ imageView.setImageDrawable(option.icon());
+ title.setText(option.name());
+ subtitle.setText(option.summary());
+ subtitle.setVisibility(
+ Strings.isNullOrEmpty(option.summary()) ? View.GONE : View.VISIBLE);
+
+ return convertView;
+ }
+ }
+}
diff --git a/src/com/android/settings/notification/modes/ZenModesListFragment.java b/src/com/android/settings/notification/modes/ZenModesListFragment.java
index 80678f6..be458b3 100644
--- a/src/com/android/settings/notification/modes/ZenModesListFragment.java
+++ b/src/com/android/settings/notification/modes/ZenModesListFragment.java
@@ -16,46 +16,51 @@
package com.android.settings.notification.modes;
-import android.app.NotificationManager;
import android.app.settings.SettingsEnums;
+import android.content.ComponentName;
import android.content.Context;
-import android.service.notification.ConditionProviderService;
+import android.content.Intent;
import androidx.annotation.Nullable;
-import androidx.fragment.app.Fragment;
+import androidx.annotation.VisibleForTesting;
import com.android.settings.R;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.notification.modes.ZenModesListAddModePreferenceController.ModeType;
+import com.android.settings.notification.modes.ZenModesListAddModePreferenceController.OnAddModeListener;
import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.utils.ManagedServiceSettings;
-import com.android.settings.utils.ZenServiceListing;
import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
import com.android.settingslib.search.SearchIndexable;
import com.google.common.collect.ImmutableList;
import java.util.List;
+import java.util.Optional;
@SearchIndexable
public class ZenModesListFragment extends ZenModesFragmentBase {
- private static final ManagedServiceSettings.Config CONFIG = getConditionProviderConfig();
+ static final int REQUEST_NEW_MODE = 101;
+
+ @Nullable private ComponentName mActivityInvokedForAddNew;
+ @Nullable private ImmutableList<String> mZenModeIdsBeforeAddNew;
@Override
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
- ZenServiceListing serviceListing = new ZenServiceListing(getContext(), CONFIG);
- serviceListing.reloadApprovedServices();
- return buildPreferenceControllers(context, this, serviceListing);
+ return buildPreferenceControllers(context, this::onAvailableModeTypesForAdd);
}
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
- @Nullable Fragment parent, @Nullable ZenServiceListing serviceListing) {
+ OnAddModeListener onAddModeListener) {
// We need to redefine ZenModesBackend here even though mBackend exists so that this method
// can be static; it must be static to be able to be used in SEARCH_INDEX_DATA_PROVIDER.
ZenModesBackend backend = ZenModesBackend.getInstance(context);
return ImmutableList.of(
- new ZenModesListPreferenceController(context, parent, backend),
- new ZenModesListAddModePreferenceController(context, backend, serviceListing)
+ new ZenModesListPreferenceController(context, backend),
+ new ZenModesListAddModePreferenceController(context, onAddModeListener)
);
}
@@ -77,14 +82,54 @@
return SettingsEnums.NOTIFICATION_ZEN_MODE_AUTOMATION;
}
- private static ManagedServiceSettings.Config getConditionProviderConfig() {
- return new ManagedServiceSettings.Config.Builder()
- .setTag(TAG)
- .setIntentAction(ConditionProviderService.SERVICE_INTERFACE)
- .setConfigurationIntentAction(NotificationManager.ACTION_AUTOMATIC_ZEN_RULE)
- .setPermission(android.Manifest.permission.BIND_CONDITION_PROVIDER_SERVICE)
- .setNoun("condition provider")
- .build();
+ private void onAvailableModeTypesForAdd(List<ModeType> types) {
+ if (types.size() > 1) {
+ // Show dialog to choose the mode to be created. Continue once the user chooses.
+ ZenModesListAddModeTypeChooserDialog.show(this, this::onChosenModeTypeForAdd, types);
+ } else {
+ // Will be custom_manual.
+ onChosenModeTypeForAdd(types.get(0));
+ }
+ }
+
+ @VisibleForTesting
+ void onChosenModeTypeForAdd(ModeType type) {
+ if (type.creationActivityIntent() != null) {
+ mActivityInvokedForAddNew = type.creationActivityIntent().getComponent();
+ mZenModeIdsBeforeAddNew = ImmutableList.copyOf(
+ mBackend.getModes().stream().map(ZenMode::getId).toList());
+ startActivityForResult(type.creationActivityIntent(), REQUEST_NEW_MODE);
+ } else {
+ // Custom-manual mode -> "add a mode" screen.
+ // TODO: b/332937635 - set metrics categories correctly
+ new SubSettingLauncher(requireContext())
+ .setDestination(ZenModeNewCustomFragment.class.getName())
+ .setSourceMetricsCategory(0)
+ .launch();
+ }
+ }
+
+ @Override
+ public void onActivityResult(int requestCode, int resultCode, Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ // If coming back after starting a 3rd-party configuration activity to create a new mode,
+ // try to identify the created mode. Ideally this would be part of the resultCode/data, but
+ // the existing API doesn't work that way...
+ ComponentName activityInvoked = mActivityInvokedForAddNew;
+ ImmutableList<String> previousIds = mZenModeIdsBeforeAddNew;
+ mActivityInvokedForAddNew = null;
+ mZenModeIdsBeforeAddNew = null;
+ if (requestCode != REQUEST_NEW_MODE || previousIds == null || activityInvoked == null) {
+ return;
+ }
+
+ // If we find a new mode owned by the same package, presumably that's it. Open its page.
+ Optional<ZenMode> createdZenMode = mBackend.getModes().stream()
+ .filter(m -> !previousIds.contains(m.getId()))
+ .filter(m -> m.getRule().getPackageName().equals(activityInvoked.getPackageName()))
+ .findFirst();
+ createdZenMode.ifPresent(
+ mode -> ZenSubSettingLauncher.forMode(mContext, mode.getId()).launch());
}
/**
@@ -105,7 +150,7 @@
@Override
public List<AbstractPreferenceController> createPreferenceControllers(
Context context) {
- return buildPreferenceControllers(context, null, null);
+ return buildPreferenceControllers(context, ignoredType -> {});
}
};
}
diff --git a/src/com/android/settings/notification/modes/ZenModesListItemPreference.java b/src/com/android/settings/notification/modes/ZenModesListItemPreference.java
index 7ecfb3a..261ab1d 100644
--- a/src/com/android/settings/notification/modes/ZenModesListItemPreference.java
+++ b/src/com/android/settings/notification/modes/ZenModesListItemPreference.java
@@ -16,16 +16,31 @@
package com.android.settings.notification.modes;
import android.content.Context;
+import android.widget.TextView;
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
import com.android.settingslib.RestrictedPreference;
+import com.android.settingslib.Utils;
+import com.android.settingslib.notification.modes.ZenIconLoader;
+import com.android.settingslib.notification.modes.ZenMode;
+
+import com.google.common.base.Strings;
/**
* Preference representing a single mode item on the modes aggregator page. Clicking on this
* preference leads to an individual mode's configuration page.
*/
class ZenModesListItemPreference extends RestrictedPreference {
- final Context mContext;
- ZenMode mZenMode;
+
+ private final Context mContext;
+ private ZenMode mZenMode;
+
+ private TextView mTitleView;
+ private TextView mSummaryView;
ZenModesListItemPreference(Context context, ZenMode zenMode) {
super(context);
@@ -35,19 +50,65 @@
}
@Override
+ public void onBindViewHolder(PreferenceViewHolder holder) {
+ super.onBindViewHolder(holder);
+ if (holder.findViewById(android.R.id.title) instanceof TextView titleView) {
+ mTitleView = titleView;
+ }
+ if (holder.findViewById(android.R.id.summary) instanceof TextView summaryView) {
+ mSummaryView = summaryView;
+ }
+ updateTextColor(mZenMode);
+ }
+
+ @Override
public void onClick() {
ZenSubSettingLauncher.forMode(mContext, mZenMode.getId()).launch();
}
public void setZenMode(ZenMode zenMode) {
mZenMode = zenMode;
- setTitle(mZenMode.getRule().getName());
- setSummary(mZenMode.getRule().getTriggerDescription());
- setIconSize(ICON_SIZE_SMALL);
+ setTitle(mZenMode.getName());
+ CharSequence statusText = switch (mZenMode.getStatus()) {
+ case ENABLED_AND_ACTIVE ->
+ Strings.isNullOrEmpty(mZenMode.getTriggerDescription())
+ ? mContext.getString(R.string.zen_mode_active_text)
+ : mContext.getString(
+ R.string.zen_mode_format_status_and_trigger,
+ mContext.getString(R.string.zen_mode_active_text),
+ mZenMode.getRule().getTriggerDescription());
+ case ENABLED -> mZenMode.getRule().getTriggerDescription();
+ case DISABLED_BY_USER -> mContext.getString(R.string.zen_mode_disabled_by_user);
+ case DISABLED_BY_OTHER -> mContext.getString(R.string.zen_mode_disabled_needs_setup);
+ };
+ setSummary(statusText);
+ setIconSize(ICON_SIZE_SMALL);
FutureUtil.whenDone(
- mZenMode.getIcon(mContext, IconLoader.getInstance()),
- icon -> setIcon(IconUtil.applyTint(mContext, icon)),
+ mZenMode.getIcon(mContext, ZenIconLoader.getInstance()),
+ icon -> setIcon(
+ zenMode.isActive()
+ ? IconUtil.applyAccentTint(mContext, icon)
+ : IconUtil.applyNormalTint(mContext, icon)),
mContext.getMainExecutor());
+
+ updateTextColor(zenMode);
+ }
+
+ private void updateTextColor(@Nullable ZenMode zenMode) {
+ boolean isActive = zenMode != null && zenMode.isActive();
+ if (mTitleView != null) {
+ mTitleView.setTextColor(Utils.getColorAttr(mContext,
+ isActive ? android.R.attr.colorAccent : android.R.attr.textColorPrimary));
+ }
+ if (mSummaryView != null) {
+ mSummaryView.setTextColor(Utils.getColorAttr(mContext,
+ isActive ? android.R.attr.colorAccent : android.R.attr.textColorSecondary));
+ }
+ }
+
+ @VisibleForTesting(otherwise = VisibleForTesting.NONE)
+ ZenMode getZenMode() {
+ return mZenMode;
}
}
diff --git a/src/com/android/settings/notification/modes/ZenModesListPreferenceController.java b/src/com/android/settings/notification/modes/ZenModesListPreferenceController.java
index 5dcd9eb..ba12b9a 100644
--- a/src/com/android/settings/notification/modes/ZenModesListPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModesListPreferenceController.java
@@ -20,13 +20,13 @@
import android.content.res.Resources;
import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.fragment.app.Fragment;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
import com.android.settingslib.search.SearchIndexableRaw;
import java.util.HashMap;
@@ -41,14 +41,10 @@
class ZenModesListPreferenceController extends BasePreferenceController {
protected static final String KEY = "zen_modes_list";
- @Nullable
- protected Fragment mParent;
protected ZenModesBackend mBackend;
- public ZenModesListPreferenceController(Context context, @Nullable Fragment parent,
- @NonNull ZenModesBackend backend) {
+ ZenModesListPreferenceController(Context context, @NonNull ZenModesBackend backend) {
super(context, KEY);
- mParent = parent;
mBackend = backend;
}
diff --git a/src/com/android/settings/notification/modes/ZenServiceListing.java b/src/com/android/settings/notification/modes/ZenServiceListing.java
new file mode 100644
index 0000000..ccecec5
--- /dev/null
+++ b/src/com/android/settings/notification/modes/ZenServiceListing.java
@@ -0,0 +1,170 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import android.app.ActivityManager;
+import android.app.NotificationManager;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.ComponentInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.content.pm.ServiceInfo;
+import android.service.notification.ConditionProviderService;
+import android.util.ArraySet;
+import android.util.Slog;
+
+import androidx.annotation.Nullable;
+import androidx.annotation.WorkerThread;
+
+import com.android.settings.utils.ManagedServiceSettings;
+
+import com.google.common.collect.ImmutableSet;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+class ZenServiceListing {
+
+ static final ManagedServiceSettings.Config CONFIGURATION =
+ new ManagedServiceSettings.Config.Builder()
+ .setTag("ZenServiceListing")
+ .setIntentAction(ConditionProviderService.SERVICE_INTERFACE)
+ .setConfigurationIntentAction(NotificationManager.ACTION_AUTOMATIC_ZEN_RULE)
+ .setPermission(android.Manifest.permission.BIND_CONDITION_PROVIDER_SERVICE)
+ .setNoun("condition provider")
+ .build();
+
+ private final Context mContext;
+ private final Set<ComponentInfo> mApprovedComponents = new ArraySet<>();
+ private final List<Callback> mZenCallbacks = new ArrayList<>();
+ private final NotificationManager mNm;
+
+ ZenServiceListing(Context context) {
+ mContext = context;
+ mNm = context.getSystemService(NotificationManager.class);
+ }
+
+ public ComponentInfo findService(final ComponentName cn) {
+ if (cn == null) {
+ return null;
+ }
+ for (ComponentInfo component : mApprovedComponents) {
+ final ComponentName ci = new ComponentName(component.packageName, component.name);
+ if (ci.equals(cn)) {
+ return component;
+ }
+ }
+ return null;
+ }
+
+ public void addZenCallback(Callback callback) {
+ mZenCallbacks.add(callback);
+ }
+
+ public void removeZenCallback(Callback callback) {
+ mZenCallbacks.remove(callback);
+ }
+
+ @WorkerThread
+ public ImmutableSet<ComponentInfo> loadApprovedComponents() {
+ return loadApprovedComponents(null);
+ }
+
+ @WorkerThread
+ public ImmutableSet<ComponentInfo> loadApprovedComponents(@Nullable String restrictToPkg) {
+ mApprovedComponents.clear();
+
+ List<String> enabledNotificationListenerPkgs = mNm.getEnabledNotificationListenerPackages();
+ List<ComponentInfo> components = new ArrayList<>();
+ getServices(CONFIGURATION, components, mContext.getPackageManager(), restrictToPkg);
+ getActivities(CONFIGURATION, components, mContext.getPackageManager(), restrictToPkg);
+ for (ComponentInfo componentInfo : components) {
+ final String pkg = componentInfo.getComponentName().getPackageName();
+ if (mNm.isNotificationPolicyAccessGrantedForPackage(pkg)
+ || enabledNotificationListenerPkgs.contains(pkg)) {
+ mApprovedComponents.add(componentInfo);
+ }
+ }
+
+ if (!mApprovedComponents.isEmpty()) {
+ for (Callback callback : mZenCallbacks) {
+ callback.onComponentsReloaded(mApprovedComponents);
+ }
+ }
+
+ return ImmutableSet.copyOf(mApprovedComponents);
+ }
+
+ private static void getServices(ManagedServiceSettings.Config c, List<ComponentInfo> list,
+ PackageManager pm, @Nullable String restrictToPkg) {
+ final int user = ActivityManager.getCurrentUser();
+
+ Intent queryIntent = new Intent(c.intentAction);
+ if (restrictToPkg != null) {
+ queryIntent.setPackage(restrictToPkg);
+ }
+ List<ResolveInfo> installedServices = pm.queryIntentServicesAsUser(
+ queryIntent,
+ PackageManager.GET_SERVICES | PackageManager.GET_META_DATA,
+ user);
+
+ for (int i = 0, count = installedServices.size(); i < count; i++) {
+ ResolveInfo resolveInfo = installedServices.get(i);
+ ServiceInfo info = resolveInfo.serviceInfo;
+
+ if (!c.permission.equals(info.permission)) {
+ Slog.w(c.tag, "Skipping " + c.noun + " service "
+ + info.packageName + "/" + info.name
+ + ": it does not require the permission "
+ + c.permission);
+ continue;
+ }
+ if (list != null) {
+ list.add(info);
+ }
+ }
+ }
+
+ private static void getActivities(ManagedServiceSettings.Config c, List<ComponentInfo> list,
+ PackageManager pm, @Nullable String restrictToPkg) {
+ final int user = ActivityManager.getCurrentUser();
+
+ Intent queryIntent = new Intent(c.configIntentAction);
+ if (restrictToPkg != null) {
+ queryIntent.setPackage(restrictToPkg);
+ }
+ List<ResolveInfo> resolveInfos = pm.queryIntentActivitiesAsUser(
+ queryIntent,
+ PackageManager.GET_ACTIVITIES | PackageManager.GET_META_DATA,
+ user);
+
+ for (int i = 0, count = resolveInfos.size(); i < count; i++) {
+ ResolveInfo resolveInfo = resolveInfos.get(i);
+ ActivityInfo info = resolveInfo.activityInfo;
+ if (list != null) {
+ list.add(info);
+ }
+ }
+ }
+
+ public interface Callback {
+ void onComponentsReloaded(Set<ComponentInfo> components);
+ }
+}
diff --git a/src/com/android/settings/notification/modes/ZenSubSettingLauncher.java b/src/com/android/settings/notification/modes/ZenSubSettingLauncher.java
index 11f3492..00c21bb 100644
--- a/src/com/android/settings/notification/modes/ZenSubSettingLauncher.java
+++ b/src/com/android/settings/notification/modes/ZenSubSettingLauncher.java
@@ -16,11 +16,14 @@
package com.android.settings.notification.modes;
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
+
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.os.Bundle;
import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.dashboard.DashboardFragment;
class ZenSubSettingLauncher {
@@ -29,11 +32,11 @@
SettingsEnums.NOTIFICATION_ZEN_MODE_AUTOMATION);
}
- private static SubSettingLauncher forModeFragment(Context context,
- Class<? extends ZenModeFragmentBase> fragmentClass, String modeId,
+ static SubSettingLauncher forModeFragment(Context context,
+ Class<? extends DashboardFragment> fragmentClass, String modeId,
int sourceMetricsCategory) {
Bundle bundle = new Bundle();
- bundle.putString(ZenModeFragmentBase.MODE_ID, modeId);
+ bundle.putString(EXTRA_AUTOMATIC_ZEN_RULE_ID, modeId);
return new SubSettingLauncher(context)
.setDestination(fragmentClass.getName())
diff --git a/src/com/android/settings/notification/zen/SettingsZenDurationDialog.java b/src/com/android/settings/notification/zen/SettingsZenDurationDialog.java
index c8d6eb9..bb83a73 100644
--- a/src/com/android/settings/notification/zen/SettingsZenDurationDialog.java
+++ b/src/com/android/settings/notification/zen/SettingsZenDurationDialog.java
@@ -21,13 +21,13 @@
import android.os.Bundle;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.notification.modes.ZenDurationDialog;
public class SettingsZenDurationDialog extends InstrumentedDialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
- return new com.android.settingslib.notification.ZenDurationDialog(
- getContext()).createDialog();
+ return new ZenDurationDialog(getContext()).createDialog();
}
@Override
diff --git a/src/com/android/settings/notification/zen/ZenDurationDialogPreference.java b/src/com/android/settings/notification/zen/ZenDurationDialogPreference.java
index 11def66..f243a51 100644
--- a/src/com/android/settings/notification/zen/ZenDurationDialogPreference.java
+++ b/src/com/android/settings/notification/zen/ZenDurationDialogPreference.java
@@ -23,7 +23,7 @@
import androidx.appcompat.app.AlertDialog;
import com.android.settingslib.CustomDialogPreferenceCompat;
-import com.android.settingslib.notification.ZenDurationDialog;
+import com.android.settingslib.notification.modes.ZenDurationDialog;
public class ZenDurationDialogPreference extends CustomDialogPreferenceCompat {
diff --git a/src/com/android/settings/notification/zen/ZenModeBackend.java b/src/com/android/settings/notification/zen/ZenModeBackend.java
index 426f52d..de641c5 100644
--- a/src/com/android/settings/notification/zen/ZenModeBackend.java
+++ b/src/com/android/settings/notification/zen/ZenModeBackend.java
@@ -116,7 +116,7 @@
ActivityManager.getCurrentUser(), true).id;
if (android.app.Flags.modesApi()) {
mNotificationManager.setZenMode(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS,
- conditionId, TAG, /* fromUser= */ true);
+ conditionId, TAG, /* fromUser= */ true);
} else {
mNotificationManager.setZenMode(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS,
conditionId, TAG);
@@ -241,12 +241,14 @@
}
savePolicy(getNewDefaultPriorityCategories(allowSenders, category),
- priorityCallSenders, priorityMessagesSenders, mPolicy.suppressedVisualEffects,
+ priorityCallSenders, priorityMessagesSenders, mPolicy.suppressedVisualEffects,
mPolicy.priorityConversationSenders);
- if (ZenModeSettingsBase.DEBUG) Log.d(TAG, "onPrefChange allow" +
- stringCategory + "=" + allowSenders + " allow" + stringCategory + "From="
- + ZenModeConfig.sourceToString(allowSendersFrom));
+ if (ZenModeSettingsBase.DEBUG) {
+ Log.d(TAG, "onPrefChange allow"
+ + stringCategory + "=" + allowSenders + " allow" + stringCategory + "From="
+ + ZenModeConfig.sourceToString(allowSendersFrom));
+ }
}
protected void saveConversationSenders(int val) {
@@ -280,7 +282,7 @@
switch (contactType) {
case ZenPolicy.PEOPLE_TYPE_ANYONE:
return ZEN_MODE_FROM_ANYONE;
- case ZenPolicy.PEOPLE_TYPE_CONTACTS:
+ case ZenPolicy.PEOPLE_TYPE_CONTACTS:
return ZEN_MODE_FROM_CONTACTS;
case ZenPolicy.PEOPLE_TYPE_STARRED:
return ZEN_MODE_FROM_STARRED;
@@ -308,7 +310,7 @@
switch (setting) {
case ZenPolicy.PEOPLE_TYPE_ANYONE:
return NotificationManager.Policy.PRIORITY_SENDERS_ANY;
- case ZenPolicy.PEOPLE_TYPE_CONTACTS:
+ case ZenPolicy.PEOPLE_TYPE_CONTACTS:
return NotificationManager.Policy.PRIORITY_SENDERS_CONTACTS;
case ZenPolicy.PEOPLE_TYPE_STARRED:
return NotificationManager.Policy.PRIORITY_SENDERS_STARRED;
@@ -321,7 +323,7 @@
protected int getAlarmsTotalSilencePeopleSummary(int category) {
if (category == NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES) {
return R.string.zen_mode_none_messages;
- } else if (category == NotificationManager.Policy.PRIORITY_CATEGORY_CALLS){
+ } else if (category == NotificationManager.Policy.PRIORITY_CATEGORY_CALLS) {
return R.string.zen_mode_none_calls;
} else if (category == NotificationManager.Policy.PRIORITY_CATEGORY_CONVERSATIONS) {
return R.string.zen_mode_from_no_conversations;
@@ -470,8 +472,8 @@
if (cursor != null && cursor.moveToFirst()) {
do {
String contact = cursor.getString(0);
- starredContacts.add(contact != null ? contact :
- mContext.getString(R.string.zen_mode_starred_contacts_empty_name));
+ int emptyNameId = R.string.zen_mode_starred_contacts_empty_name;
+ starredContacts.add(contact != null ? contact : mContext.getString(emptyNameId));
} while (cursor.moveToNext());
}
diff --git a/src/com/android/settings/notification/zen/ZenModePreferenceController.java b/src/com/android/settings/notification/zen/ZenModePreferenceController.java
index 7c36d80..c21bc3b 100644
--- a/src/com/android/settings/notification/zen/ZenModePreferenceController.java
+++ b/src/com/android/settings/notification/zen/ZenModePreferenceController.java
@@ -28,9 +28,7 @@
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
-import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
-import com.android.settings.notification.modes.ZenModesListFragment;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
@@ -51,7 +49,6 @@
super.displayPreference(screen);
Preference preference = screen.findPreference(getPreferenceKey());
mSettingObserver = new SettingObserver(preference);
- maybeSetTitleAndDestination(preference);
}
@Override
@@ -70,28 +67,17 @@
@Override
public int getAvailabilityStatus() {
- return AVAILABLE_UNSEARCHABLE;
+ return Flags.modesUi() ? UNSUPPORTED_ON_DEVICE : AVAILABLE_UNSEARCHABLE;
}
@Override
public void updateState(Preference preference) {
super.updateState(preference);
- maybeSetTitleAndDestination(preference);
if (preference.isEnabled()) {
preference.setSummary(mSummaryBuilder.getSoundSummary());
}
}
- // Only when modes_ui is active: change title & target fragment.
- private void maybeSetTitleAndDestination(Preference preference) {
- if (!Flags.modesUi()) {
- return;
- }
-
- preference.setTitle(R.string.zen_modes_list_title);
- preference.setFragment(ZenModesListFragment.class.getCanonicalName());
- }
-
class SettingObserver extends ContentObserver {
private final Uri ZEN_MODE_URI = Settings.Global.getUriFor(Settings.Global.ZEN_MODE);
private final Uri ZEN_MODE_CONFIG_ETAG_URI = Settings.Global.getUriFor(
diff --git a/src/com/android/settings/notification/zen/ZenModeSliceBuilder.java b/src/com/android/settings/notification/zen/ZenModeSliceBuilder.java
index 4f6f058..d16b1e4 100644
--- a/src/com/android/settings/notification/zen/ZenModeSliceBuilder.java
+++ b/src/com/android/settings/notification/zen/ZenModeSliceBuilder.java
@@ -132,8 +132,8 @@
final Uri contentUri = new Uri.Builder().appendPath(ZEN_MODE_SLICE_KEY).build();
final String screenTitle = context.getText(R.string.zen_mode_settings_title).toString();
return SliceBuilderUtils.buildSearchResultPageIntent(context,
- ZenModeSettings.class.getName(), ZEN_MODE_SLICE_KEY, screenTitle,
- SettingsEnums.NOTIFICATION_ZEN_MODE, R.string.menu_key_notifications)
+ ZenModeSettings.class.getName(), ZEN_MODE_SLICE_KEY, screenTitle,
+ SettingsEnums.NOTIFICATION_ZEN_MODE, R.string.menu_key_notifications)
.setClassName(context.getPackageName(), SubSettings.class.getName())
.setData(contentUri);
}
diff --git a/src/com/android/settings/password/BiometricFragment.java b/src/com/android/settings/password/BiometricFragment.java
index 02f5b86..a7a039e 100644
--- a/src/com/android/settings/password/BiometricFragment.java
+++ b/src/com/android/settings/password/BiometricFragment.java
@@ -16,8 +16,11 @@
package com.android.settings.password;
+import static android.hardware.biometrics.BiometricConstants.BIOMETRIC_ERROR_USER_CANCELED;
+
import android.app.settings.SettingsEnums;
import android.content.ComponentName;
+import android.hardware.biometrics.BiometricManager;
import android.hardware.biometrics.BiometricPrompt;
import android.hardware.biometrics.BiometricPrompt.AuthenticationCallback;
import android.hardware.biometrics.BiometricPrompt.AuthenticationResult;
@@ -137,7 +140,7 @@
BiometricPrompt.Builder promptBuilder = new BiometricPrompt.Builder(getContext())
.setTitle(promptInfo.getTitle())
.setUseDefaultTitle() // use default title if title is null/empty
- .setDeviceCredentialAllowed(true)
+ .setAllowedAuthenticators(promptInfo.getAuthenticators())
.setSubtitle(promptInfo.getSubtitle())
.setDescription(promptInfo.getDescription())
.setTextForDeviceCredential(
@@ -170,6 +173,15 @@
if (promptInfo.isUseDefaultSubtitle()) {
promptBuilder.setUseDefaultSubtitle();
}
+
+ if ((promptInfo.getAuthenticators()
+ & BiometricManager.Authenticators.DEVICE_CREDENTIAL) == 0) {
+ promptBuilder.setNegativeButton(promptInfo.getNegativeButtonText(),
+ getContext().getMainExecutor(),
+ (dialog, which) -> mAuthenticationCallback.onAuthenticationError(
+ BIOMETRIC_ERROR_USER_CANCELED,
+ null /* errString */));
+ }
mBiometricPrompt = promptBuilder.build();
}
diff --git a/src/com/android/settings/password/ChooseLockGeneric.java b/src/com/android/settings/password/ChooseLockGeneric.java
index ce9a566..4c18309 100644
--- a/src/com/android/settings/password/ChooseLockGeneric.java
+++ b/src/com/android/settings/password/ChooseLockGeneric.java
@@ -160,11 +160,13 @@
static final int CHOOSE_LOCK_BEFORE_BIOMETRIC_REQUEST = 103;
@VisibleForTesting
static final int SKIP_FINGERPRINT_REQUEST = 104;
+ private static final int BIOMETRIC_AUTH_REQUEST = 105;
private LockPatternUtils mLockPatternUtils;
private DevicePolicyManager mDpm;
private boolean mRequestGatekeeperPasswordHandle = false;
private boolean mPasswordConfirmed = false;
+ private boolean mBiometricsAuthSuccessful = false;
private boolean mWaitingForConfirmation = false;
private boolean mWaitingForActivityResult = false;
private LockscreenCredential mUserPassword;
@@ -488,6 +490,17 @@
? data.getParcelableExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD)
: null;
updatePreferencesOrFinish(false /* isRecreatingActivity */);
+ if (Utils.requestBiometricAuthenticationForMandatoryBiometrics(getContext(),
+ mBiometricsAuthSuccessful, mWaitingForConfirmation)) {
+ mWaitingForConfirmation = true;
+ Utils.launchBiometricPromptForMandatoryBiometrics(this, BIOMETRIC_AUTH_REQUEST);
+ }
+ } else if (requestCode == BIOMETRIC_AUTH_REQUEST) {
+ if (resultCode == Activity.RESULT_OK) {
+ mBiometricsAuthSuccessful = true;
+ } else {
+ finish();
+ }
} else if (requestCode == CHOOSE_LOCK_REQUEST) {
if (resultCode != RESULT_CANCELED) {
getActivity().setResult(resultCode, data);
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
index 7f362c3..c0b3093 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
@@ -17,10 +17,10 @@
package com.android.settings.password;
+import static android.Manifest.permission.SET_BIOMETRIC_DIALOG_ADVANCED;
import static android.app.admin.DevicePolicyResources.Strings.Settings.CONFIRM_WORK_PROFILE_PASSWORD_HEADER;
import static android.app.admin.DevicePolicyResources.Strings.Settings.CONFIRM_WORK_PROFILE_PATTERN_HEADER;
import static android.app.admin.DevicePolicyResources.Strings.Settings.CONFIRM_WORK_PROFILE_PIN_HEADER;
-import static android.Manifest.permission.SET_BIOMETRIC_DIALOG_ADVANCED;
import static android.view.WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS;
import static com.android.systemui.biometrics.Utils.toBitmap;
@@ -40,6 +40,7 @@
import android.graphics.Bitmap;
import android.graphics.Color;
import android.hardware.biometrics.BiometricConstants;
+import android.hardware.biometrics.BiometricManager;
import android.hardware.biometrics.BiometricPrompt;
import android.hardware.biometrics.BiometricPrompt.AuthenticationCallback;
import android.hardware.biometrics.PromptInfo;
@@ -76,6 +77,9 @@
/** Use this extra value to provide a custom logo description for the biometric prompt. **/
public static final String CUSTOM_BIOMETRIC_PROMPT_LOGO_DESCRIPTION_KEY =
"custom_logo_description";
+ public static final String BIOMETRIC_PROMPT_AUTHENTICATORS = "biometric_prompt_authenticators";
+ public static final String BIOMETRIC_PROMPT_NEGATIVE_BUTTON_TEXT =
+ "biometric_prompt_negative_button_text";
public static class InternalActivity extends ConfirmDeviceCredentialActivity {
}
@@ -177,6 +181,11 @@
mDetails = intent.getCharSequenceExtra(KeyguardManager.EXTRA_DESCRIPTION);
String alternateButton = intent.getStringExtra(
KeyguardManager.EXTRA_ALTERNATE_BUTTON_LABEL);
+ final int authenticators = intent.getIntExtra(BIOMETRIC_PROMPT_AUTHENTICATORS,
+ BiometricManager.Authenticators.DEVICE_CREDENTIAL
+ | BiometricManager.Authenticators.BIOMETRIC_WEAK);
+ final String negativeButtonText = intent.getStringExtra(
+ BIOMETRIC_PROMPT_NEGATIVE_BUTTON_TEXT);
final boolean frp =
KeyguardManager.ACTION_CONFIRM_FRP_CREDENTIAL.equals(intent.getAction());
final boolean repairMode =
@@ -213,6 +222,8 @@
promptInfo.setTitle(mTitle);
promptInfo.setDescription(mDetails);
promptInfo.setDisallowBiometricsIfPolicyExists(mCheckDevicePolicyManager);
+ promptInfo.setAuthenticators(authenticators);
+ promptInfo.setNegativeButtonText(negativeButtonText);
if (android.multiuser.Flags.enablePrivateSpaceFeatures()
&& android.multiuser.Flags.usePrivateSpaceIconInBiometricPrompt()
diff --git a/src/com/android/settings/password/SetupChooseLockGeneric.java b/src/com/android/settings/password/SetupChooseLockGeneric.java
index cfd12f0..1b771a2 100644
--- a/src/com/android/settings/password/SetupChooseLockGeneric.java
+++ b/src/com/android/settings/password/SetupChooseLockGeneric.java
@@ -243,6 +243,7 @@
@Override
protected void onCreate(Bundle savedState) {
setTheme(SetupWizardUtils.getTheme(this, getIntent()));
+ setTheme(R.style.SettingsPreferenceTheme_SetupWizard);
ThemeHelper.trySetDynamicColor(this);
super.onCreate(savedState);
}
diff --git a/src/com/android/settings/privacy/PrivacyHubPreferenceController.java b/src/com/android/settings/privacy/PrivacyHubPreferenceController.java
index 20e5290..4c59f80 100644
--- a/src/com/android/settings/privacy/PrivacyHubPreferenceController.java
+++ b/src/com/android/settings/privacy/PrivacyHubPreferenceController.java
@@ -18,7 +18,6 @@
import android.content.Context;
import android.content.Intent;
-import android.provider.DeviceConfig;
import androidx.annotation.NonNull;
import androidx.preference.Preference;
@@ -30,7 +29,6 @@
* The preference controller for privacy hub top level preference.
*/
public final class PrivacyHubPreferenceController extends BasePreferenceController {
- public static final String PROPERTY_PRIVACY_HUB_ENABLED = "privacy_hub_enabled";
public PrivacyHubPreferenceController(@NonNull Context context, @NonNull String key) {
super(context, key);
@@ -38,8 +36,7 @@
@Override
public int getAvailabilityStatus() {
- return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_PRIVACY,
- PROPERTY_PRIVACY_HUB_ENABLED, true) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+ return AVAILABLE;
}
@Override
diff --git a/src/com/android/settings/search/SearchFeatureProviderImpl.java b/src/com/android/settings/search/SearchFeatureProviderImpl.java
deleted file mode 100644
index 3a62ddf..0000000
--- a/src/com/android/settings/search/SearchFeatureProviderImpl.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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.settings.search;
-
-import android.content.Context;
-import android.content.Intent;
-import android.net.Uri;
-import android.provider.Settings;
-import android.text.TextUtils;
-
-import androidx.annotation.NonNull;
-
-import com.android.settingslib.search.SearchIndexableResources;
-import com.android.settingslib.search.SearchIndexableResourcesMobile;
-
-/**
- * FeatureProvider for the refactored search code.
- */
-public class SearchFeatureProviderImpl implements SearchFeatureProvider {
-
- private SearchIndexableResources mSearchIndexableResources;
-
- @Override
- public void verifyLaunchSearchResultPageCaller(@NonNull Context context,
- @NonNull String callerPackage) {
- if (TextUtils.isEmpty(callerPackage)) {
- throw new IllegalArgumentException("ExternalSettingsTrampoline intents "
- + "must be called with startActivityForResult");
- }
- final boolean isSettingsPackage = TextUtils.equals(callerPackage, context.getPackageName())
- || TextUtils.equals(getSettingsIntelligencePkgName(context), callerPackage);
- final boolean isAllowlistedPackage = isSignatureAllowlisted(context, callerPackage);
- if (isSettingsPackage || isAllowlistedPackage) {
- return;
- }
- throw new SecurityException("Search result intents must be called with from an "
- + "allowlisted package.");
- }
-
- @Override
- public SearchIndexableResources getSearchIndexableResources() {
- if (mSearchIndexableResources == null) {
- mSearchIndexableResources = new SearchIndexableResourcesMobile();
- }
- return mSearchIndexableResources;
- }
-
- @Override
- public Intent buildSearchIntent(Context context, int pageId) {
- return new Intent(Settings.ACTION_APP_SEARCH_SETTINGS)
- .setPackage(getSettingsIntelligencePkgName(context))
- .putExtra(Intent.EXTRA_REFERRER, buildReferrer(context, pageId));
- }
-
- protected boolean isSignatureAllowlisted(Context context, String callerPackage) {
- return false;
- }
-
- private static Uri buildReferrer(Context context, int pageId) {
- return new Uri.Builder()
- .scheme("android-app")
- .authority(context.getPackageName())
- .path(String.valueOf(pageId))
- .build();
- }
-}
diff --git a/src/com/android/settings/search/SearchFeatureProviderImpl.kt b/src/com/android/settings/search/SearchFeatureProviderImpl.kt
new file mode 100644
index 0000000..b1378ab
--- /dev/null
+++ b/src/com/android/settings/search/SearchFeatureProviderImpl.kt
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.search
+
+import android.content.Context
+import android.content.Intent
+import android.net.Uri
+import android.provider.Settings
+import com.android.settings.search.SearchIndexableResourcesFactory.createSearchIndexableResources
+import com.android.settings.spa.search.SpaSearchRepository
+import com.android.settingslib.search.SearchIndexableResources
+
+/** FeatureProvider for the refactored search code. */
+open class SearchFeatureProviderImpl : SearchFeatureProvider {
+ private val lazySearchIndexableResources by lazy {
+ createSearchIndexableResources().apply {
+ for (searchIndexableData in SpaSearchRepository().getSearchIndexableDataList()) {
+ addIndex(searchIndexableData)
+ }
+ }
+ }
+
+ override fun verifyLaunchSearchResultPageCaller(context: Context, callerPackage: String) {
+ require(callerPackage.isNotEmpty()) {
+ "ExternalSettingsTrampoline intents must be called with startActivityForResult"
+ }
+ val isSettingsPackage = callerPackage == context.packageName
+ if (isSettingsPackage ||
+ callerPackage == getSettingsIntelligencePkgName(context) ||
+ isSignatureAllowlisted(context, callerPackage)) {
+ return
+ }
+ throw SecurityException(
+ "Search result intents must be called with from an allowlisted package.")
+ }
+
+ override fun getSearchIndexableResources(): SearchIndexableResources =
+ lazySearchIndexableResources
+
+ override fun buildSearchIntent(context: Context, pageId: Int): Intent =
+ Intent(Settings.ACTION_APP_SEARCH_SETTINGS)
+ .setPackage(getSettingsIntelligencePkgName(context))
+ .putExtra(Intent.EXTRA_REFERRER, buildReferrer(context, pageId))
+
+ protected open fun isSignatureAllowlisted(context: Context, callerPackage: String): Boolean =
+ false
+
+ companion object {
+ private fun buildReferrer(context: Context, pageId: Int): Uri =
+ Uri.Builder()
+ .scheme("android-app")
+ .authority(context.packageName)
+ .path(pageId.toString())
+ .build()
+ }
+}
diff --git a/src/com/android/settings/search/SearchIndexableResourcesFactory.java b/src/com/android/settings/search/SearchIndexableResourcesFactory.java
new file mode 100644
index 0000000..25f34ed
--- /dev/null
+++ b/src/com/android/settings/search/SearchIndexableResourcesFactory.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.search;
+
+import androidx.annotation.NonNull;
+
+import com.android.settingslib.search.SearchIndexableResources;
+import com.android.settingslib.search.SearchIndexableResourcesMobile;
+
+/**
+ * Creates the {@link SearchIndexableResourcesMobile}.
+ * <p>
+ * Since this class is generated by annotation processor, so it can only be created in Java now.
+ */
+class SearchIndexableResourcesFactory {
+ @NonNull
+ static SearchIndexableResources createSearchIndexableResources() {
+ return new SearchIndexableResourcesMobile();
+ }
+}
diff --git a/src/com/android/settings/sim/receivers/SimSlotChangeHandler.java b/src/com/android/settings/sim/receivers/SimSlotChangeHandler.java
index 8f934d7..9394af1 100644
--- a/src/com/android/settings/sim/receivers/SimSlotChangeHandler.java
+++ b/src/com/android/settings/sim/receivers/SimSlotChangeHandler.java
@@ -28,6 +28,7 @@
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.telephony.UiccCardInfo;
+import android.telephony.UiccPortInfo;
import android.telephony.UiccSlotInfo;
import android.util.Log;
@@ -91,10 +92,10 @@
Log.e(TAG, "Unable to find the removable slot. Do nothing.");
return;
}
-
+ Log.i(TAG, "The removableSlotInfo: " + removableSlotInfo);
int lastRemovableSlotState = getLastRemovableSimSlotState(mContext);
int currentRemovableSlotState = removableSlotInfo.getCardStateInfo();
- Log.i(TAG,
+ Log.d(TAG,
"lastRemovableSlotState: " + lastRemovableSlotState + ",currentRemovableSlotState: "
+ currentRemovableSlotState);
boolean isRemovableSimInserted =
@@ -115,8 +116,12 @@
if (Flags.isDualSimOnboardingEnabled()) {
// ForNewUi, when the user inserts the psim, showing the sim onboarding for the user
- // to setup the sim switching or the default data subscription.
- handleRemovableSimInsertWhenDsds();
+ // to setup the sim switching or the default data subscription in DSDS.
+ // Will show dialog for below case.
+ // 1. the psim slot is not active.
+ // 2. there are one or more active sim.
+ handleRemovableSimInsertWhenDsds(removableSlotInfo);
+ return;
} else if (!isMultipleEnabledProfilesSupported()) {
Log.d(TAG, "The device is already in DSDS mode and no MEP. Do nothing.");
return;
@@ -124,8 +129,6 @@
handleRemovableSimInsertUnderDsdsMep(removableSlotInfo);
return;
}
- Log.d(TAG, "the device is already in DSDS mode and have the DDS. Do nothing.");
- return;
}
if (isRemovableSimInserted) {
@@ -258,15 +261,29 @@
startChooseSimActivity(false);
}
- private void handleRemovableSimInsertWhenDsds() {
+ private boolean hasOtherActiveSubInfo(int psimSubId) {
+ List<SubscriptionInfo> activeSubs = SubscriptionUtil.getActiveSubscriptions(mSubMgr);
+ return activeSubs.stream()
+ .anyMatch(subscriptionInfo -> subscriptionInfo.getSubscriptionId() != psimSubId);
+ }
+
+ private boolean hasAnyPortActiveInSlot(UiccSlotInfo removableSlotInfo) {
+ return removableSlotInfo.getPorts().stream().anyMatch(UiccPortInfo::isActive);
+ }
+
+ private void handleRemovableSimInsertWhenDsds(UiccSlotInfo removableSlotInfo) {
+ Log.i(TAG, "ForNewUi: Handle Removable SIM inserted");
List<SubscriptionInfo> subscriptionInfos = getAvailableRemovableSubscription();
if (subscriptionInfos.isEmpty()) {
Log.e(TAG, "Unable to find the removable subscriptionInfo. Do nothing.");
return;
}
- Log.d(TAG, "ForNewUi and getAvailableRemovableSubscription:"
- + subscriptionInfos);
- startSimConfirmDialogActivity(subscriptionInfos.get(0).getSubscriptionId());
+ Log.d(TAG, "getAvailableRemovableSubscription:" + subscriptionInfos);
+ int psimSubId = subscriptionInfos.get(0).getSubscriptionId();
+ if (!hasAnyPortActiveInSlot(removableSlotInfo) || hasOtherActiveSubInfo(psimSubId)) {
+ Log.d(TAG, "ForNewUi Start Setup flow");
+ startSimConfirmDialogActivity(psimSubId);
+ }
}
private void handleRemovableSimInsertUnderDsdsMep(UiccSlotInfo removableSlotInfo) {
diff --git a/src/com/android/settings/spa/SpaBridgeActivity.kt b/src/com/android/settings/spa/SpaBridgeActivity.kt
index 61d8f51..d579fdf 100644
--- a/src/com/android/settings/spa/SpaBridgeActivity.kt
+++ b/src/com/android/settings/spa/SpaBridgeActivity.kt
@@ -17,20 +17,18 @@
package com.android.settings.spa
import android.app.Activity
-import android.content.Intent
+import android.content.pm.PackageManager.ComponentInfoFlags
+import android.content.pm.PackageManager.GET_META_DATA
import android.os.Bundle
-import com.android.settings.activityembedding.ActivityEmbeddingUtils
-import com.android.settings.activityembedding.EmbeddedDeepLinkUtils.tryStartMultiPaneDeepLink
-import com.android.settings.spa.SpaDestination.Companion.getDestination
-import com.android.settingslib.spa.framework.util.SESSION_EXTERNAL
-import com.android.settingslib.spa.framework.util.appendSpaParams
+import androidx.annotation.VisibleForTesting
+import com.android.settings.SettingsActivity.META_DATA_KEY_HIGHLIGHT_MENU_KEY
/**
* Activity used as a bridge to [SpaActivity].
*
* Since [SpaActivity] is not exported, [SpaActivity] could not be the target activity of
- * <activity-alias>, otherwise all its pages will be exported.
- * So need this bridge activity to sit in the middle of <activity-alias> and [SpaActivity].
+ * <activity-alias>, otherwise all its pages will be exported. So need this bridge activity to sit
+ * in the middle of <activity-alias> and [SpaActivity].
*/
class SpaBridgeActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
@@ -41,17 +39,28 @@
companion object {
fun Activity.startSpaActivityFromBridge(destinationFactory: (String) -> String? = { it }) {
- val (destination, highlightMenuKey) = getDestination(destinationFactory) ?: return
- val intent = Intent(this, SpaActivity::class.java)
- .appendSpaParams(
- destination = destination,
- sessionName = SESSION_EXTERNAL,
- )
- if (!ActivityEmbeddingUtils.isEmbeddingActivityEnabled(this) ||
- !tryStartMultiPaneDeepLink(intent, highlightMenuKey)
- ) {
- startActivity(intent)
- }
+ getDestination(destinationFactory)?.startFromExportedActivity(this)
}
+
+ @VisibleForTesting
+ fun Activity.getDestination(
+ destinationFactory: (String) -> String? = { it },
+ ): SpaDestination? {
+ val metaData =
+ packageManager
+ .getActivityInfo(componentName, ComponentInfoFlags.of(GET_META_DATA.toLong()))
+ .metaData
+ val destination = metaData.getString(META_DATA_KEY_DESTINATION)
+ if (destination.isNullOrBlank()) return null
+ val finalDestination = destinationFactory(destination)
+ if (finalDestination.isNullOrBlank()) return null
+ return SpaDestination(
+ destination = finalDestination,
+ highlightMenuKey = metaData.getString(META_DATA_KEY_HIGHLIGHT_MENU_KEY),
+ )
+ }
+
+ @VisibleForTesting
+ const val META_DATA_KEY_DESTINATION = "com.android.settings.spa.DESTINATION"
}
}
diff --git a/src/com/android/settings/spa/SpaDestination.kt b/src/com/android/settings/spa/SpaDestination.kt
index bdec1d8..cb20c37 100644
--- a/src/com/android/settings/spa/SpaDestination.kt
+++ b/src/com/android/settings/spa/SpaDestination.kt
@@ -17,33 +17,26 @@
package com.android.settings.spa
import android.app.Activity
-import android.content.pm.PackageManager
-import androidx.annotation.VisibleForTesting
-import com.android.settings.SettingsActivity.META_DATA_KEY_HIGHLIGHT_MENU_KEY
+import android.content.Intent
+import com.android.settings.activityembedding.ActivityEmbeddingUtils
+import com.android.settings.activityembedding.EmbeddedDeepLinkUtils.tryStartMultiPaneDeepLink
+import com.android.settingslib.spa.framework.util.SESSION_EXTERNAL
+import com.android.settingslib.spa.framework.util.appendSpaParams
data class SpaDestination(
val destination: String,
val highlightMenuKey: String?,
) {
- companion object {
- fun Activity.getDestination(
- destinationFactory: (String) -> String? = { it },
- ): SpaDestination? {
- val metaData = packageManager.getActivityInfo(
- componentName,
- PackageManager.ComponentInfoFlags.of(PackageManager.GET_META_DATA.toLong())
- ).metaData
- val destination = metaData.getString(META_DATA_KEY_DESTINATION)
- if (destination.isNullOrBlank()) return null
- val finalDestination = destinationFactory(destination)
- if (finalDestination.isNullOrBlank()) return null
- return SpaDestination(
- destination = finalDestination,
- highlightMenuKey = metaData.getString(META_DATA_KEY_HIGHLIGHT_MENU_KEY),
+ fun startFromExportedActivity(activity: Activity) {
+ val intent = Intent(activity, SpaActivity::class.java)
+ .appendSpaParams(
+ destination = destination,
+ sessionName = SESSION_EXTERNAL,
)
+ if (!ActivityEmbeddingUtils.isEmbeddingActivityEnabled(activity) ||
+ !activity.tryStartMultiPaneDeepLink(intent, highlightMenuKey)
+ ) {
+ activity.startActivity(intent)
}
-
- @VisibleForTesting
- const val META_DATA_KEY_DESTINATION = "com.android.settings.spa.DESTINATION"
}
}
diff --git a/src/com/android/settings/spa/app/specialaccess/DisplayOverOtherApps.kt b/src/com/android/settings/spa/app/specialaccess/DisplayOverOtherApps.kt
index 904f0af..55e842f 100644
--- a/src/com/android/settings/spa/app/specialaccess/DisplayOverOtherApps.kt
+++ b/src/com/android/settings/spa/app/specialaccess/DisplayOverOtherApps.kt
@@ -44,6 +44,16 @@
logPermissionChange(newAllowed)
}
+ // TODO (b/349195999)
+ override fun isChangeable(record: AppOpPermissionRecord): Boolean {
+ if (record.app.packageName in
+ context.resources.getStringArray(R.array.display_over_apps_permission_change_exempt)
+ && record.app.isSystemApp()) {
+ return false
+ }
+ return super.isChangeable(record)
+ }
+
private fun logPermissionChange(newAllowed: Boolean) {
val category = when {
newAllowed -> SettingsEnums.APP_SPECIAL_PERMISSION_APPDRAW_ALLOW
diff --git a/src/com/android/settings/spa/network/AutomaticDataSwitchingPreference.kt b/src/com/android/settings/spa/network/AutomaticDataSwitchingPreference.kt
index e79be4a..e7cc18f 100644
--- a/src/com/android/settings/spa/network/AutomaticDataSwitchingPreference.kt
+++ b/src/com/android/settings/spa/network/AutomaticDataSwitchingPreference.kt
@@ -16,13 +16,11 @@
package com.android.settings.spa.network
-import android.telephony.TelephonyManager
import androidx.compose.runtime.Composable
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.res.stringResource
import androidx.lifecycle.viewmodel.compose.viewModel
import com.android.settings.R
-import com.android.settings.network.telephony.TelephonyRepository
import com.android.settings.network.telephony.wificalling.CrossSimCallingViewModel
import com.android.settingslib.spa.widget.preference.SwitchPreference
import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
@@ -51,11 +49,3 @@
}
)
}
-
-fun TelephonyRepository.setAutomaticData(subId: Int, newEnabled: Boolean) {
- setMobileDataPolicyEnabled(
- subId = subId,
- policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
- enabled = newEnabled,
- )
-}
diff --git a/src/com/android/settings/spa/network/MobileDataSwitchingPreference.kt b/src/com/android/settings/spa/network/MobileDataSwitchingPreference.kt
index 0d40bca..4b95d44 100644
--- a/src/com/android/settings/spa/network/MobileDataSwitchingPreference.kt
+++ b/src/com/android/settings/spa/network/MobileDataSwitchingPreference.kt
@@ -16,12 +16,10 @@
package com.android.settings.spa.network
-import android.telephony.TelephonyManager
import androidx.compose.runtime.Composable
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.res.stringResource
import com.android.settings.R
-import com.android.settings.network.telephony.TelephonyRepository
import com.android.settingslib.spa.widget.preference.SwitchPreference
import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
import kotlinx.coroutines.Dispatchers
diff --git a/src/com/android/settings/spa/network/NetworkCellularGroupProvider.kt b/src/com/android/settings/spa/network/NetworkCellularGroupProvider.kt
index 4b9fcf4..b9a375c 100644
--- a/src/com/android/settings/spa/network/NetworkCellularGroupProvider.kt
+++ b/src/com/android/settings/spa/network/NetworkCellularGroupProvider.kt
@@ -46,21 +46,27 @@
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.viewmodel.compose.viewModel
import com.android.settings.R
+import com.android.settings.flags.Flags
import com.android.settings.network.SubscriptionInfoListViewModel
+import com.android.settings.network.SubscriptionUtil
import com.android.settings.network.telephony.DataSubscriptionRepository
-import com.android.settings.network.telephony.TelephonyRepository
+import com.android.settings.network.telephony.MobileDataRepository
+import com.android.settings.network.telephony.requireSubscriptionManager
import com.android.settings.spa.network.PrimarySimRepository.PrimarySimInfo
+import com.android.settings.spa.search.SearchablePage
import com.android.settings.wifi.WifiPickerTrackerHelper
import com.android.settingslib.spa.framework.common.SettingsEntryBuilder
import com.android.settingslib.spa.framework.common.SettingsPageProvider
import com.android.settingslib.spa.framework.common.createSettingsPage
import com.android.settingslib.spa.framework.compose.navigator
+import com.android.settingslib.spa.framework.compose.rememberContext
import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
import com.android.settingslib.spa.widget.preference.Preference
import com.android.settingslib.spa.widget.preference.PreferenceModel
import com.android.settingslib.spa.widget.scaffold.RegularScaffold
import com.android.settingslib.spa.widget.ui.Category
import com.android.settingslib.spaprivileged.framework.common.broadcastReceiverFlow
+import com.android.settingslib.spaprivileged.framework.common.userManager
import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalBooleanFlow
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
@@ -77,7 +83,7 @@
/**
* Showing the sim onboarding which is the process flow of sim switching on.
*/
-open class NetworkCellularGroupProvider : SettingsPageProvider {
+open class NetworkCellularGroupProvider : SettingsPageProvider, SearchablePage {
override val name = fileName
override val metricsCategory = SettingsEnums.MOBILE_NETWORK_LIST
private val owner = createSettingsPage()
@@ -190,8 +196,24 @@
open fun OtherSection(){
// Do nothing
}
+
+ override fun getSearchableTitles(context: Context): List<String> {
+ if (!isPageSearchable(context)) return emptyList()
+ return buildList {
+ if (context.requireSubscriptionManager().activeSubscriptionInfoCount > 0) {
+ add(context.getString(R.string.mobile_data_settings_title))
+ }
+ }
+ }
+
companion object {
const val fileName = "NetworkCellularGroupProvider"
+
+ private fun isPageSearchable(context: Context) =
+ Flags.isDualSimOnboardingEnabled() &&
+ SubscriptionUtil.isSimHardwareVisible(context) &&
+ !com.android.settingslib.Utils.isWifiOnly(context) &&
+ context.userManager.isAdminUser
}
}
@@ -202,21 +224,18 @@
) {
val context = LocalContext.current
val localLifecycleOwner = LocalLifecycleOwner.current
- val wifiPickerTrackerHelper = getWifiPickerTrackerHelper(context, localLifecycleOwner)
-
- val subscriptionManager: SubscriptionManager? =
- context.getSystemService(SubscriptionManager::class.java)
+ val mobileDataRepository = rememberContext(::MobileDataRepository)
Category(title = stringResource(id = R.string.mobile_data_settings_title)) {
val isAutoDataEnabled by remember(nonDds.intValue) {
- TelephonyRepository(context).isMobileDataPolicyEnabledFlow(
+ mobileDataRepository.isMobileDataPolicyEnabledFlow(
subId = nonDds.intValue,
policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH
)
}.collectAsStateWithLifecycle(initialValue = null)
val mobileDataStateChanged by remember(mobileDataSelectedId.intValue) {
- TelephonyRepository(context).isDataEnabledFlow(mobileDataSelectedId.intValue)
+ mobileDataRepository.isMobileDataEnabledFlow(mobileDataSelectedId.intValue)
}.collectAsStateWithLifecycle(initialValue = false)
val coroutineScope = rememberCoroutineScope()
@@ -226,8 +245,8 @@
coroutineScope.launch {
setMobileData(
context,
- subscriptionManager,
- wifiPickerTrackerHelper,
+ context.getSystemService(SubscriptionManager::class.java),
+ getWifiPickerTrackerHelper(context, localLifecycleOwner),
mobileDataSelectedId.intValue,
newEnabled
)
@@ -238,7 +257,7 @@
AutomaticDataSwitchingPreference(
isAutoDataEnabled = { isAutoDataEnabled },
setAutoDataEnabled = { newEnabled ->
- TelephonyRepository(context).setAutomaticData(nonDds.intValue, newEnabled)
+ mobileDataRepository.setAutoDataSwitch(nonDds.intValue, newEnabled)
},
)
}
@@ -281,14 +300,14 @@
) {
CreatePrimarySimListPreference(
stringResource(id = R.string.primary_sim_calls_title),
- primarySimInfo.callsAndSmsList,
+ primarySimInfo.callsList,
callsSelectedId,
ImageVector.vectorResource(R.drawable.ic_phone),
actionSetCalls
)
CreatePrimarySimListPreference(
stringResource(id = R.string.primary_sim_texts_title),
- primarySimInfo.callsAndSmsList,
+ primarySimInfo.smsList,
textsSelectedId,
Icons.AutoMirrored.Outlined.Message,
actionSetTexts
@@ -426,6 +445,6 @@
Log.d(NetworkCellularGroupProvider.fileName, "setDefaultData: [$targetSubId]")
subscriptionManager?.setDefaultDataSubId(targetSubId)
}
- TelephonyRepository(context)
- .setMobileData(targetSubId, enabled, wifiPickerTrackerHelper)
+ MobileDataRepository(context)
+ .setMobileDataEnabled(targetSubId, enabled, wifiPickerTrackerHelper)
}
\ No newline at end of file
diff --git a/src/com/android/settings/spa/network/PrimarySimRepository.kt b/src/com/android/settings/spa/network/PrimarySimRepository.kt
index e34a29e..420f870 100644
--- a/src/com/android/settings/spa/network/PrimarySimRepository.kt
+++ b/src/com/android/settings/spa/network/PrimarySimRepository.kt
@@ -22,12 +22,14 @@
import android.util.Log
import com.android.settings.R
import com.android.settings.network.SubscriptionUtil
+import com.android.settings.network.telephony.CarrierConfigRepository
import com.android.settingslib.spa.widget.preference.ListPreferenceOption
class PrimarySimRepository(private val context: Context) {
data class PrimarySimInfo(
- val callsAndSmsList: List<ListPreferenceOption>,
+ val callsList: List<ListPreferenceOption>,
+ val smsList: List<ListPreferenceOption>,
val dataList: List<ListPreferenceOption>,
)
@@ -37,7 +39,8 @@
return null
}
- val callsAndSmsList = mutableListOf<ListPreferenceOption>()
+ val callsList = mutableListOf<ListPreferenceOption>()
+ val smsList = mutableListOf<ListPreferenceOption>()
val dataList = mutableListOf<ListPreferenceOption>()
for (info in selectableSubscriptionInfoList) {
val item = ListPreferenceOption(
@@ -45,15 +48,22 @@
text = "${info.displayName}",
summary = SubscriptionUtil.getBidiFormattedPhoneNumber(context, info) ?: "",
)
- callsAndSmsList += item
+ callsList += item
+ smsList += item
dataList += item
}
- callsAndSmsList += ListPreferenceOption(
+
+ val askEveryTime = ListPreferenceOption(
id = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
text = context.getString(R.string.sim_calls_ask_first_prefs_title),
)
+ callsList += askEveryTime
+ if (context.resources
+ .getBoolean(com.android.internal.R.bool.config_sms_ask_every_time_support)) {
+ smsList += askEveryTime
+ }
- return PrimarySimInfo(callsAndSmsList, dataList)
+ return PrimarySimInfo(callsList, smsList, dataList)
}
private companion object {
diff --git a/src/com/android/settings/spa/network/SimOnboardingLabelSim.kt b/src/com/android/settings/spa/network/SimOnboardingLabelSim.kt
index 6466731..f78808f 100644
--- a/src/com/android/settings/spa/network/SimOnboardingLabelSim.kt
+++ b/src/com/android/settings/spa/network/SimOnboardingLabelSim.kt
@@ -81,24 +81,28 @@
onboardingService: SimOnboardingService,
subInfo: SubscriptionInfo,
) {
- val originalSimCarrierName = subInfo.displayName.toString()
- var titleSimName by remember {
- mutableStateOf(onboardingService.getSubscriptionInfoDisplayName(subInfo))
+ val currentSimName = onboardingService.getSubscriptionInfoDisplayName(subInfo)
+ var prefTitle by remember {
+ mutableStateOf(currentSimName)
+ }
+ var dialogInputContent by remember {
+ mutableStateOf(currentSimName)
}
val phoneNumber = phoneNumber(subInfo)
val alertDialogPresenter = rememberAlertDialogPresenter(
confirmButton = AlertDialogButton(
stringResource(R.string.mobile_network_sim_name_rename),
- titleSimName.isNotBlank()
+ dialogInputContent.isNotBlank()
) {
onboardingService.addItemForRenaming(
- subInfo, if (titleSimName.isEmpty()) originalSimCarrierName else titleSimName
+ subInfo, dialogInputContent
)
+ prefTitle = dialogInputContent
},
dismissButton = AlertDialogButton(
stringResource(R.string.cancel),
) {
- titleSimName = onboardingService.getSubscriptionInfoDisplayName(subInfo)
+ // Do nothing
},
title = stringResource(R.string.sim_onboarding_label_sim_dialog_title),
text = {
@@ -107,17 +111,19 @@
modifier = Modifier.padding(bottom = SettingsDimension.itemPaddingVertical)
)
SettingsOutlinedTextField(
- value = titleSimName,
+ value = dialogInputContent,
label = stringResource(R.string.sim_onboarding_label_sim_dialog_label),
- placeholder = {Text(text = originalSimCarrierName)},
- modifier = Modifier.fillMaxWidth().testTag("contentInput")
+ placeholder = {Text(text = subInfo.displayName.toString())},
+ modifier = Modifier
+ .fillMaxWidth()
+ .testTag("contentInput")
) {
- titleSimName = it
+ dialogInputContent = it
}
},
)
Preference(object : PreferenceModel {
- override val title = titleSimName
+ override val title = prefTitle
override val summary = { phoneNumber.value ?: "" }
override val onClick = alertDialogPresenter::open
})
diff --git a/src/com/android/settings/spa/notification/AppNotificationsListModel.kt b/src/com/android/settings/spa/notification/AppNotificationsListModel.kt
index 9f949c4..8a534c8 100644
--- a/src/com/android/settings/spa/notification/AppNotificationsListModel.kt
+++ b/src/com/android/settings/spa/notification/AppNotificationsListModel.kt
@@ -105,7 +105,7 @@
override fun getSpinnerOptions(recordList: List<AppNotificationsRecord>): List<SpinnerOption> {
val options = mutableListOf(SpinnerItem.AllApps, SpinnerItem.TurnedOff)
- if (repository.isUserUnlocked(recordList[0].app.userId)) {
+ if (recordList.isNotEmpty() && repository.isUserUnlocked(recordList[0].app.userId)) {
options.add(0, SpinnerItem.MostRecent)
options.add(1, SpinnerItem.MostFrequent)
}
diff --git a/src/com/android/settings/spa/search/SearchablePage.kt b/src/com/android/settings/spa/search/SearchablePage.kt
new file mode 100644
index 0000000..2364514
--- /dev/null
+++ b/src/com/android/settings/spa/search/SearchablePage.kt
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.spa.search
+
+import android.content.Context
+
+interface SearchablePage {
+
+ /** Gets the searchable titles at the current moment. */
+ fun getSearchableTitles(context: Context): List<String>
+}
diff --git a/src/com/android/settings/spa/search/SpaSearchLandingActivity.kt b/src/com/android/settings/spa/search/SpaSearchLandingActivity.kt
new file mode 100644
index 0000000..8c2bc37
--- /dev/null
+++ b/src/com/android/settings/spa/search/SpaSearchLandingActivity.kt
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.spa.search
+
+import android.app.Activity
+import android.os.Bundle
+import com.android.settings.SettingsActivity.EXTRA_FRAGMENT_ARG_KEY
+import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
+import com.android.settings.password.PasswordUtils
+import com.android.settings.spa.SpaDestination
+
+class SpaSearchLandingActivity : Activity() {
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ if (!isValidCall()) return
+
+ val destination = intent.getStringExtra(EXTRA_FRAGMENT_ARG_KEY)
+ if (destination.isNullOrBlank()) return
+
+ SpaDestination(destination = destination, highlightMenuKey = null)
+ .startFromExportedActivity(this)
+ finish()
+ }
+
+ private fun isValidCall() =
+ PasswordUtils.getCallingAppPackageName(activityToken) ==
+ featureFactory.searchFeatureProvider.getSettingsIntelligencePkgName(this)
+}
diff --git a/src/com/android/settings/spa/search/SpaSearchRepository.kt b/src/com/android/settings/spa/search/SpaSearchRepository.kt
new file mode 100644
index 0000000..d37c50c
--- /dev/null
+++ b/src/com/android/settings/spa/search/SpaSearchRepository.kt
@@ -0,0 +1,85 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.spa.search
+
+import android.content.Context
+import android.provider.SearchIndexableResource
+import android.util.Log
+import androidx.annotation.VisibleForTesting
+import com.android.settingslib.search.Indexable
+import com.android.settingslib.search.SearchIndexableData
+import com.android.settingslib.search.SearchIndexableRaw
+import com.android.settingslib.spa.framework.common.SettingsPageProvider
+import com.android.settingslib.spa.framework.common.SpaEnvironment
+import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory
+
+class SpaSearchRepository(
+ private val spaEnvironment: SpaEnvironment = SpaEnvironmentFactory.instance,
+) {
+ fun getSearchIndexableDataList(): List<SearchIndexableData> {
+ Log.d(TAG, "getSearchIndexableDataList")
+ return spaEnvironment.pageProviderRepository.value.getAllProviders().mapNotNull { page ->
+ if (page is SearchablePage) {
+ page.createSearchIndexableData(page::getSearchableTitles)
+ } else null
+ }
+ }
+
+ companion object {
+ private const val TAG = "SpaSearchRepository"
+
+ @VisibleForTesting
+ fun SettingsPageProvider.createSearchIndexableData(
+ titlesProvider: (context: Context) -> List<String>,
+ ): SearchIndexableData {
+ val searchIndexProvider =
+ object : Indexable.SearchIndexProvider {
+ override fun getXmlResourcesToIndex(
+ context: Context,
+ enabled: Boolean,
+ ): List<SearchIndexableResource> = emptyList()
+
+ override fun getRawDataToIndex(
+ context: Context,
+ enabled: Boolean,
+ ): List<SearchIndexableRaw> = emptyList()
+
+ override fun getDynamicRawDataToIndex(
+ context: Context,
+ enabled: Boolean,
+ ): List<SearchIndexableRaw> =
+ titlesProvider(context).map { title ->
+ createSearchIndexableRaw(context, title)
+ }
+
+ override fun getNonIndexableKeys(context: Context): List<String> = emptyList()
+ }
+ return SearchIndexableData(this::class.java, searchIndexProvider)
+ }
+
+ private fun SettingsPageProvider.createSearchIndexableRaw(context: Context, title: String) =
+ SearchIndexableRaw(context).apply {
+ key = name
+ this.title = title
+ intentAction = SEARCH_LANDING_ACTION
+ packageName = context.packageName
+ className = SpaSearchLandingActivity::class.qualifiedName
+ }
+
+ private const val SEARCH_LANDING_ACTION = "android.settings.SPA_SEARCH_LANDING"
+ }
+}
diff --git a/src/com/android/settings/system/DeviceDiagnosticsPreferenceController.kt b/src/com/android/settings/system/DeviceDiagnosticsPreferenceController.kt
index 695bb5b..d683804 100644
--- a/src/com/android/settings/system/DeviceDiagnosticsPreferenceController.kt
+++ b/src/com/android/settings/system/DeviceDiagnosticsPreferenceController.kt
@@ -26,7 +26,7 @@
import com.android.settings.core.BasePreferenceController
import com.android.settings.flags.Flags
-class DeviceDiagnosticsPreferenceController(context: Context, preferenceKey: String) :
+open class DeviceDiagnosticsPreferenceController(context: Context, preferenceKey: String) :
BasePreferenceController(context, preferenceKey) {
override fun getAvailabilityStatus(): Int {
@@ -59,6 +59,12 @@
val packageName = mContext.getResources().getString(
R.string.config_device_diagnostics_package_name)
intent.setPackage(packageName)
+
+ val info = mContext.getPackageManager().resolveActivity(intent, 0)
+ if (info == null) {
+ return null
+ }
+
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
return intent
}
diff --git a/src/com/android/settings/system/FactoryResetPreferenceController.java b/src/com/android/settings/system/FactoryResetPreferenceController.java
index df7cc3d..54c97a3 100644
--- a/src/com/android/settings/system/FactoryResetPreferenceController.java
+++ b/src/com/android/settings/system/FactoryResetPreferenceController.java
@@ -16,6 +16,7 @@
package com.android.settings.system;
import android.Manifest;
+import android.annotation.RequiresPermission;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
@@ -37,8 +38,8 @@
private static final String TAG = "FactoryResetPreference";
- @VisibleForTesting
- static final String ACTION_PREPARE_FACTORY_RESET =
+ @RequiresPermission(Manifest.permission.PREPARE_FACTORY_RESET)
+ public static final String ACTION_PREPARE_FACTORY_RESET =
"com.android.settings.ACTION_PREPARE_FACTORY_RESET";
private final UserManager mUm;
diff --git a/src/com/android/settings/system/reset/ResetNetworkConfirm.kt b/src/com/android/settings/system/reset/ResetNetworkConfirm.kt
new file mode 100644
index 0000000..34b9909
--- /dev/null
+++ b/src/com/android/settings/system/reset/ResetNetworkConfirm.kt
@@ -0,0 +1,217 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.system.reset
+
+import android.app.ProgressDialog
+import android.app.settings.SettingsEnums
+import android.os.Bundle
+import android.os.Looper
+import android.telephony.SubscriptionManager
+import android.util.Log
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import android.widget.Toast
+import androidx.annotation.VisibleForTesting
+import androidx.appcompat.app.AlertDialog
+import androidx.lifecycle.lifecycleScope
+import com.android.settings.R
+import com.android.settings.ResetNetworkRequest
+import com.android.settings.Utils
+import com.android.settings.core.InstrumentedFragment
+import com.android.settings.network.ResetNetworkRestrictionViewBuilder
+import com.android.settings.network.telephony.SubscriptionRepository
+import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.conflate
+import kotlinx.coroutines.flow.emptyFlow
+import kotlinx.coroutines.flow.flowOn
+import kotlinx.coroutines.flow.mapNotNull
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
+
+/**
+ * Confirm and execute a reset of the network settings to a clean "just out of the box" state.
+ * Multiple confirmations are required: first, a general "are you sure you want to do this?" prompt,
+ * followed by a keyguard pattern trace if the user has defined one, followed by a final
+ * strongly-worded "THIS WILL RESET EVERYTHING" prompt. If at any time the phone is allowed to go to
+ * sleep, is locked, et cetera, then the confirmation sequence is abandoned.
+ *
+ * This is the confirmation screen.
+ */
+class ResetNetworkConfirm : InstrumentedFragment() {
+ @VisibleForTesting lateinit var resetNetworkRequest: ResetNetworkRequest
+ private var progressDialog: ProgressDialog? = null
+ private var alertDialog: AlertDialog? = null
+ private var resetStarted = false
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+
+ Log.d(TAG, "onCreate: $arguments")
+ resetNetworkRequest = ResetNetworkRequest(arguments)
+ }
+
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View {
+ val view = ResetNetworkRestrictionViewBuilder(requireActivity()).build()
+ if (view != null) {
+ Log.w(TAG, "Access deny.")
+ return view
+ }
+ return inflater.inflate(R.layout.reset_network_confirm, null).apply {
+ establishFinalConfirmationState()
+ setSubtitle()
+ }
+ }
+
+ /** Configure the UI for the final confirmation interaction */
+ private fun View.establishFinalConfirmationState() {
+ requireViewById<View>(R.id.execute_reset_network).setOnClickListener {
+ if (!Utils.isMonkeyRunning() && !resetStarted) {
+ resetStarted = true
+ viewLifecycleOwner.lifecycleScope.launch { onResetClicked() }
+ }
+ }
+ }
+
+ private fun View.setSubtitle() {
+ if (resetNetworkRequest.resetEsimPackageName != null) {
+ requireViewById<TextView>(R.id.reset_network_confirm)
+ .setText(R.string.reset_network_final_desc_esim)
+ }
+ }
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ invalidSubIdFlow().collectLatestWithLifecycle(viewLifecycleOwner) { invalidSubId ->
+ // Reset process could triage this callback, so if reset has started, ignore the event.
+ if (!resetStarted) {
+ Log.w(TAG, "subId $invalidSubId no longer active.")
+ requireActivity().finish()
+ }
+ }
+ }
+
+ /**
+ * Monitor the sub ids in the request, if any sub id becomes inactive, the request is abandoned.
+ */
+ private fun invalidSubIdFlow(): Flow<Int> {
+ val subIdsInRequest =
+ listOf(
+ resetNetworkRequest.resetTelephonyAndNetworkPolicyManager,
+ resetNetworkRequest.resetApnSubId,
+ resetNetworkRequest.resetImsSubId,
+ )
+ .distinct()
+ .filter(SubscriptionManager::isUsableSubscriptionId)
+
+ if (subIdsInRequest.isEmpty()) return emptyFlow()
+
+ return SubscriptionRepository(requireContext())
+ .activeSubscriptionIdListFlow()
+ .mapNotNull { activeSubIds -> subIdsInRequest.firstOrNull { it !in activeSubIds } }
+ .conflate()
+ .flowOn(Dispatchers.Default)
+ }
+
+ /**
+ * The user has gone through the multiple confirmation, so now we go ahead and reset the network
+ * settings to its factory-default state.
+ */
+ @VisibleForTesting
+ suspend fun onResetClicked() {
+ showProgressDialog()
+ resetNetwork()
+ }
+
+ private fun showProgressDialog() {
+ progressDialog =
+ ProgressDialog(requireContext()).apply {
+ isIndeterminate = true
+ setCancelable(false)
+ setMessage(requireContext().getString(R.string.main_clear_progress_text))
+ show()
+ }
+ }
+
+ private fun dismissProgressDialog() {
+ progressDialog?.let { progressDialog ->
+ if (progressDialog.isShowing) {
+ progressDialog.dismiss()
+ }
+ }
+ }
+
+ /**
+ * Do all reset task.
+ *
+ * If error happens during erasing eSIM profiles or timeout, an error msg is shown.
+ */
+ private suspend fun resetNetwork() {
+ var resetEsimSuccess = true
+
+ withContext(Dispatchers.Default) {
+ val builder =
+ resetNetworkRequest.toResetNetworkOperationBuilder(
+ requireContext(), Looper.getMainLooper())
+ resetNetworkRequest.resetEsimPackageName?.let { resetEsimPackageName ->
+ builder.resetEsim(resetEsimPackageName)
+ builder.resetEsimResultCallback { resetEsimSuccess = it }
+ }
+ builder.build().run()
+ }
+
+ Log.d(TAG, "network factoryReset complete. succeeded: $resetEsimSuccess")
+ onResetFinished(resetEsimSuccess)
+ }
+
+ private fun onResetFinished(resetEsimSuccess: Boolean) {
+ dismissProgressDialog()
+ val activity = requireActivity()
+
+ if (!resetEsimSuccess) {
+ alertDialog =
+ AlertDialog.Builder(activity)
+ .setTitle(R.string.reset_esim_error_title)
+ .setMessage(R.string.reset_esim_error_msg)
+ .setPositiveButton(android.R.string.ok, /* listener= */ null)
+ .show()
+ } else {
+ Toast.makeText(activity, R.string.reset_network_complete_toast, Toast.LENGTH_SHORT)
+ .show()
+ }
+ activity.finish()
+ }
+
+ override fun onDestroy() {
+ progressDialog?.dismiss()
+ alertDialog?.dismiss()
+ super.onDestroy()
+ }
+
+ override fun getMetricsCategory() = SettingsEnums.RESET_NETWORK_CONFIRM
+
+ private companion object {
+ const val TAG = "ResetNetworkConfirm"
+ }
+}
diff --git a/src/com/android/settings/users/AddUserWhenLockedPreferenceController.java b/src/com/android/settings/users/AddUserWhenLockedPreferenceController.java
index ce5533e..fe90a2a 100644
--- a/src/com/android/settings/users/AddUserWhenLockedPreferenceController.java
+++ b/src/com/android/settings/users/AddUserWhenLockedPreferenceController.java
@@ -42,9 +42,18 @@
if (!isAvailable()) {
restrictedSwitchPreference.setVisible(false);
} else {
- restrictedSwitchPreference.setDisabledByAdmin(
- mUserCaps.disallowAddUser() ? mUserCaps.getEnforcedAdmin() : null);
- restrictedSwitchPreference.setVisible(mUserCaps.mUserSwitcherEnabled);
+ if (android.multiuser.Flags.newMultiuserSettingsUx()) {
+ restrictedSwitchPreference.setVisible(true);
+ if (mUserCaps.mDisallowAddUserSetByAdmin) {
+ restrictedSwitchPreference.setDisabledByAdmin(mUserCaps.mEnforcedAdmin);
+ } else if (mUserCaps.mDisallowAddUser) {
+ restrictedSwitchPreference.setVisible(false);
+ }
+ } else {
+ restrictedSwitchPreference.setDisabledByAdmin(
+ mUserCaps.disallowAddUser() ? mUserCaps.getEnforcedAdmin() : null);
+ restrictedSwitchPreference.setVisible(mUserCaps.mUserSwitcherEnabled);
+ }
}
}
@@ -52,6 +61,8 @@
public int getAvailabilityStatus() {
if (!mUserCaps.isAdmin()) {
return DISABLED_FOR_USER;
+ } else if (android.multiuser.Flags.newMultiuserSettingsUx()) {
+ return AVAILABLE;
} else if (mUserCaps.disallowAddUser() || mUserCaps.disallowAddUserSetByAdmin()) {
return DISABLED_FOR_USER;
} else {
diff --git a/src/com/android/settings/users/GuestTelephonyPreferenceController.java b/src/com/android/settings/users/GuestTelephonyPreferenceController.java
index 4fbd449..e730cbf 100644
--- a/src/com/android/settings/users/GuestTelephonyPreferenceController.java
+++ b/src/com/android/settings/users/GuestTelephonyPreferenceController.java
@@ -19,12 +19,16 @@
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Bundle;
+import android.os.UserHandle;
import android.os.UserManager;
import androidx.preference.Preference;
import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedLockUtilsInternal;
+import com.android.settingslib.RestrictedSwitchPreference;
/**
* Controls the preference on the user settings screen which determines whether the guest user
@@ -43,10 +47,21 @@
@Override
public int getAvailabilityStatus() {
- if (!mUserCaps.isAdmin() || !mUserCaps.mCanAddGuest) {
+ if (!mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY)
+ || UserManager.isHeadlessSystemUserMode()) {
return DISABLED_FOR_USER;
+ }
+ if (android.multiuser.Flags.newMultiuserSettingsUx()) {
+ if (!mUserCaps.isAdmin()) {
+ return DISABLED_FOR_USER;
+ }
+ return AVAILABLE;
} else {
- return mUserCaps.mUserSwitcherEnabled ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+ if (!mUserCaps.isAdmin() || !mUserCaps.mCanAddGuest) {
+ return DISABLED_FOR_USER;
+ } else {
+ return mUserCaps.mUserSwitcherEnabled ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+ }
}
}
@@ -74,8 +89,31 @@
public void updateState(Preference preference) {
super.updateState(preference);
mUserCaps.updateAddUserCapabilities(mContext);
- preference.setVisible(isAvailable() && mUserCaps.mUserSwitcherEnabled
- && mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY)
- && !UserManager.isHeadlessSystemUserMode());
+ final RestrictedSwitchPreference restrictedSwitchPreference =
+ (RestrictedSwitchPreference) preference;
+ restrictedSwitchPreference.setChecked(isChecked());
+ if (!isAvailable()) {
+ restrictedSwitchPreference.setVisible(false);
+ } else {
+ if (android.multiuser.Flags.newMultiuserSettingsUx()) {
+ restrictedSwitchPreference.setVisible(true);
+ final RestrictedLockUtils.EnforcedAdmin disallowRemoveUserAdmin =
+ RestrictedLockUtilsInternal.checkIfRestrictionEnforced(mContext,
+ UserManager.DISALLOW_REMOVE_USER, UserHandle.myUserId());
+ if (disallowRemoveUserAdmin != null) {
+ restrictedSwitchPreference.setDisabledByAdmin(disallowRemoveUserAdmin);
+ } else if (mUserCaps.mDisallowAddUserSetByAdmin) {
+ restrictedSwitchPreference.setDisabledByAdmin(mUserCaps.mEnforcedAdmin);
+ } else if (mUserCaps.mDisallowAddUser) {
+ // Adding user is restricted by system
+ restrictedSwitchPreference.setVisible(false);
+ }
+ } else {
+ restrictedSwitchPreference.setDisabledByAdmin(
+ mUserCaps.disallowAddUser() ? mUserCaps.getEnforcedAdmin() : null);
+ restrictedSwitchPreference.setVisible(mUserCaps.mUserSwitcherEnabled
+ && isAvailable());
+ }
+ }
}
}
diff --git a/src/com/android/settings/users/MultiUserSwitchBarController.java b/src/com/android/settings/users/MultiUserSwitchBarController.java
index f57b795..641ae51 100644
--- a/src/com/android/settings/users/MultiUserSwitchBarController.java
+++ b/src/com/android/settings/users/MultiUserSwitchBarController.java
@@ -57,11 +57,6 @@
mSwitchBar.setDisabledByAdmin(RestrictedLockUtilsInternal
.checkIfRestrictionEnforced(mContext, UserManager.DISALLOW_USER_SWITCH,
UserHandle.myUserId()));
-
- } else if (mUserCapabilities.mDisallowAddUser) {
- mSwitchBar.setDisabledByAdmin(RestrictedLockUtilsInternal
- .checkIfRestrictionEnforced(mContext, UserManager.DISALLOW_ADD_USER,
- UserHandle.myUserId()));
} else {
mSwitchBar.setEnabled(mUserCapabilities.mIsMain);
}
diff --git a/src/com/android/settings/users/RemoveGuestOnExitPreferenceController.java b/src/com/android/settings/users/RemoveGuestOnExitPreferenceController.java
index 01df5fd..345b506 100644
--- a/src/com/android/settings/users/RemoveGuestOnExitPreferenceController.java
+++ b/src/com/android/settings/users/RemoveGuestOnExitPreferenceController.java
@@ -22,6 +22,7 @@
import android.content.pm.UserInfo;
import android.os.Bundle;
import android.os.Handler;
+import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
import android.util.Log;
@@ -33,6 +34,8 @@
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedLockUtilsInternal;
import com.android.settingslib.RestrictedSwitchPreference;
/**
@@ -70,9 +73,24 @@
if (!isAvailable()) {
restrictedSwitchPreference.setVisible(false);
} else {
- restrictedSwitchPreference.setDisabledByAdmin(
- mUserCaps.disallowAddUser() ? mUserCaps.getEnforcedAdmin() : null);
- restrictedSwitchPreference.setVisible(mUserCaps.mUserSwitcherEnabled);
+ if (android.multiuser.Flags.newMultiuserSettingsUx()) {
+ restrictedSwitchPreference.setVisible(true);
+ final RestrictedLockUtils.EnforcedAdmin disallowRemoveUserAdmin =
+ RestrictedLockUtilsInternal.checkIfRestrictionEnforced(mContext,
+ UserManager.DISALLOW_REMOVE_USER, UserHandle.myUserId());
+ if (disallowRemoveUserAdmin != null) {
+ restrictedSwitchPreference.setDisabledByAdmin(disallowRemoveUserAdmin);
+ } else if (mUserCaps.mDisallowAddUserSetByAdmin) {
+ restrictedSwitchPreference.setDisabledByAdmin(mUserCaps.mEnforcedAdmin);
+ } else if (mUserCaps.mDisallowAddUser) {
+ // Adding user is restricted by system
+ restrictedSwitchPreference.setVisible(false);
+ }
+ } else {
+ restrictedSwitchPreference.setDisabledByAdmin(
+ mUserCaps.disallowAddUser() ? mUserCaps.getEnforcedAdmin() : null);
+ restrictedSwitchPreference.setVisible(mUserCaps.mUserSwitcherEnabled);
+ }
}
}
@@ -82,14 +100,24 @@
// then disable this controller
// also disable this controller for non-admin users
// also disable when config_guestUserAllowEphemeralStateChange is false
- if (mUserManager.isGuestUserAlwaysEphemeral()
- || !UserManager.isGuestUserAllowEphemeralStateChange()
- || !mUserCaps.isAdmin()
- || mUserCaps.disallowAddUser()
- || mUserCaps.disallowAddUserSetByAdmin()) {
- return DISABLED_FOR_USER;
+ if (android.multiuser.Flags.newMultiuserSettingsUx()) {
+ if (mUserManager.isGuestUserAlwaysEphemeral()
+ || !UserManager.isGuestUserAllowEphemeralStateChange()
+ || !mUserCaps.isAdmin()) {
+ return DISABLED_FOR_USER;
+ } else {
+ return AVAILABLE;
+ }
} else {
- return mUserCaps.mUserSwitcherEnabled ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+ if (mUserManager.isGuestUserAlwaysEphemeral()
+ || !UserManager.isGuestUserAllowEphemeralStateChange()
+ || !mUserCaps.isAdmin()
+ || mUserCaps.disallowAddUser()
+ || mUserCaps.disallowAddUserSetByAdmin()) {
+ return DISABLED_FOR_USER;
+ } else {
+ return mUserCaps.mUserSwitcherEnabled ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+ }
}
}
diff --git a/src/com/android/settings/users/UserDetailsSettings.java b/src/com/android/settings/users/UserDetailsSettings.java
index b48c717..588f01a 100644
--- a/src/com/android/settings/users/UserDetailsSettings.java
+++ b/src/com/android/settings/users/UserDetailsSettings.java
@@ -126,7 +126,11 @@
@Override
public void onResume() {
super.onResume();
- mSwitchUserPref.setEnabled(canSwitchUserNow());
+ if (android.multiuser.Flags.newMultiuserSettingsUx()) {
+ mSwitchUserPref.setEnabled(canSwitchUserNow() && mUserCaps.mUserSwitcherEnabled);
+ } else {
+ mSwitchUserPref.setEnabled(canSwitchUserNow());
+ }
if (mUserInfo.isGuest() && mGuestUserAutoCreated) {
mRemoveUserPref.setEnabled((mUserInfo.flags & UserInfo.FLAG_INITIALIZED) != 0);
}
@@ -358,18 +362,22 @@
mSwitchUserPref.setDisabledByAdmin(RestrictedLockUtilsInternal.getDeviceOwner(context));
} else {
mSwitchUserPref.setDisabledByAdmin(null);
- mSwitchUserPref.setSelectable(true);
+ if (android.multiuser.Flags.newMultiuserSettingsUx()) {
+ mSwitchUserPref.setEnabled(mUserCaps.mUserSwitcherEnabled);
+ mSwitchUserPref.setSelectable(mUserCaps.mUserSwitcherEnabled);
+ } else {
+ mSwitchUserPref.setSelectable(true);
+ }
mSwitchUserPref.setOnPreferenceClickListener(this);
}
if (mUserInfo.isMain() || mUserInfo.isGuest() || !UserManager.isMultipleAdminEnabled()
|| mUserManager.hasUserRestrictionForUser(UserManager.DISALLOW_GRANT_ADMIN,
- mUserInfo.getUserHandle())) {
+ mUserInfo.getUserHandle()) || !mUserManager.isAdminUser()) {
removePreference(KEY_GRANT_ADMIN);
}
if (!mUserManager.isAdminUser()) { // non admin users can't remove users and allow calls
removePreference(KEY_ENABLE_TELEPHONY);
removePreference(KEY_REMOVE_USER);
- removePreference(KEY_GRANT_ADMIN);
removePreference(KEY_APP_AND_CONTENT_ACCESS);
removePreference(KEY_APP_COPYING);
} else {
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java
index bf21c9b..0cf01e3 100644
--- a/src/com/android/settings/users/UserSettings.java
+++ b/src/com/android/settings/users/UserSettings.java
@@ -463,7 +463,8 @@
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
int pos = 0;
- if (!isCurrentUserAdmin() && canSwitchUserNow() && !isCurrentUserGuest()) {
+ if (!isCurrentUserAdmin() && (canSwitchUserNow() || Flags.newMultiuserSettingsUx())
+ && !isCurrentUserGuest()) {
String nickname = mUserManager.getUserName();
MenuItem removeThisUser = menu.add(0, MENU_REMOVE_USER, pos++,
getResources().getString(R.string.user_remove_user_menu, nickname));
@@ -1198,15 +1199,23 @@
}
List<UserInfo> users;
- if (mUserCaps.mUserSwitcherEnabled) {
+ if (Flags.newMultiuserSettingsUx()) {
// Only users that can be switched to should show up here.
// e.g. Managed profiles appear under Accounts Settings instead
users = mUserManager.getAliveUsers().stream()
.filter(UserInfo::supportsSwitchToByUser)
.collect(Collectors.toList());
} else {
- // Only current user will be displayed in case of multi-user switch is disabled
- users = List.of(mUserManager.getUserInfo(context.getUserId()));
+ if (mUserCaps.mUserSwitcherEnabled) {
+ // Only users that can be switched to should show up here.
+ // e.g. Managed profiles appear under Accounts Settings instead
+ users = mUserManager.getAliveUsers().stream()
+ .filter(UserInfo::supportsSwitchToByUser)
+ .collect(Collectors.toList());
+ } else {
+ // Only current user will be displayed in case of multi-user switch is disabled
+ users = List.of(mUserManager.getUserInfo(context.getUserId()));
+ }
}
final ArrayList<Integer> missingIcons = new ArrayList<>();
@@ -1257,7 +1266,10 @@
pref.setSummary(R.string.user_summary_not_set_up);
// Disallow setting up user which results in user switching when the
// restriction is set.
- pref.setEnabled(!mUserCaps.mDisallowSwitchUser && canSwitchUserNow());
+ // If newMultiuserSettingsUx flag is enabled, allow opening user details page
+ // since switch to user will be disabled
+ pref.setEnabled((!mUserCaps.mDisallowSwitchUser && canSwitchUserNow())
+ || Flags.newMultiuserSettingsUx());
}
} else if (user.isRestricted()) {
pref.setSummary(R.string.user_summary_restricted_profile);
@@ -1417,16 +1429,22 @@
getContext().getResources(), icon)));
pref.setKey(KEY_USER_GUEST);
pref.setOrder(Preference.DEFAULT_ORDER);
- if (mUserCaps.mDisallowSwitchUser) {
+ if (mUserCaps.mDisallowSwitchUser && !Flags.newMultiuserSettingsUx()) {
pref.setDisabledByAdmin(
RestrictedLockUtilsInternal.getDeviceOwner(context));
} else {
pref.setDisabledByAdmin(null);
}
- if (mUserCaps.mUserSwitcherEnabled) {
+ if (Flags.newMultiuserSettingsUx()) {
mGuestUserCategory.addPreference(pref);
// guest user preference is shown hence also make guest category visible
mGuestUserCategory.setVisible(true);
+ } else {
+ if (mUserCaps.mUserSwitcherEnabled) {
+ mGuestUserCategory.addPreference(pref);
+ // guest user preference is shown hence also make guest category visible
+ mGuestUserCategory.setVisible(true);
+ }
}
isGuestAlreadyCreated = true;
}
@@ -1450,10 +1468,11 @@
private boolean updateAddGuestPreference(Context context, boolean isGuestAlreadyCreated) {
boolean isVisible = false;
- if (!isGuestAlreadyCreated && mUserCaps.mCanAddGuest
+ if (!isGuestAlreadyCreated && (mUserCaps.mCanAddGuest
+ || (Flags.newMultiuserSettingsUx() && mUserCaps.mDisallowAddUser))
&& mUserManager.canAddMoreUsers(UserManager.USER_TYPE_FULL_GUEST)
&& WizardManagerHelper.isDeviceProvisioned(context)
- && mUserCaps.mUserSwitcherEnabled) {
+ && (mUserCaps.mUserSwitcherEnabled || Flags.newMultiuserSettingsUx())) {
Drawable icon = context.getDrawable(
com.android.settingslib.R.drawable.ic_account_circle);
mAddGuest.setIcon(centerAndTint(icon));
@@ -1466,7 +1485,25 @@
mAddGuest.setEnabled(false);
} else {
mAddGuest.setTitle(com.android.settingslib.R.string.guest_new_guest);
- mAddGuest.setEnabled(canSwitchUserNow());
+ if (Flags.newMultiuserSettingsUx()
+ && mUserCaps.mDisallowAddUserSetByAdmin) {
+ mAddGuest.setDisabledByAdmin(mUserCaps.mEnforcedAdmin);
+ } else if (Flags.newMultiuserSettingsUx() && mUserCaps.mDisallowAddUser) {
+ final List<UserManager.EnforcingUser> enforcingUsers =
+ mUserManager.getUserRestrictionSources(UserManager.DISALLOW_ADD_USER,
+ UserHandle.of(UserHandle.myUserId()));
+ if (!enforcingUsers.isEmpty()) {
+ final UserManager.EnforcingUser enforcingUser = enforcingUsers.get(0);
+ final int restrictionSource = enforcingUser.getUserRestrictionSource();
+ if (restrictionSource == UserManager.RESTRICTION_SOURCE_SYSTEM) {
+ mAddGuest.setEnabled(false);
+ } else {
+ mAddGuest.setVisible(false);
+ }
+ }
+ } else {
+ mAddGuest.setEnabled(canSwitchUserNow() || Flags.newMultiuserSettingsUx());
+ }
}
} else {
mAddGuest.setVisible(false);
@@ -1494,16 +1531,18 @@
private void updateAddUserCommon(Context context, RestrictedPreference addUser,
boolean canAddRestrictedProfile) {
- if ((mUserCaps.mCanAddUser && !mUserCaps.mDisallowAddUserSetByAdmin)
+ if ((mUserCaps.mCanAddUser
+ && !(mUserCaps.mDisallowAddUserSetByAdmin && Flags.newMultiuserSettingsUx()))
&& WizardManagerHelper.isDeviceProvisioned(context)
- && mUserCaps.mUserSwitcherEnabled) {
+ && (mUserCaps.mUserSwitcherEnabled || Flags.newMultiuserSettingsUx())) {
addUser.setVisible(true);
addUser.setSelectable(true);
final boolean canAddMoreUsers =
mUserManager.canAddMoreUsers(UserManager.USER_TYPE_FULL_SECONDARY)
|| (canAddRestrictedProfile
&& mUserManager.canAddMoreUsers(UserManager.USER_TYPE_FULL_RESTRICTED));
- addUser.setEnabled(canAddMoreUsers && !mAddingUser && canSwitchUserNow());
+ addUser.setEnabled(canAddMoreUsers && !mAddingUser
+ && (canSwitchUserNow() || Flags.newMultiuserSettingsUx()));
if (!canAddMoreUsers) {
addUser.setSummary(getString(R.string.user_add_max_count));
@@ -1514,6 +1553,23 @@
addUser.setDisabledByAdmin(
mUserCaps.mDisallowAddUser ? mUserCaps.mEnforcedAdmin : null);
}
+ } else if (Flags.newMultiuserSettingsUx() && mUserCaps.mDisallowAddUserSetByAdmin) {
+ addUser.setVisible(true);
+ addUser.setDisabledByAdmin(mUserCaps.mEnforcedAdmin);
+ } else if (Flags.newMultiuserSettingsUx() && mUserCaps.mDisallowAddUser) {
+ final List<UserManager.EnforcingUser> enforcingUsers =
+ mUserManager.getUserRestrictionSources(UserManager.DISALLOW_ADD_USER,
+ UserHandle.of(UserHandle.myUserId()));
+ if (!enforcingUsers.isEmpty()) {
+ final UserManager.EnforcingUser enforcingUser = enforcingUsers.get(0);
+ final int restrictionSource = enforcingUser.getUserRestrictionSource();
+ if (restrictionSource == UserManager.RESTRICTION_SOURCE_SYSTEM) {
+ addUser.setVisible(true);
+ addUser.setEnabled(false);
+ } else {
+ addUser.setVisible(false);
+ }
+ }
} else {
addUser.setVisible(false);
}
diff --git a/src/com/android/settings/utils/ZenServiceListing.java b/src/com/android/settings/utils/ZenServiceListing.java
index 99f56f6..96d700b 100644
--- a/src/com/android/settings/utils/ZenServiceListing.java
+++ b/src/com/android/settings/utils/ZenServiceListing.java
@@ -28,11 +28,14 @@
import android.util.ArraySet;
import android.util.Slog;
+import androidx.annotation.Nullable;
+
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
public class ZenServiceListing {
+ private static final String TAG = "ZenServiceListing";
private final Context mContext;
private final ManagedServiceSettings.Config mConfig;
@@ -40,9 +43,18 @@
private final List<Callback> mZenCallbacks = new ArrayList<>();
private final NotificationManager mNm;
+ // only used when android.app.modes_ui flag is true
+ @Nullable
+ private String mPkg = null;
+
public ZenServiceListing(Context context, ManagedServiceSettings.Config config) {
+ this(context, config, null);
+ }
+
+ public ZenServiceListing(Context context, ManagedServiceSettings.Config config, @Nullable String pkg) {
mContext = context;
mConfig = config;
+ mPkg = pkg;
mNm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
}
@@ -89,12 +101,16 @@
}
}
- private static void getServices(ManagedServiceSettings.Config c, List<ComponentInfo> list,
+ private void getServices(ManagedServiceSettings.Config c, List<ComponentInfo> list,
PackageManager pm) {
final int user = ActivityManager.getCurrentUser();
+ Intent queryIntent = new Intent(c.intentAction);
+ if (mPkg != null) {
+ queryIntent.setPackage(mPkg);
+ }
List<ResolveInfo> installedServices = pm.queryIntentServicesAsUser(
- new Intent(c.intentAction),
+ queryIntent,
PackageManager.GET_SERVICES | PackageManager.GET_META_DATA,
user);
@@ -115,12 +131,16 @@
}
}
- private static void getActivities(ManagedServiceSettings.Config c, List<ComponentInfo> list,
+ private void getActivities(ManagedServiceSettings.Config c, List<ComponentInfo> list,
PackageManager pm) {
final int user = ActivityManager.getCurrentUser();
+ Intent queryIntent = new Intent(c.configIntentAction);
+ if (mPkg != null) {
+ queryIntent.setPackage(mPkg);
+ }
List<ResolveInfo> resolveInfos = pm.queryIntentActivitiesAsUser(
- new Intent(c.configIntentAction),
+ queryIntent,
PackageManager.GET_ACTIVITIES | PackageManager.GET_META_DATA,
user);
diff --git a/src/com/android/settings/wfd/WifiDisplayPreferenceController.java b/src/com/android/settings/wfd/WifiDisplayPreferenceController.java
index b15396b..bef16f8 100644
--- a/src/com/android/settings/wfd/WifiDisplayPreferenceController.java
+++ b/src/com/android/settings/wfd/WifiDisplayPreferenceController.java
@@ -65,7 +65,6 @@
public WifiDisplayPreferenceController(Context context, String key) {
super(context, key);
mRouter = context.getSystemService(MediaRouter.class);
- mRouter.setRouterGroupId(MediaRouter.MIRRORING_GROUP_ID);
}
@Override
diff --git a/src/com/android/settings/wifi/AddWifiNetworkPreference.java b/src/com/android/settings/wifi/AddWifiNetworkPreference.java
index 999f4a4..ea22954 100644
--- a/src/com/android/settings/wifi/AddWifiNetworkPreference.java
+++ b/src/com/android/settings/wifi/AddWifiNetworkPreference.java
@@ -26,11 +26,13 @@
import androidx.annotation.DrawableRes;
import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
import androidx.preference.PreferenceViewHolder;
import com.android.settings.R;
import com.android.settings.wifi.dpp.WifiDppUtils;
import com.android.settingslib.RestrictedPreference;
+import com.android.settingslib.wifi.WifiEnterpriseRestrictionUtils;
/**
* The Preference for users to add Wi-Fi networks in WifiSettings
@@ -53,7 +55,7 @@
setTitle(R.string.wifi_add_network);
mScanIconDrawable = getDrawable(R.drawable.ic_scan_24dp);
- checkRestrictionAndSetDisabled(UserManager.DISALLOW_ADD_WIFI_CONFIG);
+ checkRestrictionAndSetDisabled();
}
@Override
@@ -80,4 +82,15 @@
}
return buttonIcon;
}
+
+ @VisibleForTesting
+ void checkRestrictionAndSetDisabled() {
+ checkRestrictionAndSetDisabled(UserManager.DISALLOW_ADD_WIFI_CONFIG);
+ if (isDisabledByAdmin()) {
+ return;
+ }
+ if (!WifiEnterpriseRestrictionUtils.isAddWifiConfigAllowed(getContext())) {
+ setEnabled(false);
+ }
+ }
}
diff --git a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
index 82537d4..e5581d3 100644
--- a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
+++ b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
@@ -33,7 +33,6 @@
import android.telephony.TelephonyManager;
import android.telephony.ims.ImsManager;
import android.telephony.ims.ImsMmTelManager;
-import android.telephony.ims.ProvisioningManager;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
@@ -42,12 +41,14 @@
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
+import androidx.lifecycle.LifecycleOwner;
import androidx.preference.Preference;
import androidx.preference.Preference.OnPreferenceClickListener;
import androidx.preference.PreferenceScreen;
-import com.android.ims.ImsConfig;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.flags.Flags;
@@ -57,8 +58,12 @@
import com.android.settings.Utils;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.network.ims.WifiCallingQueryImsState;
+import com.android.settings.network.telephony.wificalling.IWifiCallingRepository;
+import com.android.settings.network.telephony.wificalling.WifiCallingRepository;
import com.android.settings.widget.SettingsMainSwitchPreference;
+import kotlin.Unit;
+
import java.util.List;
/**
@@ -103,7 +108,6 @@
private int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
private ImsMmTelManager mImsMmTelManager;
- private ProvisioningManager mProvisioningManager;
private TelephonyManager mTelephonyManager;
private PhoneTelephonyCallback mTelephonyCallback;
@@ -188,19 +192,6 @@
return true;
};
- private final ProvisioningManager.Callback mProvisioningCallback =
- new ProvisioningManager.Callback() {
- @Override
- public void onProvisioningIntChanged(int item, int value) {
- if (item == ImsConfig.ConfigConstants.VOICE_OVER_WIFI_SETTING_ENABLED
- || item == ImsConfig.ConfigConstants.VLT_SETTING_ENABLED) {
- // The provisioning policy might have changed. Update the body to make sure
- // this change takes effect if needed.
- updateBody();
- }
- }
- };
-
@VisibleForTesting
void showAlert(Intent intent) {
final Context context = getActivity();
@@ -264,14 +255,6 @@
}
@VisibleForTesting
- ProvisioningManager getImsProvisioningManager() {
- if (!SubscriptionManager.isValidSubscriptionId(mSubId)) {
- return null;
- }
- return ProvisioningManager.createForSubscriptionId(mSubId);
- }
-
- @VisibleForTesting
ImsMmTelManager getImsMmTelManager() {
if (!SubscriptionManager.isValidSubscriptionId(mSubId)) {
return null;
@@ -294,7 +277,6 @@
FRAGMENT_BUNDLE_SUBID, SubscriptionManager.INVALID_SUBSCRIPTION_ID);
}
- mProvisioningManager = getImsProvisioningManager();
mImsMmTelManager = getImsMmTelManager();
mSwitchBar = (SettingsMainSwitchPreference) findPreference(SWITCH_BAR);
@@ -336,19 +318,33 @@
return view;
}
+ @Override
+ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
+ getWifiCallingRepository().collectIsWifiCallingReadyFlow(
+ getLifecycleOwner(), (isWifiWifiCallingReadyFlow) -> {
+ if (!isWifiWifiCallingReadyFlow) {
+ // This screen is not allowed to be shown due to provisioning policy and
+ // should therefore be closed.
+ finish();
+ }
+ return Unit.INSTANCE;
+ });
+ }
+
@VisibleForTesting
- boolean isWfcProvisionedOnDevice() {
- return queryImsState(mSubId).isWifiCallingProvisioned();
+ @NonNull
+ IWifiCallingRepository getWifiCallingRepository() {
+ return new WifiCallingRepository(requireContext(), mSubId);
+ }
+
+ @VisibleForTesting
+ @NonNull
+ LifecycleOwner getLifecycleOwner() {
+ return getViewLifecycleOwner();
}
private void updateBody() {
- if (!isWfcProvisionedOnDevice()) {
- // This screen is not allowed to be shown due to provisioning policy and should
- // therefore be closed.
- finish();
- return;
- }
-
final CarrierConfigManager configManager = (CarrierConfigManager)
getSystemService(Context.CARRIER_CONFIG_SERVICE);
boolean isWifiOnlySupported = true;
@@ -448,8 +444,6 @@
if (intent.getBooleanExtra(Phone.EXTRA_KEY_ALERT_SHOW, false)) {
showAlert(intent);
}
- // Register callback for provisioning changes.
- registerProvisioningChangedCallback();
}
@Override
@@ -462,8 +456,6 @@
mSwitchBar.removeOnSwitchChangeListener(this);
}
context.unregisterReceiver(mIntentReceiver);
- // Remove callback for provisioning changes.
- unregisterProvisioningChangedCallback();
}
/**
@@ -699,27 +691,6 @@
return SubscriptionManager.getResourcesForSubId(getContext(), mSubId);
}
- @VisibleForTesting
- void registerProvisioningChangedCallback() {
- if (mProvisioningManager == null) {
- return;
- }
- try {
- mProvisioningManager.registerProvisioningChangedCallback(getContext().getMainExecutor(),
- mProvisioningCallback);
- } catch (Exception ex) {
- Log.w(TAG, "onResume: Unable to register callback for provisioning changes.");
- }
- }
-
- @VisibleForTesting
- void unregisterProvisioningChangedCallback() {
- if (mProvisioningManager == null) {
- return;
- }
- mProvisioningManager.unregisterProvisioningChangedCallback(mProvisioningCallback);
- }
-
/**
* Determine whether to override roaming Wi-Fi calling preference when device is connected to
* non-terrestrial network.
diff --git a/tests/Enable16KbTests/Android.bp b/tests/Enable16KbTests/Android.bp
index 781ea8f..fa05d33 100644
--- a/tests/Enable16KbTests/Android.bp
+++ b/tests/Enable16KbTests/Android.bp
@@ -33,7 +33,6 @@
],
platform_apis: true,
certificate: "platform",
- test_suites: ["device-tests"],
libs: [
"android.test.runner",
"android.test.base",
@@ -57,6 +56,6 @@
data: [
":test_16kb_app",
],
- test_suites: ["device-tests"],
+ test_suites: ["general-tests"],
test_config: "AndroidTest.xml",
}
diff --git a/tests/Enable16KbTests/src/com/android/test/Enable16KbTest.java b/tests/Enable16KbTests/src/com/android/test/Enable16KbTest.java
index b611d61..e4ebdef 100644
--- a/tests/Enable16KbTests/src/com/android/test/Enable16KbTest.java
+++ b/tests/Enable16KbTests/src/com/android/test/Enable16KbTest.java
@@ -76,11 +76,13 @@
installTestApp();
// Enable developer option and switch to 16kb kernel and Check page size
+ getDevice().enableAdbRoot();
runTestAndWait(SWITCH_TO_16KB);
result = getDevice().executeShellCommand("getconf PAGE_SIZE");
assertEquals("16384", result.strip());
// switch back to 4kb kernel and check page size
+ getDevice().enableAdbRoot();
runTestAndWait(SWITCH_TO_4KB);
result = getDevice().executeShellCommand("getconf PAGE_SIZE");
assertEquals("4096", result.strip());
diff --git a/tests/Enable16KbTests/test_16kb_app/src/com/android/settings/development/test/Enable16KbDeviceTest.java b/tests/Enable16KbTests/test_16kb_app/src/com/android/settings/development/test/Enable16KbDeviceTest.java
index e5ccbb9..9e489cf 100644
--- a/tests/Enable16KbTests/test_16kb_app/src/com/android/settings/development/test/Enable16KbDeviceTest.java
+++ b/tests/Enable16KbTests/test_16kb_app/src/com/android/settings/development/test/Enable16KbDeviceTest.java
@@ -68,6 +68,8 @@
throw new RuntimeException("failed to freeze device orientation", e);
}
+ mDevice.executeShellCommand("am start -a com.android.setupwizard.FOUR_CORNER_EXIT");
+ mDevice.waitForWindowUpdate(null, TIMEOUT);
mDevice.executeShellCommand("input keyevent KEYCODE_WAKEUP");
mDevice.executeShellCommand("wm dismiss-keyguard");
}
@@ -150,6 +152,7 @@
private void openPersistentNotification(String title) {
mDevice.openNotification();
+ mDevice.waitForWindowUpdate(null, TIMEOUT);
verifyTextOnScreen(title);
mDevice.wait(Until.findObject(By.text(title)), TIMEOUT).click();
mDevice.waitForWindowUpdate(null, TIMEOUT);
diff --git a/tests/robotests/src/com/android/settings/MainClearTest.java b/tests/robotests/src/com/android/settings/MainClearTest.java
index e84d4eb..187fce1 100644
--- a/tests/robotests/src/com/android/settings/MainClearTest.java
+++ b/tests/robotests/src/com/android/settings/MainClearTest.java
@@ -18,6 +18,7 @@
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
@@ -39,7 +40,12 @@
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
+import android.content.res.Resources;
+import android.hardware.biometrics.BiometricManager;
+import android.hardware.biometrics.Flags;
import android.os.UserManager;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
import android.provider.Settings;
import android.view.LayoutInflater;
import android.view.View;
@@ -57,6 +63,7 @@
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
@@ -77,6 +84,9 @@
})
public class MainClearTest {
+ @Rule
+ public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
private static final String TEST_ACCOUNT_TYPE = "android.test.account.type";
private static final String TEST_CONFIRMATION_PACKAGE = "android.test.conf.pkg";
private static final String TEST_CONFIRMATION_CLASS = "android.test.conf.pkg.ConfActivity";
@@ -95,6 +105,12 @@
@Mock
private FragmentActivity mMockActivity;
+ @Mock
+ private BiometricManager mBiometricManager;
+ @Mock
+ private Resources mResources;
+ @Mock
+ private Context mContext;
@Mock
private Intent mMockIntent;
@@ -122,6 +138,11 @@
// Make scrollView only have one child
when(mScrollView.getChildAt(0)).thenReturn(mLinearLayout);
when(mScrollView.getChildCount()).thenReturn(1);
+ doReturn(mMockActivity).when(mMainClear).getActivity();
+ when(mMockActivity.getSystemService(BiometricManager.class)).thenReturn(mBiometricManager);
+ when(mBiometricManager.canAuthenticate(
+ BiometricManager.Authenticators.MANDATORY_BIOMETRICS))
+ .thenReturn(BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE);
}
@After
@@ -344,6 +365,59 @@
}
@Test
+ @EnableFlags(Flags.FLAG_MANDATORY_BIOMETRICS)
+ public void testOnActivityResultInternal_keyguardRequestTriggeringBiometricPrompt() {
+ when(mContext.getResources()).thenReturn(mResources);
+ when(mMockActivity.getSystemService(BiometricManager.class)).thenReturn(mBiometricManager);
+ when(mResources.getString(anyInt())).thenReturn(TEST_ACCOUNT_NAME);
+ when(mBiometricManager.canAuthenticate(
+ BiometricManager.Authenticators.MANDATORY_BIOMETRICS))
+ .thenReturn(BiometricManager.BIOMETRIC_SUCCESS);
+ doReturn(true).when(mMainClear).isValidRequestCode(eq(MainClear.KEYGUARD_REQUEST));
+ doNothing().when(mMainClear).startActivityForResult(any(), anyInt());
+ doReturn(mMockActivity).when(mMainClear).getActivity();
+ doReturn(mContext).when(mMainClear).getContext();
+
+ mMainClear
+ .onActivityResultInternal(MainClear.KEYGUARD_REQUEST, Activity.RESULT_OK, null);
+
+ verify(mMainClear, times(1)).isValidRequestCode(eq(MainClear.KEYGUARD_REQUEST));
+ verify(mMainClear).startActivityForResult(any(), eq(MainClear.BIOMETRICS_REQUEST));
+ verify(mMainClear, times(0)).establishInitialState();
+ verify(mMainClear, times(0)).getAccountConfirmationIntent();
+ verify(mMainClear, times(0)).showFinalConfirmation();
+ }
+
+ @Test
+ public void testOnActivityResultInternal_biometricRequestTriggeringFinalConfirmation() {
+ doReturn(true).when(mMainClear).isValidRequestCode(eq(MainClear.BIOMETRICS_REQUEST));
+ doReturn(null).when(mMainClear).getAccountConfirmationIntent();
+ doNothing().when(mMainClear).showFinalConfirmation();
+
+ mMainClear
+ .onActivityResultInternal(MainClear.BIOMETRICS_REQUEST, Activity.RESULT_OK, null);
+
+ verify(mMainClear, times(1)).isValidRequestCode(eq(MainClear.BIOMETRICS_REQUEST));
+ verify(mMainClear, times(0)).establishInitialState();
+ verify(mMainClear, times(1)).getAccountConfirmationIntent();
+ verify(mMainClear, times(1)).showFinalConfirmation();
+ }
+
+ @Test
+ public void testOnActivityResultInternal_biometricRequestTriggeringInitialState() {
+ doReturn(true).when(mMainClear).isValidRequestCode(eq(MainClear.BIOMETRICS_REQUEST));
+ doNothing().when(mMainClear).establishInitialState();
+
+ mMainClear.onActivityResultInternal(MainClear.BIOMETRICS_REQUEST, Activity.RESULT_CANCELED,
+ null);
+
+ verify(mMainClear, times(1)).isValidRequestCode(eq(MainClear.BIOMETRICS_REQUEST));
+ verify(mMainClear, times(1)).establishInitialState();
+ verify(mMainClear, times(0)).getAccountConfirmationIntent();
+ verify(mMainClear, times(0)).showFinalConfirmation();
+ }
+
+ @Test
public void testOnActivityResultInternal_confirmRequestTriggeringShowFinal() {
doReturn(true).when(mMainClear)
.isValidRequestCode(eq(MainClear.CREDENTIAL_CONFIRM_REQUEST));
diff --git a/tests/robotests/src/com/android/settings/ResetNetworkConfirmTest.java b/tests/robotests/src/com/android/settings/ResetNetworkConfirmTest.java
deleted file mode 100644
index ea6559c..0000000
--- a/tests/robotests/src/com/android/settings/ResetNetworkConfirmTest.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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.settings;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.spy;
-
-import android.view.LayoutInflater;
-import android.widget.TextView;
-
-import androidx.fragment.app.FragmentActivity;
-
-import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
-import com.android.settings.testutils.shadow.ShadowRecoverySystem;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnit;
-import org.mockito.junit.MockitoRule;
-import org.robolectric.Robolectric;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.android.util.concurrent.PausedExecutorService;
-import org.robolectric.annotation.Config;
-import org.robolectric.shadows.ShadowLooper;
-import org.robolectric.shadows.ShadowPausedAsyncTask;
-
-@RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowRecoverySystem.class, ShadowBluetoothAdapter.class})
-public class ResetNetworkConfirmTest {
- @Rule
- public final MockitoRule mMockitoRule = MockitoJUnit.rule();
-
- private static final String TEST_PACKAGE = "com.android.settings";
-
- private FragmentActivity mActivity;
-
- @Mock
- private ResetNetworkConfirm mResetNetworkConfirm;
- private PausedExecutorService mExecutorService;
-
- @Before
- public void setUp() {
- mExecutorService = new PausedExecutorService();
- ShadowPausedAsyncTask.overrideExecutor(mExecutorService);
- mResetNetworkConfirm = new ResetNetworkConfirm();
- mActivity = spy(Robolectric.setupActivity(FragmentActivity.class));
- mResetNetworkConfirm.mActivity = mActivity;
- }
-
- @After
- public void tearDown() {
- ShadowRecoverySystem.reset();
- }
-
- @Test
- public void testResetNetworkData_notResetEsim() {
- mResetNetworkConfirm.mResetNetworkRequest =
- new ResetNetworkRequest(ResetNetworkRequest.RESET_NONE);
- mResetNetworkConfirm.mResetSubscriptionContract =
- new ResetSubscriptionContract(mActivity,
- mResetNetworkConfirm.mResetNetworkRequest) {
- @Override
- public void onSubscriptionInactive(int subscriptionId) {
- mActivity.onBackPressed();
- }
- };
-
- mResetNetworkConfirm.mFinalClickListener.onClick(null /* View */);
- mExecutorService.runAll();
- ShadowLooper.idleMainLooper();
-
- assertThat(ShadowRecoverySystem.getWipeEuiccCalledCount()).isEqualTo(0);
- }
-
- @Test
- public void setSubtitle_eraseEsim() {
- mResetNetworkConfirm.mResetNetworkRequest =
- new ResetNetworkRequest(ResetNetworkRequest.RESET_NONE);
- mResetNetworkConfirm.mResetNetworkRequest.setResetEsim(TEST_PACKAGE);
-
- mResetNetworkConfirm.mContentView =
- LayoutInflater.from(mActivity).inflate(R.layout.reset_network_confirm, null);
-
- mResetNetworkConfirm.setSubtitle();
-
- assertThat(((TextView) mResetNetworkConfirm.mContentView
- .findViewById(R.id.reset_network_confirm)).getText())
- .isEqualTo(mActivity.getString(R.string.reset_network_final_desc_esim));
- }
-
- @Test
- public void setSubtitle_notEraseEsim() {
- mResetNetworkConfirm.mResetNetworkRequest =
- new ResetNetworkRequest(ResetNetworkRequest.RESET_NONE);
-
- mResetNetworkConfirm.mContentView =
- LayoutInflater.from(mActivity).inflate(R.layout.reset_network_confirm, null);
-
- mResetNetworkConfirm.setSubtitle();
-
- assertThat(((TextView) mResetNetworkConfirm.mContentView
- .findViewById(R.id.reset_network_confirm)).getText())
- .isEqualTo(mActivity.getString(R.string.reset_network_final_desc));
- }
-}
diff --git a/tests/robotests/src/com/android/settings/UtilsTest.java b/tests/robotests/src/com/android/settings/UtilsTest.java
index 0c57b01..fd97b78 100644
--- a/tests/robotests/src/com/android/settings/UtilsTest.java
+++ b/tests/robotests/src/com/android/settings/UtilsTest.java
@@ -20,6 +20,10 @@
import static android.hardware.biometrics.SensorProperties.STRENGTH_STRONG;
import static android.hardware.biometrics.SensorProperties.STRENGTH_WEAK;
+import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
+import static com.android.settings.password.ConfirmDeviceCredentialActivity.BIOMETRIC_PROMPT_AUTHENTICATORS;
+import static com.android.settings.password.ConfirmDeviceCredentialActivity.BIOMETRIC_PROMPT_NEGATIVE_BUTTON_TEXT;
+
import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertNull;
@@ -35,10 +39,12 @@
import static org.mockito.Mockito.when;
import android.app.ActionBar;
+import android.app.KeyguardManager;
import android.app.admin.DevicePolicyManager;
import android.app.admin.DevicePolicyResourcesManager;
import android.content.ComponentName;
import android.content.Context;
+import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.UserInfo;
@@ -47,6 +53,8 @@
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.VectorDrawable;
+import android.hardware.biometrics.BiometricManager;
+import android.hardware.biometrics.Flags;
import android.hardware.face.FaceManager;
import android.hardware.face.FaceSensorProperties;
import android.hardware.face.FaceSensorPropertiesInternal;
@@ -61,21 +69,27 @@
import android.os.storage.DiskInfo;
import android.os.storage.StorageManager;
import android.os.storage.VolumeInfo;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
import android.util.IconDrawableFactory;
import android.widget.EditText;
import android.widget.ScrollView;
import android.widget.TextView;
import androidx.core.graphics.drawable.IconCompat;
+import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.password.ConfirmDeviceCredentialActivity;
import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
import org.junit.After;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric;
@@ -92,6 +106,9 @@
@Config(shadows = ShadowLockPatternUtils.class)
public class UtilsTest {
+ @Rule
+ public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
private static final String PACKAGE_NAME = "com.android.app";
private static final int USER_ID = 1;
@@ -113,6 +130,11 @@
private IconDrawableFactory mIconDrawableFactory;
@Mock
private ApplicationInfo mApplicationInfo;
+ @Mock
+ private BiometricManager mBiometricManager;
+ @Mock
+ private Fragment mFragment;
+
private Context mContext;
private UserManager mUserManager;
private static final int FLAG_SYSTEM = 0x00000000;
@@ -128,6 +150,7 @@
when(mContext.getSystemService(Context.CONNECTIVITY_SERVICE))
.thenReturn(connectivityManager);
when(mContext.getPackageManager()).thenReturn(mPackageManager);
+ when(mContext.getSystemService(BiometricManager.class)).thenReturn(mBiometricManager);
}
@After
@@ -503,6 +526,61 @@
assertThat(Utils.isFaceNotConvenienceBiometric(mContext)).isFalse();
}
+ @Test
+ @EnableFlags(Flags.FLAG_MANDATORY_BIOMETRICS)
+ public void testRequestBiometricAuthentication_biometricManagerNull_shouldReturnFalse() {
+ when(mContext.getSystemService(BiometricManager.class)).thenReturn(null);
+ assertThat(Utils.requestBiometricAuthenticationForMandatoryBiometrics(mContext,
+ false /* biometricsSuccessfullyAuthenticated */,
+ false /* biometricsAuthenticationRequested */)).isFalse();
+ }
+
+ @Test
+ @EnableFlags(Flags.FLAG_MANDATORY_BIOMETRICS)
+ public void testRequestBiometricAuthentication_biometricManagerReturnsSuccess_shouldReturnTrue() {
+ when(mBiometricManager.canAuthenticate(
+ BiometricManager.Authenticators.MANDATORY_BIOMETRICS))
+ .thenReturn(BiometricManager.BIOMETRIC_SUCCESS);
+ boolean requestBiometricAuthenticationForMandatoryBiometrics =
+ Utils.requestBiometricAuthenticationForMandatoryBiometrics(mContext,
+ true /* biometricsSuccessfullyAuthenticated */,
+ false /* biometricsAuthenticationRequested */);
+ assertThat(requestBiometricAuthenticationForMandatoryBiometrics).isFalse();
+ }
+
+ @Test
+ @EnableFlags(Flags.FLAG_MANDATORY_BIOMETRICS)
+ public void testRequestBiometricAuthentication_biometricManagerReturnsError_shouldReturnFalse() {
+ when(mBiometricManager.canAuthenticate(
+ BiometricManager.Authenticators.MANDATORY_BIOMETRICS))
+ .thenReturn(BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE);
+ assertThat(Utils.requestBiometricAuthenticationForMandatoryBiometrics(mContext,
+ false /* biometricsSuccessfullyAuthenticated */,
+ false /* biometricsAuthenticationRequested */)).isFalse();
+ }
+
+ @Test
+ @EnableFlags(Flags.FLAG_MANDATORY_BIOMETRICS)
+ public void testLaunchBiometricPrompt_checkIntentValues() {
+ when(mFragment.getContext()).thenReturn(mContext);
+
+ final int requestCode = 1;
+ final ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class);
+ Utils.launchBiometricPromptForMandatoryBiometrics(mFragment, requestCode);
+
+ verify(mFragment).startActivityForResult(intentArgumentCaptor.capture(), eq(requestCode));
+
+ final Intent intent = intentArgumentCaptor.getValue();
+
+ assertThat(intent.getExtra(BIOMETRIC_PROMPT_AUTHENTICATORS)).isEqualTo(
+ BiometricManager.Authenticators.MANDATORY_BIOMETRICS);
+ assertThat(intent.getExtra(BIOMETRIC_PROMPT_NEGATIVE_BUTTON_TEXT)).isNotNull();
+ assertThat(intent.getExtra(KeyguardManager.EXTRA_DESCRIPTION)).isNotNull();
+ assertThat(intent.getComponent().getPackageName()).isEqualTo(SETTINGS_PACKAGE_NAME);
+ assertThat(intent.getComponent().getClassName()).isEqualTo(
+ ConfirmDeviceCredentialActivity.class.getName());
+ }
+
private void setUpForConfirmCredentialString(boolean isEffectiveUserManagedProfile) {
when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mMockUserManager);
when(mMockUserManager.getCredentialOwnerProfile(USER_ID)).thenReturn(USER_ID);
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragmentTest.java
index f108b8e..b74f38e 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragmentTest.java
@@ -16,10 +16,13 @@
package com.android.settings.accessibility;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.DEFAULT;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
import static com.android.settings.accessibility.AccessibilityShortcutPreferenceFragment.KEY_SAVED_QS_TOOLTIP_RESHOW;
import static com.android.settings.accessibility.AccessibilityShortcutPreferenceFragment.KEY_SAVED_USER_SHORTCUT_TYPE;
import static com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType;
-import static com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
import static com.google.common.truth.Truth.assertThat;
@@ -128,7 +131,7 @@
final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
mFragment.getComponentName().flattenToString());
// Compare to default UserShortcutType
- assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE);
+ assertThat(expectedType).isEqualTo(SOFTWARE);
}
@Test
@@ -140,20 +143,20 @@
final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
mFragment.getComponentName().flattenToString());
- assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE);
+ assertThat(expectedType).isEqualTo(SOFTWARE | HARDWARE);
}
@Test
public void updateShortcutPreferenceData_hasValueInSharedPreference_assignToVariable() {
final PreferredShortcut hardwareShortcut = new PreferredShortcut(
- PLACEHOLDER_COMPONENT_NAME.flattenToString(), UserShortcutType.HARDWARE);
+ PLACEHOLDER_COMPONENT_NAME.flattenToString(), HARDWARE);
putUserShortcutTypeIntoSharedPreference(mContext, hardwareShortcut);
mFragment.updateShortcutPreferenceData();
final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
mFragment.getComponentName().flattenToString());
- assertThat(expectedType).isEqualTo(UserShortcutType.HARDWARE);
+ assertThat(expectedType).isEqualTo(HARDWARE);
}
@Test
@@ -171,7 +174,7 @@
mFragment.setupEditShortcutDialog(dialog);
final int checkboxValue = mFragment.getShortcutTypeCheckBoxValue();
- assertThat(checkboxValue).isEqualTo(UserShortcutType.EMPTY);
+ assertThat(checkboxValue).isEqualTo(DEFAULT);
}
@Test
@@ -184,7 +187,7 @@
final ShortcutPreference shortcutPreference = new ShortcutPreference(mContext, /* attrs= */
null);
final PreferredShortcut hardwareShortcut = new PreferredShortcut(
- PLACEHOLDER_COMPONENT_NAME.flattenToString(), UserShortcutType.HARDWARE);
+ PLACEHOLDER_COMPONENT_NAME.flattenToString(), HARDWARE);
mFragment.mShortcutPreference = shortcutPreference;
PreferredShortcuts.saveUserShortcutType(mContext, hardwareShortcut);
@@ -192,7 +195,7 @@
mFragment.setupEditShortcutDialog(dialog);
final int checkboxValue = mFragment.getShortcutTypeCheckBoxValue();
- assertThat(checkboxValue).isEqualTo(UserShortcutType.HARDWARE);
+ assertThat(checkboxValue).isEqualTo(HARDWARE);
}
@Test
@@ -209,7 +212,7 @@
mFragment.mShortcutPreference = shortcutPreference;
savedInstanceState.putInt(KEY_SAVED_USER_SHORTCUT_TYPE,
- UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE);
+ SOFTWARE | HARDWARE);
mFragment.onAttach(mContext);
mFragment.onCreate(savedInstanceState);
mFragment.setupEditShortcutDialog(dialog);
@@ -218,7 +221,7 @@
final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
mFragment.getComponentName().flattenToString());
- assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE);
+ assertThat(expectedType).isEqualTo(SOFTWARE | HARDWARE);
}
@Test
@@ -290,7 +293,7 @@
public void getShortcutTypeSummary_shortcutSummaryIsCorrectlySet() {
final PreferredShortcut userPreferredShortcut = new PreferredShortcut(
PLACEHOLDER_COMPONENT_NAME.flattenToString(),
- UserShortcutType.HARDWARE | UserShortcutType.QUICK_SETTINGS);
+ HARDWARE | QUICK_SETTINGS);
putUserShortcutTypeIntoSharedPreference(mContext, userPreferredShortcut);
final ShortcutPreference shortcutPreference =
new ShortcutPreference(mContext, /* attrs= */ null);
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutsTutorialTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutsTutorialTest.java
index a5aceed..d5c1fd1 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutsTutorialTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutsTutorialTest.java
@@ -16,11 +16,15 @@
package com.android.settings.accessibility;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.TRIPLETAP;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.TWOFINGER_DOUBLETAP;
import static com.android.settings.accessibility.AccessibilityShortcutsTutorial.createAccessibilityTutorialDialog;
import static com.android.settings.accessibility.AccessibilityShortcutsTutorial.createAccessibilityTutorialDialogForSetupWizard;
import static com.android.settings.accessibility.AccessibilityShortcutsTutorial.createShortcutTutorialPages;
import static com.android.settings.accessibility.AccessibilityShortcutsTutorial.showGestureNavigationTutorialDialog;
-import static com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
import static com.google.common.truth.Truth.assertThat;
@@ -99,7 +103,7 @@
@Test
public void createTutorialPages_turnOnTripleTapShortcut_hasOnePage() {
- mShortcutTypes |= UserShortcutType.TRIPLETAP;
+ mShortcutTypes |= TRIPLETAP;
final AlertDialog alertDialog =
createAccessibilityTutorialDialog(mContext, mShortcutTypes, FAKE_FEATURE_NAME);
@@ -114,7 +118,7 @@
@Test
@EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
public void createTutorialPages_turnOnTwoFingerTripleTapShortcut_hasOnePage() {
- mShortcutTypes |= UserShortcutType.TWOFINGER_DOUBLETAP;
+ mShortcutTypes |= TWOFINGER_DOUBLETAP;
final AlertDialog alertDialog =
createAccessibilityTutorialDialog(mContext, mShortcutTypes, FAKE_FEATURE_NAME);
@@ -129,7 +133,7 @@
@Test
@EnableFlags(android.view.accessibility.Flags.FLAG_A11Y_QS_SHORTCUT)
public void createTutorialPages_turnOnQuickSettingShortcut_hasOnePage() {
- mShortcutTypes |= UserShortcutType.QUICK_SETTINGS;
+ mShortcutTypes |= QUICK_SETTINGS;
final AlertDialog alertDialog =
createAccessibilityTutorialDialog(mContext, mShortcutTypes, FAKE_FEATURE_NAME);
@@ -143,7 +147,7 @@
@Test
public void createTutorialPages_turnOnSoftwareShortcut_hasOnePage() {
- mShortcutTypes |= UserShortcutType.SOFTWARE;
+ mShortcutTypes |= SOFTWARE;
final AlertDialog alertDialog =
createAccessibilityTutorialDialog(mContext, mShortcutTypes, FAKE_FEATURE_NAME);
@@ -157,8 +161,8 @@
@Test
public void createTutorialPages_turnOnSoftwareAndHardwareShortcuts_hasTwoPages() {
- mShortcutTypes |= UserShortcutType.SOFTWARE;
- mShortcutTypes |= UserShortcutType.HARDWARE;
+ mShortcutTypes |= SOFTWARE;
+ mShortcutTypes |= HARDWARE;
final AlertDialog alertDialog =
createAccessibilityTutorialDialog(mContext, mShortcutTypes, FAKE_FEATURE_NAME);
@@ -172,7 +176,7 @@
@Test
public void createTutorialPages_turnOnA11yGestureShortcut_linkButtonShownWithText() {
- mShortcutTypes |= UserShortcutType.SOFTWARE;
+ mShortcutTypes |= SOFTWARE;
AccessibilityTestUtils.setSoftwareShortcutMode(
mContext, /* gestureNavEnabled= */ true, /* floatingButtonEnabled= */ false);
@@ -191,7 +195,7 @@
@Test
public void createTutorialPages_turnOnA11yNavButtonShortcut_linkButtonShownWithText() {
- mShortcutTypes |= UserShortcutType.SOFTWARE;
+ mShortcutTypes |= SOFTWARE;
AccessibilityTestUtils.setSoftwareShortcutMode(
mContext, /* gestureNavEnabled= */ false, /* floatingButtonEnabled= */ false);
@@ -210,7 +214,7 @@
@Test
public void createTutorialPages_turnOnFloatingButtonShortcut_linkButtonShownWithText() {
- mShortcutTypes |= UserShortcutType.SOFTWARE;
+ mShortcutTypes |= SOFTWARE;
AccessibilityTestUtils.setSoftwareShortcutMode(
mContext, /* gestureNavEnabled= */ false, /* floatingButtonEnabled= */ true);
@@ -228,7 +232,7 @@
@Test
public void createTutorialPages_turnOnHardwareShortcut_linkButtonGone() {
- mShortcutTypes |= UserShortcutType.HARDWARE;
+ mShortcutTypes |= HARDWARE;
final AlertDialog alertDialog =
createAccessibilityTutorialDialog(mContext, mShortcutTypes, FAKE_FEATURE_NAME);
@@ -241,7 +245,7 @@
@Test
public void createTutorialPages_turnOnSoftwareShortcut_showFromSuW_linkButtonGone() {
- mShortcutTypes |= UserShortcutType.SOFTWARE;
+ mShortcutTypes |= SOFTWARE;
final AlertDialog alertDialog =
createAccessibilityTutorialDialogForSetupWizard(
@@ -256,7 +260,7 @@
@Test
@EnableFlags(android.view.accessibility.Flags.FLAG_A11Y_QS_SHORTCUT)
public void createAccessibilityTutorialDialog_qsShortcut_inSuwTalkbackOn_verifyText() {
- mShortcutTypes |= UserShortcutType.QUICK_SETTINGS;
+ mShortcutTypes |= QUICK_SETTINGS;
setTouchExplorationEnabled(true);
final String expectedTitle = mContext.getString(
R.string.accessibility_tutorial_dialog_title_quick_setting);
@@ -288,7 +292,7 @@
@Test
@EnableFlags(android.view.accessibility.Flags.FLAG_A11Y_QS_SHORTCUT)
public void createAccessibilityTutorialDialog_qsShortcut_notInSuwTalkbackOn_verifyText() {
- mShortcutTypes |= UserShortcutType.QUICK_SETTINGS;
+ mShortcutTypes |= QUICK_SETTINGS;
setTouchExplorationEnabled(true);
final String expectedTitle = mContext.getString(
R.string.accessibility_tutorial_dialog_title_quick_setting);
@@ -314,7 +318,7 @@
@Test
@EnableFlags(android.view.accessibility.Flags.FLAG_A11Y_QS_SHORTCUT)
public void createAccessibilityTutorialDialog_qsShortcut_inSuwTalkbackOff_verifyText() {
- mShortcutTypes |= UserShortcutType.QUICK_SETTINGS;
+ mShortcutTypes |= QUICK_SETTINGS;
setTouchExplorationEnabled(false);
final String expectedTitle = mContext.getString(
R.string.accessibility_tutorial_dialog_title_quick_setting);
@@ -345,7 +349,7 @@
@Test
@EnableFlags(android.view.accessibility.Flags.FLAG_A11Y_QS_SHORTCUT)
public void createAccessibilityTutorialDialog_qsShortcut_notInSuwTalkbackOff_verifyText() {
- mShortcutTypes |= UserShortcutType.QUICK_SETTINGS;
+ mShortcutTypes |= QUICK_SETTINGS;
setTouchExplorationEnabled(false);
final String expectedTitle = mContext.getString(
R.string.accessibility_tutorial_dialog_title_quick_setting);
@@ -370,7 +374,7 @@
@Test
public void createAccessibilityTutorialDialog_volumeKeysShortcut_verifyText() {
- mShortcutTypes |= UserShortcutType.HARDWARE;
+ mShortcutTypes |= HARDWARE;
final String expectedTitle = mContext.getString(
R.string.accessibility_tutorial_dialog_title_volume);
final CharSequence expectedInstruction = mContext.getString(
@@ -390,7 +394,7 @@
@Test
public void createAccessibilityTutorialDialog_tripleTapShortcut_verifyText() {
- mShortcutTypes |= UserShortcutType.TRIPLETAP;
+ mShortcutTypes |= TRIPLETAP;
final String expectedTitle = mContext.getString(
R.string.accessibility_tutorial_dialog_title_triple);
final CharSequence expectedInstruction = mContext.getString(
@@ -411,7 +415,7 @@
@Test
@EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
public void createAccessibilityTutorialDialog_twoFingerDoubleTapShortcut_verifyText() {
- mShortcutTypes |= UserShortcutType.TWOFINGER_DOUBLETAP;
+ mShortcutTypes |= TWOFINGER_DOUBLETAP;
final int numFingers = 2;
final String expectedTitle = mContext.getString(
R.string.accessibility_tutorial_dialog_title_two_finger_double, numFingers);
@@ -432,7 +436,7 @@
@Test
public void createAccessibilityTutorialDialog_floatingButtonShortcut_verifyText() {
- mShortcutTypes |= UserShortcutType.SOFTWARE;
+ mShortcutTypes |= SOFTWARE;
AccessibilityTestUtils.setSoftwareShortcutMode(
mContext, /* gestureNavEnabled= */ false, /* floatingButtonEnabled= */ true);
final String expectedTitle = mContext.getString(
@@ -454,7 +458,7 @@
@Test
public void createAccessibilityTutorialDialog_navA11yButtonShortcut_verifyText() {
- mShortcutTypes |= UserShortcutType.SOFTWARE;
+ mShortcutTypes |= SOFTWARE;
AccessibilityTestUtils.setSoftwareShortcutMode(
mContext, /* gestureNavEnabled= */ false, /* floatingButtonEnabled= */ false);
final String expectedTitle = mContext.getString(
@@ -476,7 +480,7 @@
@Test
public void createAccessibilityTutorialDialog_gestureShortcut_talkbackOn_verifyText() {
- mShortcutTypes |= UserShortcutType.SOFTWARE;
+ mShortcutTypes |= SOFTWARE;
setTouchExplorationEnabled(true);
AccessibilityTestUtils.setSoftwareShortcutMode(
mContext, /* gestureNavEnabled= */ true, /* floatingButtonEnabled= */ false);
@@ -501,7 +505,7 @@
@Test
public void createAccessibilityTutorialDialog_gestureShortcut_talkbackOff_verifyText() {
- mShortcutTypes |= UserShortcutType.SOFTWARE;
+ mShortcutTypes |= SOFTWARE;
setTouchExplorationEnabled(false);
AccessibilityTestUtils.setSoftwareShortcutMode(
mContext, /* gestureNavEnabled= */ true, /* floatingButtonEnabled= */ false);
@@ -526,7 +530,7 @@
@Test
public void performClickOnPositiveButton_turnOnSoftwareShortcut_dismiss() {
- mShortcutTypes |= UserShortcutType.SOFTWARE;
+ mShortcutTypes |= SOFTWARE;
final AlertDialog alertDialog =
createAccessibilityTutorialDialog(mContext, mShortcutTypes, FAKE_FEATURE_NAME);
alertDialog.show();
@@ -540,7 +544,7 @@
@Test
public void performClickOnPositiveButton_turnOnSoftwareShortcut_callOnClickListener() {
- mShortcutTypes |= UserShortcutType.SOFTWARE;
+ mShortcutTypes |= SOFTWARE;
final AlertDialog alertDialog =
createAccessibilityTutorialDialog(
mContext, mShortcutTypes, mOnClickListener, FAKE_FEATURE_NAME);
@@ -555,7 +559,7 @@
@Test
public void performClickOnNegativeButton_turnOnSoftwareShortcut_directToSettingsPage() {
- mShortcutTypes |= UserShortcutType.SOFTWARE;
+ mShortcutTypes |= SOFTWARE;
Activity activity = Robolectric.buildActivity(Activity.class).create().get();
final AlertDialog alertDialog =
createAccessibilityTutorialDialog(activity, mShortcutTypes, FAKE_FEATURE_NAME);
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityUtilTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityUtilTest.java
index 2d5deeb..c036432 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityUtilTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityUtilTest.java
@@ -16,6 +16,12 @@
package com.android.settings.accessibility;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.TRIPLETAP;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.TWOFINGER_DOUBLETAP;
+
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.spy;
@@ -39,9 +45,9 @@
import androidx.test.core.app.ApplicationProvider;
+import com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
import com.android.internal.accessibility.util.ShortcutUtils;
import com.android.settings.R;
-import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
import com.android.settings.testutils.AccessibilityTestUtils;
import org.junit.Before;
@@ -159,52 +165,52 @@
@Test
public void hasValueInSettings_putValue_hasValue() {
- setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
+ setShortcut(SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
- assertThat(AccessibilityUtil.hasValueInSettings(mContext, UserShortcutType.SOFTWARE,
+ assertThat(AccessibilityUtil.hasValueInSettings(mContext, SOFTWARE,
MOCK_COMPONENT_NAME)).isTrue();
}
@Test
public void getUserShortcutTypeFromSettings_putOneValue_hasValue() {
- setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
+ setShortcut(SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
final int shortcutTypes = AccessibilityUtil.getUserShortcutTypesFromSettings(mContext,
MOCK_COMPONENT_NAME);
assertThat(shortcutTypes).isEqualTo(
- UserShortcutType.SOFTWARE
+ SOFTWARE
);
}
@Test
public void getUserShortcutTypeFromSettings_putTwoValues_hasValue() {
- setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
- setShortcut(UserShortcutType.HARDWARE, MOCK_COMPONENT_NAME.flattenToString());
+ setShortcut(SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
+ setShortcut(HARDWARE, MOCK_COMPONENT_NAME.flattenToString());
final int shortcutTypes = AccessibilityUtil.getUserShortcutTypesFromSettings(mContext,
MOCK_COMPONENT_NAME);
assertThat(shortcutTypes).isEqualTo(
- UserShortcutType.SOFTWARE
- | UserShortcutType.HARDWARE
+ SOFTWARE
+ | HARDWARE
);
}
@Test
@EnableFlags(Flags.FLAG_A11Y_QS_SHORTCUT)
public void getUserShortcutTypeFromSettings_threeShortcutTypesChosen() {
- setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
- setShortcut(UserShortcutType.HARDWARE, MOCK_COMPONENT_NAME.flattenToString());
- setShortcut(UserShortcutType.QUICK_SETTINGS, MOCK_COMPONENT_NAME.flattenToString());
+ setShortcut(SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
+ setShortcut(HARDWARE, MOCK_COMPONENT_NAME.flattenToString());
+ setShortcut(QUICK_SETTINGS, MOCK_COMPONENT_NAME.flattenToString());
final int shortcutTypes = AccessibilityUtil.getUserShortcutTypesFromSettings(mContext,
MOCK_COMPONENT_NAME);
assertThat(shortcutTypes).isEqualTo(
- UserShortcutType.SOFTWARE
- | UserShortcutType.HARDWARE
- | UserShortcutType.QUICK_SETTINGS
+ SOFTWARE
+ | HARDWARE
+ | QUICK_SETTINGS
);
}
@@ -212,7 +218,7 @@
@DisableFlags(Flags.FLAG_A11Y_QS_SHORTCUT)
public void optInAllValuesToSettings_optInValue_haveMatchString() {
clearShortcuts();
- int shortcutTypes = UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE;
+ int shortcutTypes = SOFTWARE | HARDWARE;
AccessibilityUtil.optInAllValuesToSettings(mContext, shortcutTypes, MOCK_COMPONENT_NAME);
@@ -229,8 +235,8 @@
AccessibilityManager a11yManager =
AccessibilityTestUtils.setupMockAccessibilityManager(mContext);
Set<String> shortcutTargets = Set.of(MOCK_COMPONENT_NAME.flattenToString());
- int shortcutTypes = UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE
- | UserShortcutType.QUICK_SETTINGS;
+ int shortcutTypes = SOFTWARE | HARDWARE
+ | QUICK_SETTINGS;
AccessibilityUtil.optInAllValuesToSettings(mContext, shortcutTypes, MOCK_COMPONENT_NAME);
@@ -243,9 +249,9 @@
@Test
@DisableFlags(Flags.FLAG_A11Y_QS_SHORTCUT)
public void optInValueToSettings_optInValue_haveMatchString() {
- setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
+ setShortcut(SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
- AccessibilityUtil.optInValueToSettings(mContext, UserShortcutType.SOFTWARE,
+ AccessibilityUtil.optInValueToSettings(mContext, SOFTWARE,
MOCK_COMPONENT_NAME2);
assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEqualTo(
@@ -261,10 +267,10 @@
Set<String> shortcutTargets = Set.of(MOCK_COMPONENT_NAME2.flattenToString());
AccessibilityUtil.optInValueToSettings(
- mContext, UserShortcutType.HARDWARE, MOCK_COMPONENT_NAME2);
+ mContext, HARDWARE, MOCK_COMPONENT_NAME2);
verify(a11yManager).enableShortcutsForTargets(
- /* enable= */ true, UserShortcutType.HARDWARE,
+ /* enable= */ true, HARDWARE,
shortcutTargets, UserHandle.myUserId());
verifyNoMoreInteractions(a11yManager);
}
@@ -272,11 +278,11 @@
@Test
@DisableFlags(Flags.FLAG_A11Y_QS_SHORTCUT)
public void optInValueToSettings_optInTwoValues_haveMatchString() {
- setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
+ setShortcut(SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
- AccessibilityUtil.optInValueToSettings(mContext, UserShortcutType.SOFTWARE,
+ AccessibilityUtil.optInValueToSettings(mContext, SOFTWARE,
MOCK_COMPONENT_NAME2);
- AccessibilityUtil.optInValueToSettings(mContext, UserShortcutType.SOFTWARE,
+ AccessibilityUtil.optInValueToSettings(mContext, SOFTWARE,
MOCK_COMPONENT_NAME2);
assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEqualTo(
@@ -287,10 +293,10 @@
@Test
@DisableFlags(Flags.FLAG_A11Y_QS_SHORTCUT)
public void optOutAllValuesToSettings_optOutValue_emptyString() {
- setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
- setShortcut(UserShortcutType.HARDWARE, MOCK_COMPONENT_NAME.flattenToString());
+ setShortcut(SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
+ setShortcut(HARDWARE, MOCK_COMPONENT_NAME.flattenToString());
int shortcutTypes =
- UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE | UserShortcutType.TRIPLETAP;
+ SOFTWARE | HARDWARE | TRIPLETAP;
AccessibilityUtil.optOutAllValuesFromSettings(mContext, shortcutTypes,
MOCK_COMPONENT_NAME);
@@ -305,8 +311,8 @@
AccessibilityManager a11yManager =
AccessibilityTestUtils.setupMockAccessibilityManager(mContext);
int shortcutTypes =
- UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE
- | UserShortcutType.QUICK_SETTINGS;
+ SOFTWARE | HARDWARE
+ | QUICK_SETTINGS;
Set<String> shortcutTargets = Set.of(MOCK_COMPONENT_NAME.flattenToString());
AccessibilityUtil.optOutAllValuesFromSettings(mContext, shortcutTypes,
@@ -322,9 +328,9 @@
@Test
@DisableFlags(Flags.FLAG_A11Y_QS_SHORTCUT)
public void optOutValueFromSettings_optOutValue_emptyString() {
- setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
+ setShortcut(SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
- AccessibilityUtil.optOutValueFromSettings(mContext, UserShortcutType.SOFTWARE,
+ AccessibilityUtil.optOutValueFromSettings(mContext, SOFTWARE,
MOCK_COMPONENT_NAME);
assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEmpty();
@@ -333,10 +339,10 @@
@Test
@DisableFlags(Flags.FLAG_A11Y_QS_SHORTCUT)
public void optOutValueFromSettings_optOutValue_haveMatchString() {
- setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString(),
+ setShortcut(SOFTWARE, MOCK_COMPONENT_NAME.flattenToString(),
MOCK_COMPONENT_NAME2.flattenToString());
- AccessibilityUtil.optOutValueFromSettings(mContext, UserShortcutType.SOFTWARE,
+ AccessibilityUtil.optOutValueFromSettings(mContext, SOFTWARE,
MOCK_COMPONENT_NAME2);
assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEqualTo(
@@ -351,36 +357,36 @@
Set<String> shortcutTargets = Set.of(MOCK_COMPONENT_NAME.flattenToString());
AccessibilityUtil.optOutValueFromSettings(
- mContext, UserShortcutType.QUICK_SETTINGS, MOCK_COMPONENT_NAME);
+ mContext, QUICK_SETTINGS, MOCK_COMPONENT_NAME);
verify(a11yManager).enableShortcutsForTargets(
- /* enable= */ false, UserShortcutType.QUICK_SETTINGS,
+ /* enable= */ false, QUICK_SETTINGS,
shortcutTargets, UserHandle.myUserId());
verifyNoMoreInteractions(a11yManager);
}
@Test
public void convertKeyFromSettings_shortcutTypeSoftware() {
- assertThat(AccessibilityUtil.convertKeyFromSettings(UserShortcutType.SOFTWARE))
+ assertThat(AccessibilityUtil.convertKeyFromSettings(SOFTWARE))
.isEqualTo(Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS);
}
@Test
public void convertKeyFromSettings_shortcutTypeHardware() {
- assertThat(AccessibilityUtil.convertKeyFromSettings(UserShortcutType.HARDWARE))
+ assertThat(AccessibilityUtil.convertKeyFromSettings(HARDWARE))
.isEqualTo(Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE);
}
@Test
public void convertKeyFromSettings_shortcutTypeTripleTap() {
- assertThat(AccessibilityUtil.convertKeyFromSettings(UserShortcutType.TRIPLETAP))
+ assertThat(AccessibilityUtil.convertKeyFromSettings(TRIPLETAP))
.isEqualTo(Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED);
}
@Test
@EnableFlags(Flags.FLAG_A11Y_QS_SHORTCUT)
public void convertKeyFromSettings_shortcutTypeMultiFingersMultiTap() {
- assertThat(AccessibilityUtil.convertKeyFromSettings(UserShortcutType.TWOFINGER_DOUBLETAP))
+ assertThat(AccessibilityUtil.convertKeyFromSettings(TWOFINGER_DOUBLETAP))
.isEqualTo(
Settings.Secure.ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED);
}
@@ -388,7 +394,7 @@
@Test
@EnableFlags(Flags.FLAG_A11Y_QS_SHORTCUT)
public void convertKeyFromSettings_shortcutTypeQuickSettings() {
- assertThat(AccessibilityUtil.convertKeyFromSettings(UserShortcutType.QUICK_SETTINGS))
+ assertThat(AccessibilityUtil.convertKeyFromSettings(QUICK_SETTINGS))
.isEqualTo(Settings.Secure.ACCESSIBILITY_QS_TARGETS);
}
diff --git a/tests/robotests/src/com/android/settings/accessibility/AutoBrightnessPreferenceFragmentForSetupWizardTest.java b/tests/robotests/src/com/android/settings/accessibility/AutoBrightnessPreferenceFragmentForSetupWizardTest.java
index 1e6e068..c0b9dbd 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AutoBrightnessPreferenceFragmentForSetupWizardTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AutoBrightnessPreferenceFragmentForSetupWizardTest.java
@@ -18,66 +18,97 @@
import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
import android.app.settings.SettingsEnums;
-import android.content.Context;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
-import androidx.lifecycle.LifecycleOwner;
-import androidx.test.core.app.ApplicationProvider;
+import androidx.fragment.app.FragmentFactory;
+import androidx.fragment.app.testing.FragmentScenario;
+import androidx.lifecycle.Lifecycle;
+import androidx.preference.Preference;
import com.android.settings.R;
+import com.android.settingslib.widget.FooterPreference;
import com.google.android.setupcompat.template.FooterBarMixin;
+import com.google.android.setupdesign.GlifLayout;
import com.google.android.setupdesign.GlifPreferenceLayout;
+import org.junit.After;
import org.junit.Before;
-import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.Spy;
-import org.mockito.junit.MockitoJUnit;
-import org.mockito.junit.MockitoRule;
import org.robolectric.RobolectricTestRunner;
/** Tests for {@link AutoBrightnessPreferenceFragmentForSetupWizard}. */
@RunWith(RobolectricTestRunner.class)
public class AutoBrightnessPreferenceFragmentForSetupWizardTest {
- @Rule
- public final MockitoRule mMockito = MockitoJUnit.rule();
+ // Same as AutoBrightnessPreferenceFragmentForSetupWizard#FOOTER_PREFERENCE_KEY
+ private static final String FOOTER_PREFERENCE_KEY = "auto_brightness_footer";
- @Spy
- private final Context mContext = ApplicationProvider.getApplicationContext();
- @Mock
- private GlifPreferenceLayout mGlifLayoutView;
- @Mock
- private FooterBarMixin mFooterBarMixin;
+ private FragmentScenario<AutoBrightnessPreferenceFragmentForSetupWizard> mFragmentScenario;
+
private AutoBrightnessPreferenceFragmentForSetupWizard mFragment;
+ private GlifLayout mGlifLayout;
@Before
public void setUp() {
- mFragment = spy(new AutoBrightnessPreferenceFragmentForSetupWizard());
- doReturn(mock(LifecycleOwner.class)).when(mFragment).getViewLifecycleOwner();
- doReturn(mContext).when(mFragment).getContext();
- when(mGlifLayoutView.getMixin(eq(FooterBarMixin.class))).thenReturn(mFooterBarMixin);
+ mFragmentScenario = FragmentScenario
+ .launch(
+ AutoBrightnessPreferenceFragmentForSetupWizard.class,
+ /* fragmentArgs= */ (Bundle) null,
+ R.style.GlifTheme,
+ /* factory= */ (FragmentFactory) null)
+ .moveToState(Lifecycle.State.RESUMED);
+ mFragmentScenario.onFragment(fragment -> mFragment = fragment);
+
+ View view = mFragment.getView();
+ assertThat(view).isInstanceOf(GlifPreferenceLayout.class);
+ mGlifLayout = (GlifLayout) view;
+ }
+
+ @After
+ public void tearDown() {
+ mFragmentScenario.close();
}
@Test
- public void setHeaderText_onViewCreated_verifyAction() {
- final String title = "title";
- doReturn(title).when(mContext).getString(R.string.auto_brightness_title);
+ public void onViewCreated_verifyGlifHerderText() {
+ assertThat(mGlifLayout.getHeaderText())
+ .isEqualTo(mFragment.getString(R.string.auto_brightness_title));
+ }
- mFragment.onViewCreated(mGlifLayoutView, null);
+ @Test
+ public void onViewCreated_verifyGlifFooter() {
+ FooterBarMixin footerMixin = mGlifLayout.getMixin(FooterBarMixin.class);
+ assertThat(footerMixin).isNotNull();
- verify(mGlifLayoutView).setHeaderText(title);
+ Button footerButton = footerMixin.getPrimaryButtonView();
+ assertThat(footerButton).isNotNull();
+ assertThat(footerButton.getText().toString()).isEqualTo(mFragment.getString(R.string.done));
+
+ footerButton.performClick();
+ assertThat(mFragment.getActivity().isFinishing()).isTrue();
+ }
+
+ @Test
+ public void onViewCreated_verifyFooterPreference() {
+ Preference pref = mFragment.findPreference(FOOTER_PREFERENCE_KEY);
+ assertThat(pref).isInstanceOf(FooterPreference.class);
+
+ FooterPreference footerPref = (FooterPreference) pref;
+ String exactTitle = footerPref.getTitle().toString();
+ assertThat(exactTitle).isEqualTo(mFragment.getString(R.string.auto_brightness_description));
+
+ // Ensure that footer content description has "About XXX" prefix for consistency with other
+ // accessibility suw pages
+ String expectedContentDescription =
+ mFragment.getString(R.string.auto_brightness_content_description_title)
+ + "\n\n" + exactTitle;
+ assertThat(footerPref.getContentDescription().toString())
+ .isEqualTo(expectedContentDescription);
}
@Test
@@ -85,11 +116,4 @@
assertThat(mFragment.getMetricsCategory()).isEqualTo(
SettingsEnums.SUW_ACCESSIBILITY_AUTO_BRIGHTNESS);
}
-
- @Test
- public void onViewCreated_verifyAction() {
- mFragment.onViewCreated(mGlifLayoutView, null);
-
- verify(mFooterBarMixin).setPrimaryButton(any());
- }
}
diff --git a/tests/robotests/src/com/android/settings/accessibility/BalanceSeekBarTest.java b/tests/robotests/src/com/android/settings/accessibility/BalanceSeekBarTest.java
index ce2a571..d74794f 100644
--- a/tests/robotests/src/com/android/settings/accessibility/BalanceSeekBarTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/BalanceSeekBarTest.java
@@ -28,23 +28,32 @@
import static org.robolectric.Shadows.shadowOf;
import android.content.Context;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
import android.util.AttributeSet;
import android.widget.SeekBar;
+import com.android.settings.R;
import com.android.settings.testutils.shadow.ShadowSystemSettings;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
+import java.util.Locale;
+
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
ShadowSystemSettings.class,
})
public class BalanceSeekBarTest {
+ @Rule
+ public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
// Fix the maximum process value to 200 for testing the BalanceSeekBar.
// It affects the SeekBar value of center(100) and snapThreshold(200 * SNAP_TO_PERCENTAGE).
private static final int MAX_PROGRESS_VALUE = 200;
@@ -143,6 +152,58 @@
assertThat(mSeekBar.getProgress()).isEqualTo(progressWithoutThreshold);
}
+ @Test
+ @EnableFlags(Flags.FLAG_AUDIO_BALANCE_STATE_DESCRIPTION)
+ public void onProgressChanged_getStateDescription_centered_leftFirst() {
+ // Seek bar centered
+ int progress = (int) (0.50f * MAX_PROGRESS_VALUE);
+ mSeekBar.setMax(MAX_PROGRESS_VALUE);
+
+ mProxySeekBarListener.onProgressChanged(mSeekBar, progress, true);
+
+ assertThat(mSeekBar.getStateDescription()).isEqualTo(
+ mContext.getString(R.string.audio_seek_bar_state_left_first, 50, 50));
+ }
+
+ @Test
+ @EnableFlags(Flags.FLAG_AUDIO_BALANCE_STATE_DESCRIPTION)
+ public void onProgressChanged_getStateDescription_centered_rtl_rightFirst() {
+ // RTL layout
+ mContext.getResources().getConfiguration().setLayoutDirection(new Locale("iw", "IL"));
+ // Seek bar centered
+ int progress = (int) (0.50f * MAX_PROGRESS_VALUE);
+ mSeekBar.setMax(MAX_PROGRESS_VALUE);
+
+ mProxySeekBarListener.onProgressChanged(mSeekBar, progress, true);
+
+ assertThat(mSeekBar.getStateDescription()).isEqualTo(
+ mContext.getString(R.string.audio_seek_bar_state_right_first, 50, 50));
+ }
+
+ @Test
+ @EnableFlags(Flags.FLAG_AUDIO_BALANCE_STATE_DESCRIPTION)
+ public void onProgressChanged_getStateDescription_25percent_leftFirst() {
+ // Seek bar 3/4th toward the left
+ int progress = (int) (0.25f * MAX_PROGRESS_VALUE);
+ mSeekBar.setMax(MAX_PROGRESS_VALUE);
+ mProxySeekBarListener.onProgressChanged(mSeekBar, progress, true);
+
+ assertThat(mSeekBar.getStateDescription()).isEqualTo(
+ mContext.getString(R.string.audio_seek_bar_state_left_first, 75, 25));
+ }
+
+ @Test
+ @EnableFlags(Flags.FLAG_AUDIO_BALANCE_STATE_DESCRIPTION)
+ public void onProgressChanged_getStateDescription_75percent_rightFirst() {
+ // Seek bar 3/4th toward the right
+ int progress = (int) (0.75f * MAX_PROGRESS_VALUE);
+ mSeekBar.setMax(MAX_PROGRESS_VALUE);
+ mProxySeekBarListener.onProgressChanged(mSeekBar, progress, true);
+
+ assertThat(mSeekBar.getStateDescription()).isEqualTo(
+ mContext.getString(R.string.audio_seek_bar_state_right_first, 75, 25));
+ }
+
// method to get the center from BalanceSeekBar for testing setMax().
private int getBalanceSeekBarCenter(BalanceSeekBar seekBar) {
return seekBar.getMax() / 2;
diff --git a/tests/robotests/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceControllerTest.java
index 832a313..569109c 100644
--- a/tests/robotests/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceControllerTest.java
@@ -88,10 +88,9 @@
@Test
public void getAvailabilityStatus_featureSupported_available() {
mSetFlagsRule.enableFlags(Flags.FLAG_KEYBOARD_CATEGORY_ENABLED);
- when(mResources.getBoolean(R.bool.config_keyboard_vibration_supported)).thenReturn(true);
- when(mResources.getFloat(
- com.android.internal.R.dimen.config_keyboardHapticFeedbackFixedAmplitude))
- .thenReturn(0.8f);
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_keyboardVibrationSettingsSupported))
+ .thenReturn(true);
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
}
@@ -99,7 +98,9 @@
@Test
public void getAvailabilityStatus_featureNotSupported_unavailable() {
mSetFlagsRule.enableFlags(Flags.FLAG_KEYBOARD_CATEGORY_ENABLED);
- when(mResources.getBoolean(R.bool.config_keyboard_vibration_supported)).thenReturn(false);
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_keyboardVibrationSettingsSupported))
+ .thenReturn(false);
assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
}
@@ -107,7 +108,9 @@
@Test
public void getAvailabilityStatus_keyboardCategoryDisabled_unavailable() {
mSetFlagsRule.disableFlags(Flags.FLAG_KEYBOARD_CATEGORY_ENABLED);
- when(mResources.getBoolean(R.bool.config_keyboard_vibration_supported)).thenReturn(true);
+ when(mResources.getBoolean(
+ com.android.internal.R.bool.config_keyboardVibrationSettingsSupported))
+ .thenReturn(true);
assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
}
diff --git a/tests/robotests/src/com/android/settings/accessibility/MagnificationOneFingerPanningPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/MagnificationOneFingerPanningPreferenceControllerTest.java
index 8b4bcd8..9f50146 100644
--- a/tests/robotests/src/com/android/settings/accessibility/MagnificationOneFingerPanningPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/MagnificationOneFingerPanningPreferenceControllerTest.java
@@ -133,23 +133,23 @@
}
@Test
- public void getSummary_switchModeAndSettingsOff_disabledSummaryTextUsed() {
+ public void getSummary_switchModeAndSettingsOff_defaultSummaryTextUsed() {
MagnificationCapabilities.setCapabilities(mContext, MagnificationMode.ALL);
Settings.Secure.putInt(mContext.getContentResolver(), ONE_FINGER_PANNING_KEY, OFF);
mController.updateState(mSwitchPreference);
- assertThat(mController.getSummary()).isEqualTo(disabledSummary());
+ assertThat(mController.getSummary().toString()).isEqualTo(defaultSummary());
}
@Test
- public void getSummary_switchModeAndSettingsOn_enabledSummaryTextUsed() {
+ public void getSummary_switchModeAndSettingsOn_defaultSummaryTextUsed() {
MagnificationCapabilities.setCapabilities(mContext, MagnificationMode.ALL);
Settings.Secure.putInt(mContext.getContentResolver(), ONE_FINGER_PANNING_KEY, ON);
mController.updateState(mSwitchPreference);
- assertThat(mController.getSummary()).isEqualTo(enabledSummary());
+ assertThat(mController.getSummary().toString()).isEqualTo(defaultSummary());
}
@Test
@@ -158,7 +158,7 @@
mController.updateState(mSwitchPreference);
- assertThat(mController.getSummary()).isEqualTo(unavailableSummary());
+ assertThat(mController.getSummary().toString()).isEqualTo(unavailableSummary());
}
@Test
@@ -199,14 +199,9 @@
assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
}
- private String enabledSummary() {
+ private String defaultSummary() {
return mContext.getString(
- R.string.accessibility_magnification_one_finger_panning_summary_on);
- }
-
- private String disabledSummary() {
- return mContext.getString(
- R.string.accessibility_magnification_one_finger_panning_summary_off);
+ R.string.accessibility_magnification_one_finger_panning_summary);
}
private String unavailableSummary() {
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
index af94723..04ff4fe 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
@@ -16,6 +16,10 @@
package com.android.settings.accessibility;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.DEFAULT;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
import static com.android.settings.accessibility.ToggleFeaturePreferenceFragment.KEY_SAVED_USER_SHORTCUT_TYPE;
import static com.google.common.truth.Truth.assertThat;
@@ -57,7 +61,6 @@
import com.android.settings.R;
import com.android.settings.accessibility.AccessibilityDialogUtils.DialogType;
import com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType;
-import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
import com.android.settings.flags.Flags;
import com.android.settings.testutils.shadow.ShadowFragment;
import com.android.settingslib.widget.TopIntroPreference;
@@ -204,7 +207,7 @@
final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
mFragment.mComponentName.flattenToString());
// Compare to default UserShortcutType
- assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE);
+ assertThat(expectedType).isEqualTo(SOFTWARE);
}
@Test
@@ -219,21 +222,21 @@
final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
mFragment.mComponentName.flattenToString());
- assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE);
+ assertThat(expectedType).isEqualTo(SOFTWARE | HARDWARE);
}
@Test
public void updateShortcutPreferenceData_hasValueInSharedPreference_assignToVariable() {
mFragment.mComponentName = PLACEHOLDER_COMPONENT_NAME;
final PreferredShortcut hardwareShortcut = new PreferredShortcut(
- PLACEHOLDER_COMPONENT_NAME.flattenToString(), UserShortcutType.HARDWARE);
+ PLACEHOLDER_COMPONENT_NAME.flattenToString(), HARDWARE);
putUserShortcutTypeIntoSharedPreference(mContext, hardwareShortcut);
mFragment.updateShortcutPreferenceData();
final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
mFragment.mComponentName.flattenToString());
- assertThat(expectedType).isEqualTo(UserShortcutType.HARDWARE);
+ assertThat(expectedType).isEqualTo(HARDWARE);
}
@Test
@@ -272,7 +275,7 @@
mFragment.setupEditShortcutDialog(dialog);
final int checkboxValue = mFragment.getShortcutTypeCheckBoxValue();
- assertThat(checkboxValue).isEqualTo(UserShortcutType.EMPTY);
+ assertThat(checkboxValue).isEqualTo(DEFAULT);
}
@Test
@@ -283,7 +286,7 @@
final ShortcutPreference shortcutPreference = new ShortcutPreference(mContext, /* attrs= */
null);
final PreferredShortcut hardwareShortcut = new PreferredShortcut(
- PLACEHOLDER_COMPONENT_NAME.flattenToString(), UserShortcutType.HARDWARE);
+ PLACEHOLDER_COMPONENT_NAME.flattenToString(), HARDWARE);
mFragment.mComponentName = PLACEHOLDER_COMPONENT_NAME;
mFragment.mShortcutPreference = shortcutPreference;
@@ -292,7 +295,7 @@
mFragment.setupEditShortcutDialog(dialog);
final int checkboxValue = mFragment.getShortcutTypeCheckBoxValue();
- assertThat(checkboxValue).isEqualTo(UserShortcutType.HARDWARE);
+ assertThat(checkboxValue).isEqualTo(HARDWARE);
}
@Test
@@ -308,7 +311,7 @@
mFragment.mShortcutPreference = shortcutPreference;
savedInstanceState.putInt(KEY_SAVED_USER_SHORTCUT_TYPE,
- UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE);
+ SOFTWARE | HARDWARE);
mFragment.onCreate(savedInstanceState);
mFragment.setupEditShortcutDialog(dialog);
final int value = mFragment.getShortcutTypeCheckBoxValue();
@@ -316,7 +319,7 @@
final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
mFragment.mComponentName.flattenToString());
- assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE);
+ assertThat(expectedType).isEqualTo(SOFTWARE | HARDWARE);
}
@Test
@@ -470,7 +473,7 @@
public void getShortcutTypeSummary_shortcutSummaryIsCorrectlySet() {
final PreferredShortcut userPreferredShortcut = new PreferredShortcut(
PLACEHOLDER_COMPONENT_NAME.flattenToString(),
- UserShortcutType.HARDWARE | UserShortcutType.QUICK_SETTINGS);
+ HARDWARE | QUICK_SETTINGS);
putUserShortcutTypeIntoSharedPreference(mContext, userPreferredShortcut);
final ShortcutPreference shortcutPreference =
new ShortcutPreference(mContext, /* attrs= */ null);
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java
index ab2e9d1..6f9981a 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java
@@ -16,14 +16,20 @@
package com.android.settings.accessibility;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.DEFAULT;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.TRIPLETAP;
+import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.TWOFINGER_DOUBLETAP;
import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
-import static com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
import static com.android.settings.accessibility.MagnificationCapabilities.MagnificationMode;
import static com.android.settings.accessibility.ToggleFeaturePreferenceFragment.KEY_SAVED_USER_SHORTCUT_TYPE;
import static com.google.common.truth.Truth.assertThat;
+import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
@@ -394,11 +400,45 @@
}
@Test
+ @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_ONE_FINGER_PANNING_GESTURE)
+ public void onResume_oneFingerPanningFlagOn_registerToSpecificUri() {
+ ShadowContentResolver shadowContentResolver = Shadows.shadowOf(
+ mContext.getContentResolver());
+ Uri observedUri = Settings.Secure.getUriFor(
+ Settings.Secure.ACCESSIBILITY_SINGLE_FINGER_PANNING_ENABLED);
+ // verify no one finger panning settings observer registered before launching the fragment
+ assertThat(shadowContentResolver.getContentObservers(observedUri)).isEmpty();
+
+ mFragController.create(R.id.main_content, /* bundle= */ null).start().resume();
+
+ Collection<ContentObserver> observers =
+ shadowContentResolver.getContentObservers(observedUri);
+ assertThat(observers.size()).isEqualTo(1);
+ assertThat(observers.stream().findFirst().get()).isInstanceOf(
+ AccessibilitySettingsContentObserver.class);
+ }
+
+ @Test
+ @DisableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_ONE_FINGER_PANNING_GESTURE)
+ public void onResume_oneFingerPanningFlagOff_notRegisterToSpecificUri() {
+ ShadowContentResolver shadowContentResolver = Shadows.shadowOf(
+ mContext.getContentResolver());
+ Uri observedUri = Settings.Secure.getUriFor(
+ Settings.Secure.ACCESSIBILITY_SINGLE_FINGER_PANNING_ENABLED);
+ // verify no one finger panning settings observer registered before launching the fragment
+ assertThat(shadowContentResolver.getContentObservers(observedUri)).isEmpty();
+
+ mFragController.create(R.id.main_content, /* bundle= */ null).start().resume();
+ // verify no one finger panning settings observer registered after launching the fragment
+ assertThat(shadowContentResolver.getContentObservers(observedUri)).isEmpty();
+ }
+
+ @Test
public void hasValueInSettings_putValue_hasValue() {
setMagnificationTripleTapEnabled(/* enabled= */ true);
assertThat(ToggleScreenMagnificationPreferenceFragment.hasMagnificationValuesInSettings(
- mContext, UserShortcutType.TRIPLETAP)).isTrue();
+ mContext, TRIPLETAP)).isTrue();
}
@Test
@@ -408,7 +448,7 @@
mContext.getContentResolver(), TWO_FINGER_TRIPLE_TAP_SHORTCUT_KEY, ON);
assertThat(ToggleScreenMagnificationPreferenceFragment.hasMagnificationValuesInSettings(
- mContext, UserShortcutType.TWOFINGER_DOUBLETAP)).isTrue();
+ mContext, TWOFINGER_DOUBLETAP)).isTrue();
}
@Test
@@ -418,13 +458,13 @@
mContext.getContentResolver(), TWO_FINGER_TRIPLE_TAP_SHORTCUT_KEY, OFF);
assertThat(ToggleScreenMagnificationPreferenceFragment.hasMagnificationValuesInSettings(
- mContext, UserShortcutType.TWOFINGER_DOUBLETAP)).isFalse();
+ mContext, TWOFINGER_DOUBLETAP)).isFalse();
}
@Test
@DisableFlags(android.view.accessibility.Flags.FLAG_A11Y_QS_SHORTCUT)
public void optInAllValuesToSettings_optInValue_haveMatchString() {
- int shortcutTypes = UserShortcutType.SOFTWARE | UserShortcutType.TRIPLETAP;
+ int shortcutTypes = SOFTWARE | TRIPLETAP;
ToggleScreenMagnificationPreferenceFragment.optInAllMagnificationValuesToSettings(mContext,
shortcutTypes);
@@ -438,24 +478,24 @@
@EnableFlags(android.view.accessibility.Flags.FLAG_A11Y_QS_SHORTCUT)
public void optInAllValuesToSettings_optInValue_callA11yManager() {
int shortcutTypes =
- UserShortcutType.SOFTWARE | UserShortcutType.TRIPLETAP | UserShortcutType.HARDWARE
- | UserShortcutType.QUICK_SETTINGS;
+ SOFTWARE | TRIPLETAP | HARDWARE
+ | QUICK_SETTINGS;
Set<String> shortcutTargets = Set.of(MAGNIFICATION_CONTROLLER_NAME);
ToggleScreenMagnificationPreferenceFragment.optInAllMagnificationValuesToSettings(mContext,
shortcutTypes);
verify(mAccessibilityManager).enableShortcutsForTargets(
- /* enable= */ true, UserShortcutType.SOFTWARE,
+ /* enable= */ true, SOFTWARE,
shortcutTargets, UserHandle.myUserId());
verify(mAccessibilityManager).enableShortcutsForTargets(
- /* enable= */ true, UserShortcutType.HARDWARE,
+ /* enable= */ true, HARDWARE,
shortcutTargets, UserHandle.myUserId());
verify(mAccessibilityManager).enableShortcutsForTargets(
- /* enable= */ true, UserShortcutType.QUICK_SETTINGS,
+ /* enable= */ true, QUICK_SETTINGS,
shortcutTargets, UserHandle.myUserId());
verify(mAccessibilityManager).enableShortcutsForTargets(
- /* enable= */ true, UserShortcutType.TRIPLETAP,
+ /* enable= */ true, TRIPLETAP,
shortcutTargets, UserHandle.myUserId());
verifyNoMoreInteractions(mAccessibilityManager);
}
@@ -464,7 +504,7 @@
@EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
@DisableFlags(android.view.accessibility.Flags.FLAG_A11Y_QS_SHORTCUT)
public void optInAllValuesToSettings_twoFingerTripleTap_haveMatchString() {
- int shortcutTypes = UserShortcutType.TWOFINGER_DOUBLETAP;
+ int shortcutTypes = TWOFINGER_DOUBLETAP;
ToggleScreenMagnificationPreferenceFragment.optInAllMagnificationValuesToSettings(mContext,
shortcutTypes);
@@ -479,7 +519,7 @@
putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, PLACEHOLDER_COMPONENT_NAME.flattenToString());
ToggleScreenMagnificationPreferenceFragment.optInAllMagnificationValuesToSettings(mContext,
- UserShortcutType.SOFTWARE);
+ SOFTWARE);
assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEqualTo(
PLACEHOLDER_COMPONENT_NAME.flattenToString() + ":" + MAGNIFICATION_CONTROLLER_NAME);
@@ -491,7 +531,7 @@
ShadowSettings.ShadowSecure.reset();
ToggleScreenMagnificationPreferenceFragment.optInAllMagnificationValuesToSettings(mContext,
- UserShortcutType.SOFTWARE);
+ SOFTWARE);
assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE,
@@ -508,7 +548,7 @@
ToggleScreenMagnificationPreferenceFragment.optInAllMagnificationValuesToSettings(
mContext,
- UserShortcutType.SOFTWARE);
+ SOFTWARE);
assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE,
@@ -527,7 +567,7 @@
ToggleScreenMagnificationPreferenceFragment.optInAllMagnificationValuesToSettings(
mContext,
- UserShortcutType.HARDWARE);
+ HARDWARE);
assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE, size + 1)).isEqualTo(
@@ -545,7 +585,7 @@
ToggleScreenMagnificationPreferenceFragment.optInAllMagnificationValuesToSettings(
mContext,
- UserShortcutType.TRIPLETAP);
+ TRIPLETAP);
assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE, size + 1)).isEqualTo(
@@ -560,7 +600,7 @@
putStringIntoSettings(HARDWARE_SHORTCUT_KEY, MAGNIFICATION_CONTROLLER_NAME);
setMagnificationTripleTapEnabled(/* enabled= */ true);
int shortcutTypes =
- UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE | UserShortcutType.TRIPLETAP;
+ SOFTWARE | HARDWARE | TRIPLETAP;
ToggleScreenMagnificationPreferenceFragment.optOutAllMagnificationValuesFromSettings(
mContext, shortcutTypes);
@@ -578,19 +618,19 @@
putStringIntoSettings(HARDWARE_SHORTCUT_KEY, MAGNIFICATION_CONTROLLER_NAME);
setMagnificationTripleTapEnabled(/* enabled= */ true);
int shortcutTypes =
- UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE | UserShortcutType.TRIPLETAP;
+ SOFTWARE | HARDWARE | TRIPLETAP;
ToggleScreenMagnificationPreferenceFragment.optOutAllMagnificationValuesFromSettings(
mContext, shortcutTypes);
verify(mAccessibilityManager).enableShortcutsForTargets(
- /* enable= */ false, UserShortcutType.SOFTWARE,
+ /* enable= */ false, SOFTWARE,
shortcutTargets, UserHandle.myUserId());
verify(mAccessibilityManager).enableShortcutsForTargets(
- /* enable= */ false, UserShortcutType.HARDWARE,
+ /* enable= */ false, HARDWARE,
shortcutTargets, UserHandle.myUserId());
verify(mAccessibilityManager).enableShortcutsForTargets(
- /* enable= */ false, UserShortcutType.TRIPLETAP,
+ /* enable= */ false, TRIPLETAP,
shortcutTargets, UserHandle.myUserId());
verifyNoMoreInteractions(mAccessibilityManager);
}
@@ -603,7 +643,7 @@
TWO_FINGER_TRIPLE_TAP_SHORTCUT_KEY, ON);
ToggleScreenMagnificationPreferenceFragment.optOutAllMagnificationValuesFromSettings(
- mContext, UserShortcutType.TWOFINGER_DOUBLETAP);
+ mContext, TWOFINGER_DOUBLETAP);
assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
TWO_FINGER_TRIPLE_TAP_SHORTCUT_KEY, ON)).isEqualTo(OFF);
@@ -616,7 +656,7 @@
PLACEHOLDER_COMPONENT_NAME.flattenToString() + ":" + MAGNIFICATION_CONTROLLER_NAME);
putStringIntoSettings(HARDWARE_SHORTCUT_KEY,
PLACEHOLDER_COMPONENT_NAME.flattenToString() + ":" + MAGNIFICATION_CONTROLLER_NAME);
- int shortcutTypes = UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE;
+ int shortcutTypes = SOFTWARE | HARDWARE;
ToggleScreenMagnificationPreferenceFragment.optOutAllMagnificationValuesFromSettings(
mContext, shortcutTypes);
@@ -636,7 +676,7 @@
final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
MAGNIFICATION_CONTROLLER_NAME);
// Compare to default UserShortcutType
- assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE);
+ assertThat(expectedType).isEqualTo(SOFTWARE);
}
@Test
@@ -649,13 +689,13 @@
final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
MAGNIFICATION_CONTROLLER_NAME);
- assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE | UserShortcutType.TRIPLETAP);
+ assertThat(expectedType).isEqualTo(SOFTWARE | TRIPLETAP);
}
@Test
public void updateShortcutPreferenceData_hasValueInSharedPreference_assignToVariable() {
final PreferredShortcut tripleTapShortcut = new PreferredShortcut(
- MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.TRIPLETAP);
+ MAGNIFICATION_CONTROLLER_NAME, TRIPLETAP);
putUserShortcutTypeIntoSharedPreference(mContext, tripleTapShortcut);
mFragController.create(R.id.main_content, /* bundle= */ null).start().resume();
@@ -663,7 +703,7 @@
final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
MAGNIFICATION_CONTROLLER_NAME);
- assertThat(expectedType).isEqualTo(UserShortcutType.TRIPLETAP);
+ assertThat(expectedType).isEqualTo(TRIPLETAP);
}
@Test
@@ -677,14 +717,14 @@
final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
MAGNIFICATION_CONTROLLER_NAME);
- assertThat(expectedType).isEqualTo(UserShortcutType.TWOFINGER_DOUBLETAP);
+ assertThat(expectedType).isEqualTo(TWOFINGER_DOUBLETAP);
}
@Test
@EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
public void updateShortcutPreferenceData_hasTwoFingerTripleTapInSharedPref_assignToVariable() {
final PreferredShortcut tripleTapShortcut = new PreferredShortcut(
- MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.TWOFINGER_DOUBLETAP);
+ MAGNIFICATION_CONTROLLER_NAME, TWOFINGER_DOUBLETAP);
putUserShortcutTypeIntoSharedPreference(mContext, tripleTapShortcut);
mFragController.create(R.id.main_content, /* bundle= */ null).start().resume();
@@ -692,7 +732,7 @@
final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
MAGNIFICATION_CONTROLLER_NAME);
- assertThat(expectedType).isEqualTo(UserShortcutType.TWOFINGER_DOUBLETAP);
+ assertThat(expectedType).isEqualTo(TWOFINGER_DOUBLETAP);
}
@Test
@@ -707,7 +747,7 @@
createEditShortcutDialog(fragment.getActivity()));
final int checkboxValue = fragment.getShortcutTypeCheckBoxValue();
- assertThat(checkboxValue).isEqualTo(UserShortcutType.EMPTY);
+ assertThat(checkboxValue).isEqualTo(DEFAULT);
}
@Test
@@ -718,7 +758,7 @@
final ShortcutPreference shortcutPreference = new ShortcutPreference(mContext, /* attrs= */
null);
final PreferredShortcut tripletapShortcut = new PreferredShortcut(
- MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.TRIPLETAP);
+ MAGNIFICATION_CONTROLLER_NAME, TRIPLETAP);
fragment.mShortcutPreference = shortcutPreference;
PreferredShortcuts.saveUserShortcutType(mContext, tripletapShortcut);
@@ -727,7 +767,7 @@
createEditShortcutDialog(fragment.getActivity()));
final int checkboxValue = fragment.getShortcutTypeCheckBoxValue();
- assertThat(checkboxValue).isEqualTo(UserShortcutType.TRIPLETAP);
+ assertThat(checkboxValue).isEqualTo(TRIPLETAP);
}
@Test
@@ -739,7 +779,7 @@
final ShortcutPreference shortcutPreference = new ShortcutPreference(mContext, /* attrs= */
null);
final PreferredShortcut twoFingerTripleTapShortcut = new PreferredShortcut(
- MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.TWOFINGER_DOUBLETAP);
+ MAGNIFICATION_CONTROLLER_NAME, TWOFINGER_DOUBLETAP);
fragment.mShortcutPreference = shortcutPreference;
PreferredShortcuts.saveUserShortcutType(mContext, twoFingerTripleTapShortcut);
@@ -748,13 +788,13 @@
createEditShortcutDialog(fragment.getActivity()));
final int checkboxValue = fragment.getShortcutTypeCheckBoxValue();
- assertThat(checkboxValue).isEqualTo(UserShortcutType.TWOFINGER_DOUBLETAP);
+ assertThat(checkboxValue).isEqualTo(TWOFINGER_DOUBLETAP);
}
@Test
public void restoreValueFromSavedInstanceState_assignToVariable() {
final Bundle fragmentState = createFragmentSavedInstanceState(
- UserShortcutType.HARDWARE | UserShortcutType.TRIPLETAP);
+ HARDWARE | TRIPLETAP);
ToggleScreenMagnificationPreferenceFragment fragment = mFragController.get();
// Had to use reflection to pass the savedInstanceState when launching the fragment
ReflectionHelpers.setField(fragment, "mSavedFragmentState", fragmentState);
@@ -769,14 +809,14 @@
final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
MAGNIFICATION_CONTROLLER_NAME);
assertThat(value).isEqualTo(6);
- assertThat(expectedType).isEqualTo(UserShortcutType.HARDWARE | UserShortcutType.TRIPLETAP);
+ assertThat(expectedType).isEqualTo(HARDWARE | TRIPLETAP);
}
@Test
@EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
public void restoreValueFromSavedInstanceState_twoFingerTripleTap_assignToVariable() {
final Bundle fragmentState =
- createFragmentSavedInstanceState(UserShortcutType.TWOFINGER_DOUBLETAP);
+ createFragmentSavedInstanceState(TWOFINGER_DOUBLETAP);
ToggleScreenMagnificationPreferenceFragment fragment = mFragController.get();
// Had to use reflection to pass the savedInstanceState when launching the fragment
ReflectionHelpers.setField(fragment, "mSavedFragmentState", fragmentState);
@@ -790,8 +830,8 @@
final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
MAGNIFICATION_CONTROLLER_NAME);
- assertThat(value).isEqualTo(UserShortcutType.TWOFINGER_DOUBLETAP);
- assertThat(expectedType).isEqualTo(UserShortcutType.TWOFINGER_DOUBLETAP);
+ assertThat(value).isEqualTo(TWOFINGER_DOUBLETAP);
+ assertThat(expectedType).isEqualTo(TWOFINGER_DOUBLETAP);
}
@Test
@@ -934,7 +974,9 @@
}
@Test
- public void onProcessArguments_defaultArgumentUnavailable_shouldSetDefaultArguments() {
+ @DisableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_ONE_FINGER_PANNING_GESTURE)
+ public void
+ onProcessArguments_defaultArgumentUnavailableAndFlagOff_shouldSetDefaultArguments() {
ToggleScreenMagnificationPreferenceFragment fragment =
mFragController.create(
R.id.main_content, /* bundle= */ null).start().resume().get();
@@ -948,6 +990,32 @@
}
@Test
+ @EnableFlags(Flags.FLAG_ENABLE_MAGNIFICATION_ONE_FINGER_PANNING_GESTURE)
+ public void
+ onProcessArguments_defaultArgumentUnavailableAndFlagOn_shouldSetDefaultArguments() {
+ ToggleScreenMagnificationPreferenceFragment fragment =
+ mFragController.create(
+ R.id.main_content, /* bundle= */ null).start().resume().get();
+ Bundle arguments = new Bundle();
+
+ fragment.onProcessArguments(arguments);
+
+ assertTrue(arguments.containsKey(AccessibilitySettings.EXTRA_PREFERENCE_KEY));
+ assertTrue(arguments.containsKey(AccessibilitySettings.EXTRA_INTRO));
+ // If OneFingerPanning flag is on, the EXTRA_HTML_DESCRIPTION should not be set. The html
+ // description would be decided dynamically based on the OneFingerPanning preference state.
+ assertFalse(arguments.containsKey(AccessibilitySettings.EXTRA_HTML_DESCRIPTION));
+ }
+
+ @Test
+ public void getCurrentHtmlDescription_shouldNotBeEmpty() {
+ ToggleScreenMagnificationPreferenceFragment fragment =
+ mFragController.create(
+ R.id.main_content, /* bundle= */ null).start().resume().get();
+ assertThat(fragment.getCurrentHtmlDescription().toString()).isNotEmpty();
+ }
+
+ @Test
public void getSummary_magnificationEnabled_returnShortcutOnWithSummary() {
setMagnificationTripleTapEnabled(true);
@@ -1006,7 +1074,7 @@
public void getShortcutTypeSummary_shortcutSummaryIsCorrectlySet() {
final PreferredShortcut userPreferredShortcut = new PreferredShortcut(
MAGNIFICATION_CONTROLLER_NAME,
- UserShortcutType.HARDWARE | UserShortcutType.QUICK_SETTINGS);
+ HARDWARE | QUICK_SETTINGS);
putUserShortcutTypeIntoSharedPreference(mContext, userPreferredShortcut);
final ShortcutPreference shortcutPreference =
new ShortcutPreference(mContext, /* attrs= */ null);
diff --git a/tests/robotests/src/com/android/settings/biometrics/combination/CombinedBiometricProfileSettingsTest.java b/tests/robotests/src/com/android/settings/biometrics/combination/CombinedBiometricProfileSettingsTest.java
index a0ef57f..8593860 100644
--- a/tests/robotests/src/com/android/settings/biometrics/combination/CombinedBiometricProfileSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/combination/CombinedBiometricProfileSettingsTest.java
@@ -31,9 +31,11 @@
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.Intent;
+import android.hardware.biometrics.BiometricManager;
import android.hardware.face.FaceManager;
import android.hardware.fingerprint.FingerprintManager;
import android.os.Bundle;
@@ -102,6 +104,8 @@
private FaceStatusPreferenceController mFaceStatusPreferenceController;
@Mock
private FaceManager mFaceManager;
+ @Mock
+ private BiometricManager mBiometricManager;
@Before
public void setUp() {
@@ -114,6 +118,10 @@
mContext = spy(ApplicationProvider.getApplicationContext());
mFragment = spy(new TestCombinedBiometricProfileSettings(mContext));
doReturn(mActivity).when(mFragment).getActivity();
+ doReturn(mBiometricManager).when(mActivity).getSystemService(BiometricManager.class);
+ when(mBiometricManager.canAuthenticate(
+ BiometricManager.Authenticators.MANDATORY_BIOMETRICS))
+ .thenReturn(BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE);
ReflectionHelpers.setField(mFragment, "mDashboardFeatureProvider",
FakeFeatureFactory.setupForTest().dashboardFeatureProvider);
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsFragmentTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsFragmentTest.java
index 6407f64..58e7e2d 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsFragmentTest.java
@@ -17,7 +17,6 @@
package com.android.settings.biometrics.fingerprint;
import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_POWER_BUTTON;
-import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_REAR;
import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_UDFPS_OPTICAL;
import static com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment;
@@ -34,16 +33,13 @@
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.Intent;
import android.content.pm.UserInfo;
import android.hardware.biometrics.ComponentInfoInternal;
import android.hardware.biometrics.SensorProperties;
-import android.hardware.fingerprint.Fingerprint;
import android.hardware.fingerprint.FingerprintManager;
import android.hardware.fingerprint.FingerprintSensorProperties;
import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
@@ -84,7 +80,6 @@
import org.robolectric.annotation.Config;
import java.util.ArrayList;
-import java.util.List;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowSettingsPreferenceFragment.class, ShadowUtils.class, ShadowFragment.class,
@@ -152,6 +147,7 @@
public void testCancellationSignalLifeCycle() {
setUpFragment(false);
+ mFingerprintAuthenticateSidecar.setFingerprintManager(mFingerprintManager);
doNothing().when(mFingerprintManager).authenticate(any(),
mCancellationSignalArgumentCaptor.capture(),
@@ -217,7 +213,6 @@
doReturn(fragmentManager).when(mActivity).getSupportFragmentManager();
mFingerprintAuthenticateSidecar = new FingerprintAuthenticateSidecar();
- mFingerprintAuthenticateSidecar.setFingerprintManager(mFingerprintManager);
doReturn(mFingerprintAuthenticateSidecar).when(fragmentManager).findFragmentByTag(
"authenticate_sidecar");
@@ -251,27 +246,4 @@
true /* resetLockoutRequiresHardwareAuthToken */));
doReturn(props).when(mFingerprintManager).getSensorPropertiesInternal();
}
-
- @Test
- public void testAuthOnFragmentSetup() {
- doReturn(List.of(new Fingerprint("Finger 1", 1, 2, 3)))
- .when(mFingerprintManager).getEnrolledFingerprints(anyInt());
- setUpFragment(false, 1, TYPE_REAR);
-
- verify(mFingerprintManager).authenticate(any(), any(),
- any(), any(), anyInt());
- }
-
- @Test
- public void testErrorCancelledRestartsAuth() {
- doReturn(List.of(new Fingerprint("Finger 1", 1, 2, 3)))
- .when(mFingerprintManager).getEnrolledFingerprints(anyInt());
- setUpFragment(false, 1, TYPE_REAR);
-
- // When we receive a cancel, we should restart auth.
- mFragment.handleError(FingerprintManager.FINGERPRINT_ERROR_CANCELED, "blah");
-
- verify(mFingerprintManager, times(2)).authenticate(any(), any(),
- any(), any(), anyInt());
- }
}
diff --git a/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java
index d24a83b..8d96f21 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java
@@ -28,16 +28,20 @@
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
+import android.platform.test.flag.junit.SetFlagsRule;
import android.provider.DeviceConfig;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
+import android.widget.ProgressBar;
import android.widget.TextView;
import com.android.settings.R;
+import com.android.settings.SettingsActivity;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.SettingsUIDeviceConfig;
+import com.android.settings.flags.Flags;
import com.android.settings.fuelgauge.BatteryMeterView;
import com.android.settings.testutils.shadow.ShadowDeviceConfig;
import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
@@ -48,12 +52,13 @@
import org.junit.Before;
import org.junit.Ignore;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import java.util.HashSet;
@@ -62,6 +67,8 @@
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowEntityHeaderController.class, ShadowDeviceConfig.class})
public class AdvancedBluetoothDetailsHeaderControllerTest {
+ @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
private static final int BATTERY_LEVEL_MAIN = 30;
private static final int BATTERY_LEVEL_LEFT = 25;
private static final int BATTERY_LEVEL_RIGHT = 45;
@@ -93,7 +100,7 @@
public void setUp() {
MockitoAnnotations.initMocks(this);
- mContext = RuntimeEnvironment.application;
+ mContext = Robolectric.buildActivity(SettingsActivity.class).get();
mController = new AdvancedBluetoothDetailsHeaderController(mContext, "pref_Key");
when(mCachedDevice.getDevice()).thenReturn(mBluetoothDevice);
mController.init(mCachedDevice);
@@ -272,6 +279,7 @@
View.GONE);
assertThat(layout.findViewById(R.id.bt_battery_icon).getVisibility()).isEqualTo(View.GONE);
assertThat(layout.findViewById(R.id.header_icon).getVisibility()).isEqualTo(View.VISIBLE);
+ assertThat(layout.findViewById(R.id.battery_ring).getVisibility()).isEqualTo(View.GONE);
}
@Ignore
@@ -546,6 +554,10 @@
final TextView textView = linearLayout.findViewById(R.id.bt_battery_summary);
assertThat(textView.getText().toString()).isEqualTo(
com.android.settings.Utils.formatPercentage(batteryLevel));
+ if (Flags.enableBluetoothDeviceDetailsPolish()) {
+ final ProgressBar bar = linearLayout.findViewById(R.id.battery_ring);
+ assertThat(bar.getProgress()).isEqualTo(batteryLevel);
+ }
}
private void assertBatteryIcon(LinearLayout linearLayout, int resId) {
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsControllerTest.java
index cf80a87..7c865f3 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsControllerTest.java
@@ -38,6 +38,7 @@
import androidx.preference.ListPreference;
import androidx.preference.PreferenceCategory;
+import com.android.settings.R;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
import com.android.settingslib.bluetooth.HapClientProfile;
import com.android.settingslib.bluetooth.LocalBluetoothManager;
@@ -215,11 +216,13 @@
assertThat(mController.getPreference()).isNotNull();
assertThat(mController.getPreference().isEnabled()).isFalse();
+ assertThat(String.valueOf(mController.getPreference().getSummary())).isEqualTo(
+ mContext.getString(R.string.bluetooth_hearing_aids_presets_empty_list_message));
}
@Test
public void refresh_validPresetInfo_preferenceEnabled() {
- BluetoothHapPresetInfo info = getTestPresetInfo();
+ BluetoothHapPresetInfo info = getTestPresetInfo(true);
when(mHapClientProfile.getAllPresetInfo(mDevice)).thenReturn(List.of(info));
mController.refresh();
@@ -230,7 +233,7 @@
@Test
public void refresh_invalidActivePresetIndex_summaryIsNull() {
- BluetoothHapPresetInfo info = getTestPresetInfo();
+ BluetoothHapPresetInfo info = getTestPresetInfo(true);
when(mHapClientProfile.getAllPresetInfo(mDevice)).thenReturn(List.of(info));
when(mHapClientProfile.getActivePresetIndex(mDevice)).thenReturn(PRESET_INDEX_UNAVAILABLE);
@@ -242,7 +245,7 @@
@Test
public void refresh_validActivePresetIndex_summaryIsNotNull() {
- BluetoothHapPresetInfo info = getTestPresetInfo();
+ BluetoothHapPresetInfo info = getTestPresetInfo(true);
when(mHapClientProfile.getAllPresetInfo(mDevice)).thenReturn(List.of(info));
when(mHapClientProfile.getActivePresetIndex(mDevice)).thenReturn(TEST_PRESET_INDEX);
@@ -262,10 +265,30 @@
verify(mHapClientProfile).selectPreset(mDevice, TEST_PRESET_INDEX);
}
- private BluetoothHapPresetInfo getTestPresetInfo() {
+ @Test
+ public void loadAllPresetInfo_unavailablePreset_notAddedToEntries() {
+ BluetoothHapPresetInfo info = getTestPresetInfo(false);
+ when(mHapClientProfile.getAllPresetInfo(mDevice)).thenReturn(List.of(info));
+
+ mController.refresh();
+
+ assertThat(mController.getPreference().getEntries().length).isEqualTo(0);
+ }
+
+ @Test
+ public void loadAllPresetInfo_availablePreset_addedToEntries() {
+ BluetoothHapPresetInfo info = getTestPresetInfo(true);
+ when(mHapClientProfile.getAllPresetInfo(mDevice)).thenReturn(List.of(info));
+
+ mController.refresh();
+
+ assertThat(mController.getPreference().getEntries().length).isEqualTo(1);
+ }
+ private BluetoothHapPresetInfo getTestPresetInfo(boolean available) {
BluetoothHapPresetInfo info = mock(BluetoothHapPresetInfo.class);
when(info.getName()).thenReturn(TEST_PRESET_NAME);
when(info.getIndex()).thenReturn(TEST_PRESET_INDEX);
+ when(info.isAvailable()).thenReturn(available);
return info;
}
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioControllerTest.java
index d9a917b..24528ae 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioControllerTest.java
@@ -21,26 +21,35 @@
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.app.settings.SettingsEnums;
import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothProfile;
import android.media.AudioDeviceAttributes;
import android.media.AudioDeviceInfo;
import android.media.AudioManager;
import android.media.Spatializer;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
import androidx.preference.PreferenceCategory;
import androidx.preference.TwoStatePreference;
import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settingslib.bluetooth.A2dpProfile;
+import com.android.settingslib.bluetooth.HearingAidProfile;
+import com.android.settingslib.bluetooth.LeAudioProfile;
import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.flags.Flags;
import com.google.common.collect.ImmutableList;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@@ -54,7 +63,8 @@
@RunWith(RobolectricTestRunner.class)
public class BluetoothDetailsSpatialAudioControllerTest extends BluetoothDetailsControllerTestBase {
-
+ @Rule
+ public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
private static final String MAC_ADDRESS = "04:52:C7:0B:D8:3C";
private static final String KEY_SPATIAL_AUDIO = "spatial_audio";
private static final String KEY_HEAD_TRACKING = "head_tracking";
@@ -64,6 +74,9 @@
@Mock private Lifecycle mSpatialAudioLifecycle;
@Mock private PreferenceCategory mProfilesContainer;
@Mock private BluetoothDevice mBluetoothDevice;
+ @Mock private A2dpProfile mA2dpProfile;
+ @Mock private LeAudioProfile mLeAudioProfile;
+ @Mock private HearingAidProfile mHearingAidProfile;
private AudioDeviceAttributes mAvailableDevice;
@@ -83,6 +96,12 @@
when(mAudioManager.getSpatializer()).thenReturn(mSpatializer);
when(mCachedDevice.getAddress()).thenReturn(MAC_ADDRESS);
when(mCachedDevice.getDevice()).thenReturn(mBluetoothDevice);
+ when(mCachedDevice.getProfiles())
+ .thenReturn(List.of(mA2dpProfile, mLeAudioProfile, mHearingAidProfile));
+ when(mA2dpProfile.isEnabled(mBluetoothDevice)).thenReturn(true);
+ when(mA2dpProfile.getProfileId()).thenReturn(BluetoothProfile.A2DP);
+ when(mLeAudioProfile.getProfileId()).thenReturn(BluetoothProfile.LE_AUDIO);
+ when(mHearingAidProfile.getProfileId()).thenReturn(BluetoothProfile.HEARING_AID);
when(mBluetoothDevice.getAnonymizedAddress()).thenReturn(MAC_ADDRESS);
when(mFeatureFactory.getBluetoothFeatureProvider().getSpatializer(mContext))
.thenReturn(mSpatializer);
@@ -273,6 +292,52 @@
}
@Test
+ @EnableFlags(Flags.FLAG_ENABLE_DETERMINING_SPATIAL_AUDIO_ATTRIBUTES_BY_PROFILE)
+ public void refresh_leAudioProfileEnabledForHeadset_useLeAudioHeadsetAttributes() {
+ when(mLeAudioProfile.isEnabled(mBluetoothDevice)).thenReturn(true);
+ when(mA2dpProfile.isEnabled(mBluetoothDevice)).thenReturn(false);
+ when(mHearingAidProfile.isEnabled(mBluetoothDevice)).thenReturn(false);
+ when(mAudioManager.getBluetoothAudioDeviceCategory(MAC_ADDRESS))
+ .thenReturn(AudioManager.AUDIO_DEVICE_CATEGORY_HEADPHONES);
+ when(mSpatializer.isAvailableForDevice(any())).thenReturn(true);
+
+ mController.refresh();
+ ShadowLooper.idleMainLooper();
+
+ assertThat(mController.mAudioDevice.getType()).isEqualTo(AudioDeviceInfo.TYPE_BLE_HEADSET);
+ }
+
+ @Test
+ @EnableFlags(Flags.FLAG_ENABLE_DETERMINING_SPATIAL_AUDIO_ATTRIBUTES_BY_PROFILE)
+ public void refresh_leAudioProfileEnabledForSpeaker_useLeAudioSpeakerAttributes() {
+ when(mLeAudioProfile.isEnabled(mBluetoothDevice)).thenReturn(true);
+ when(mA2dpProfile.isEnabled(mBluetoothDevice)).thenReturn(false);
+ when(mHearingAidProfile.isEnabled(mBluetoothDevice)).thenReturn(false);
+ when(mAudioManager.getBluetoothAudioDeviceCategory(MAC_ADDRESS))
+ .thenReturn(AudioManager.AUDIO_DEVICE_CATEGORY_SPEAKER);
+ when(mSpatializer.isAvailableForDevice(any())).thenReturn(true);
+
+ mController.refresh();
+ ShadowLooper.idleMainLooper();
+
+ assertThat(mController.mAudioDevice.getType()).isEqualTo(AudioDeviceInfo.TYPE_BLE_SPEAKER);
+ }
+
+ @Test
+ @EnableFlags(Flags.FLAG_ENABLE_DETERMINING_SPATIAL_AUDIO_ATTRIBUTES_BY_PROFILE)
+ public void refresh_hearingAidProfileEnabled_useHearingAidAttributes() {
+ when(mLeAudioProfile.isEnabled(mBluetoothDevice)).thenReturn(false);
+ when(mA2dpProfile.isEnabled(mBluetoothDevice)).thenReturn(false);
+ when(mHearingAidProfile.isEnabled(mBluetoothDevice)).thenReturn(true);
+ when(mSpatializer.isAvailableForDevice(any())).thenReturn(true);
+
+ mController.refresh();
+ ShadowLooper.idleMainLooper();
+
+ assertThat(mController.mAudioDevice.getType()).isEqualTo(AudioDeviceInfo.TYPE_HEARING_AID);
+ }
+
+ @Test
public void turnedOnSpatialAudio_invokesAddCompatibleAudioDevice() {
mController.setAvailableDevice(mAvailableDevice);
mSpatialAudioPref.setChecked(true);
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceGroupControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceGroupControllerTest.java
index d28ab3b..5a9f2bc 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceGroupControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceGroupControllerTest.java
@@ -17,6 +17,8 @@
import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
+import static com.android.settings.flags.Flags.FLAG_RESOLUTION_AND_ENABLE_CONNECTED_DISPLAY_SETTING;
+import static com.android.settings.flags.Flags.FLAG_ROTATION_CONNECTED_DISPLAY_SETTING;
import static com.google.common.truth.Truth.assertThat;
@@ -30,6 +32,7 @@
import android.bluetooth.BluetoothDevice;
import android.content.Context;
import android.content.pm.PackageManager;
+import android.content.res.Resources;
import android.hardware.input.InputManager;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
@@ -40,13 +43,16 @@
import androidx.preference.PreferenceGroup;
import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
import com.android.settings.bluetooth.ConnectedBluetoothDeviceUpdater;
import com.android.settings.bluetooth.Utils;
+import com.android.settings.connecteddevice.display.ExternalDisplayUpdater;
import com.android.settings.connecteddevice.dock.DockUpdater;
import com.android.settings.connecteddevice.stylus.StylusDeviceUpdater;
import com.android.settings.connecteddevice.usb.ConnectedUsbDeviceUpdater;
import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.flags.FakeFeatureFlagsImpl;
import com.android.settings.flags.Flags;
import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
@@ -65,7 +71,6 @@
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
import org.robolectric.Shadows;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplicationPackageManager;
@@ -84,6 +89,8 @@
@Mock
private DashboardFragment mDashboardFragment;
@Mock
+ private ExternalDisplayUpdater mExternalDisplayUpdater;
+ @Mock
private ConnectedBluetoothDeviceUpdater mConnectedBluetoothDeviceUpdater;
@Mock
private ConnectedUsbDeviceUpdater mConnectedUsbDeviceUpdater;
@@ -105,6 +112,9 @@
private CachedBluetoothDevice mCachedDevice;
@Mock
private BluetoothDevice mDevice;
+ @Mock
+ private Resources mResources;
+ private final FakeFeatureFlagsImpl mFakeFeatureFlags = new FakeFeatureFlagsImpl();
private ShadowApplicationPackageManager mPackageManager;
private PreferenceGroup mPreferenceGroup;
@@ -118,8 +128,10 @@
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
+ mFakeFeatureFlags.setFlag(FLAG_ROTATION_CONNECTED_DISPLAY_SETTING, true);
+ mFakeFeatureFlags.setFlag(FLAG_RESOLUTION_AND_ENABLE_CONNECTED_DISPLAY_SETTING, true);
- mContext = spy(RuntimeEnvironment.application);
+ mContext = spy(ApplicationProvider.getApplicationContext());
mPreference = new Preference(mContext);
mPreference.setKey(PREFERENCE_KEY_1);
mPackageManager = (ShadowApplicationPackageManager) Shadows.shadowOf(
@@ -129,15 +141,19 @@
doReturn(mContext).when(mDashboardFragment).getContext();
mPackageManager.setSystemFeature(PackageManager.FEATURE_BLUETOOTH, true);
when(mContext.getSystemService(InputManager.class)).thenReturn(mInputManager);
+ when(mContext.getResources()).thenReturn(mResources);
when(mInputManager.getInputDeviceIds()).thenReturn(new int[]{});
ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager;
mLocalBluetoothManager = Utils.getLocalBtManager(mContext);
when(mLocalBluetoothManager.getCachedDeviceManager()).thenReturn(mCachedDeviceManager);
- mConnectedDeviceGroupController = new ConnectedDeviceGroupController(mContext);
- mConnectedDeviceGroupController.init(mConnectedBluetoothDeviceUpdater,
- mConnectedUsbDeviceUpdater, mConnectedDockUpdater, mStylusDeviceUpdater);
+ mConnectedDeviceGroupController = spy(new ConnectedDeviceGroupController(mContext));
+ when(mConnectedDeviceGroupController.getFeatureFlags()).thenReturn(mFakeFeatureFlags);
+
+ mConnectedDeviceGroupController.init(mExternalDisplayUpdater,
+ mConnectedBluetoothDeviceUpdater, mConnectedUsbDeviceUpdater, mConnectedDockUpdater,
+ mStylusDeviceUpdater);
mConnectedDeviceGroupController.mPreferenceGroup = mPreferenceGroup;
when(mCachedDevice.getName()).thenReturn(DEVICE_NAME);
@@ -147,6 +163,7 @@
FeatureFlagUtils.setEnabled(mContext, FeatureFlagUtils.SETTINGS_SHOW_STYLUS_PREFERENCES,
true);
+ when(mPreferenceScreen.getContext()).thenReturn(mContext);
}
@Test
@@ -193,6 +210,7 @@
// register the callback in onStart()
mConnectedDeviceGroupController.onStart();
+ verify(mExternalDisplayUpdater).registerCallback();
verify(mConnectedBluetoothDeviceUpdater).registerCallback();
verify(mConnectedUsbDeviceUpdater).registerCallback();
verify(mConnectedDockUpdater).registerCallback();
@@ -204,6 +222,7 @@
public void onStop_shouldUnregisterUpdaters() {
// unregister the callback in onStop()
mConnectedDeviceGroupController.onStop();
+ verify(mExternalDisplayUpdater).unregisterCallback();
verify(mConnectedBluetoothDeviceUpdater).unregisterCallback();
verify(mConnectedUsbDeviceUpdater).unregisterCallback();
verify(mConnectedDockUpdater).unregisterCallback();
@@ -212,10 +231,12 @@
@Test
public void getAvailabilityStatus_noBluetoothUsbDockFeature_returnUnSupported() {
+ mFakeFeatureFlags.setFlag(FLAG_ROTATION_CONNECTED_DISPLAY_SETTING, false);
+ mFakeFeatureFlags.setFlag(FLAG_RESOLUTION_AND_ENABLE_CONNECTED_DISPLAY_SETTING, false);
mPackageManager.setSystemFeature(PackageManager.FEATURE_BLUETOOTH, false);
mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_ACCESSORY, false);
mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_HOST, false);
- mConnectedDeviceGroupController.init(mConnectedBluetoothDeviceUpdater,
+ mConnectedDeviceGroupController.init(null, mConnectedBluetoothDeviceUpdater,
mConnectedUsbDeviceUpdater, null, null);
assertThat(mConnectedDeviceGroupController.getAvailabilityStatus()).isEqualTo(
@@ -223,11 +244,23 @@
}
@Test
+ public void getAvailabilityStatus_connectedDisplay_returnSupported() {
+ mPackageManager.setSystemFeature(PackageManager.FEATURE_BLUETOOTH, false);
+ mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_ACCESSORY, false);
+ mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_HOST, false);
+ mConnectedDeviceGroupController.init(null, mConnectedBluetoothDeviceUpdater,
+ mConnectedUsbDeviceUpdater, null, null);
+
+ assertThat(mConnectedDeviceGroupController.getAvailabilityStatus()).isEqualTo(
+ AVAILABLE_UNSEARCHABLE);
+ }
+
+ @Test
public void getAvailabilityStatus_BluetoothFeature_returnSupported() {
mPackageManager.setSystemFeature(PackageManager.FEATURE_BLUETOOTH, true);
mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_ACCESSORY, false);
mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_HOST, false);
- mConnectedDeviceGroupController.init(mConnectedBluetoothDeviceUpdater,
+ mConnectedDeviceGroupController.init(null, mConnectedBluetoothDeviceUpdater,
mConnectedUsbDeviceUpdater, null, null);
assertThat(mConnectedDeviceGroupController.getAvailabilityStatus()).isEqualTo(
@@ -239,7 +272,7 @@
mPackageManager.setSystemFeature(PackageManager.FEATURE_BLUETOOTH, false);
mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_ACCESSORY, false);
mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_HOST, true);
- mConnectedDeviceGroupController.init(mConnectedBluetoothDeviceUpdater,
+ mConnectedDeviceGroupController.init(null, mConnectedBluetoothDeviceUpdater,
mConnectedUsbDeviceUpdater, null, null);
assertThat(mConnectedDeviceGroupController.getAvailabilityStatus()).isEqualTo(
@@ -251,7 +284,7 @@
mPackageManager.setSystemFeature(PackageManager.FEATURE_BLUETOOTH, false);
mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_ACCESSORY, false);
mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_HOST, false);
- mConnectedDeviceGroupController.init(mConnectedBluetoothDeviceUpdater,
+ mConnectedDeviceGroupController.init(null, mConnectedBluetoothDeviceUpdater,
mConnectedUsbDeviceUpdater, mConnectedDockUpdater, null);
assertThat(mConnectedDeviceGroupController.getAvailabilityStatus()).isEqualTo(
@@ -261,6 +294,8 @@
@Test
public void getAvailabilityStatus_noUsiStylusFeature_returnUnSupported() {
+ mFakeFeatureFlags.setFlag(FLAG_ROTATION_CONNECTED_DISPLAY_SETTING, false);
+ mFakeFeatureFlags.setFlag(FLAG_RESOLUTION_AND_ENABLE_CONNECTED_DISPLAY_SETTING, false);
mPackageManager.setSystemFeature(PackageManager.FEATURE_BLUETOOTH, false);
mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_ACCESSORY, false);
mPackageManager.setSystemFeature(PackageManager.FEATURE_USB_HOST, false);
@@ -268,7 +303,7 @@
when(mInputManager.getInputDevice(0)).thenReturn(new InputDevice.Builder().setSources(
InputDevice.SOURCE_DPAD).setExternal(false).build());
- mConnectedDeviceGroupController.init(mConnectedBluetoothDeviceUpdater,
+ mConnectedDeviceGroupController.init(null, mConnectedBluetoothDeviceUpdater,
mConnectedUsbDeviceUpdater, null, mStylusDeviceUpdater);
assertThat(mConnectedDeviceGroupController.getAvailabilityStatus()).isEqualTo(
@@ -284,7 +319,7 @@
when(mInputManager.getInputDevice(0)).thenReturn(new InputDevice.Builder().setSources(
InputDevice.SOURCE_STYLUS).setExternal(false).build());
- mConnectedDeviceGroupController.init(mConnectedBluetoothDeviceUpdater,
+ mConnectedDeviceGroupController.init(null, mConnectedBluetoothDeviceUpdater,
mConnectedUsbDeviceUpdater, mConnectedDockUpdater, mStylusDeviceUpdater);
assertThat(mConnectedDeviceGroupController.getAvailabilityStatus()).isEqualTo(
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioDialogFragmentTest.java
index 7f0c1c9..51ed899 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCallAudioDialogFragmentTest.java
@@ -23,6 +23,7 @@
import android.app.settings.SettingsEnums;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothStatusCodes;
+import android.os.Bundle;
import android.platform.test.flag.junit.SetFlagsRule;
import androidx.appcompat.app.AlertDialog;
@@ -78,10 +79,6 @@
BluetoothStatusCodes.FEATURE_SUPPORTED);
shadowBluetoothAdapter.setIsLeAudioBroadcastAssistantSupported(
BluetoothStatusCodes.FEATURE_SUPPORTED);
- mFragment = new AudioSharingCallAudioDialogFragment();
- mParent = new Fragment();
- FragmentController.setupFragment(
- mParent, FragmentActivity.class, /* containerViewId= */ 0, /* bundle= */ null);
}
@After
@@ -91,6 +88,7 @@
@Test
public void getMetricsCategory_correctValue() {
+ mFragment = new AudioSharingCallAudioDialogFragment();
assertThat(mFragment.getMetricsCategory())
.isEqualTo(SettingsEnums.DIALOG_AUDIO_SHARING_CALL_AUDIO);
}
@@ -98,21 +96,52 @@
@Test
public void onCreateDialog_flagOff_dialogNotExist() {
mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
- mFragment.show(mParent, new ArrayList<>(), (item) -> {});
+ mParent = new Fragment();
+ FragmentController.setupFragment(
+ mParent, FragmentActivity.class, /* containerViewId= */ 0, /* bundle= */ null);
+ AudioSharingCallAudioDialogFragment.show(mParent, new ArrayList<>(), (item) -> {});
shadowMainLooper().idle();
AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
assertThat(dialog).isNull();
}
@Test
+ public void onCreateDialog_unattachedFragment_dialogNotExist() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ mParent = new Fragment();
+ AudioSharingCallAudioDialogFragment.show(mParent, new ArrayList<>(), (item) -> {});
+ shadowMainLooper().idle();
+ AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+ assertThat(dialog).isNull();
+ }
+
+ @Test
+ public void onCreateDialog_nullDeviceItems_showEmptyDialog() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ mFragment = new AudioSharingCallAudioDialogFragment();
+ mFragment.setArguments(Bundle.EMPTY);
+ FragmentController.setupFragment(
+ mFragment, FragmentActivity.class, /* containerViewId= */ 0, /* bundle= */ null);
+ AlertDialog dialog = (AlertDialog) mFragment.onCreateDialog(Bundle.EMPTY);
+ dialog.show();
+ shadowMainLooper().idle();
+ assertThat(dialog.isShowing()).isTrue();
+ assertThat(dialog.getListView()).isNull();
+ }
+
+ @Test
public void onCreateDialog_showCorrectItems() {
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ mParent = new Fragment();
+ FragmentController.setupFragment(
+ mParent, FragmentActivity.class, /* containerViewId= */ 0, /* bundle= */ null);
ArrayList<AudioSharingDeviceItem> deviceItemList = new ArrayList<>();
deviceItemList.add(TEST_DEVICE_ITEM1);
deviceItemList.add(TEST_DEVICE_ITEM2);
- mFragment.show(mParent, deviceItemList, (item) -> {});
+ AudioSharingCallAudioDialogFragment.show(mParent, deviceItemList, (item) -> {});
shadowMainLooper().idle();
AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+ assertThat(dialog).isNotNull();
assertThat(dialog.getListView().getCount()).isEqualTo(2);
}
}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingConfirmDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingConfirmDialogFragmentTest.java
index 32f666f..9aa00fb 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingConfirmDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingConfirmDialogFragmentTest.java
@@ -96,6 +96,15 @@
}
@Test
+ public void onCreateDialog_unattachedFragment_dialogNotExist() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ AudioSharingConfirmDialogFragment.show(new Fragment());
+ shadowMainLooper().idle();
+ AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+ assertThat(dialog).isNull();
+ }
+
+ @Test
public void onCreateDialog_flagOn_showDialog() {
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
AudioSharingConfirmDialogFragment.show(mParent);
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragmentTest.java
index 39709c1..20c225c 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragmentTest.java
@@ -130,7 +130,16 @@
AudioSharingDialogFragment.show(
mParent, new ArrayList<>(), EMPTY_EVENT_LISTENER, TEST_EVENT_DATA_LIST);
shadowMainLooper().idle();
+ AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+ assertThat(dialog).isNull();
+ }
+ @Test
+ public void onCreateDialog_unattachedFragment_dialogNotExist() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ AudioSharingDialogFragment.show(
+ new Fragment(), new ArrayList<>(), EMPTY_EVENT_LISTENER, TEST_EVENT_DATA_LIST);
+ shadowMainLooper().idle();
AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
assertThat(dialog).isNull();
}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandlerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandlerTest.java
index a7e6f56..e71e876 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandlerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogHandlerTest.java
@@ -249,6 +249,23 @@
}
@Test
+ public void handleUserTriggeredLeaDeviceConnected_noSharingLeaDeviceInErrorState_setActive() {
+ setUpBroadcast(false);
+ when(mCachedDevice1.getGroupId()).thenReturn(-1);
+ when(mLeAudioProfile.getGroupId(mDevice1)).thenReturn(-1);
+ ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1, mDevice3);
+ when(mAssistant.getDevicesMatchingConnectionStates(
+ new int[] {BluetoothProfile.STATE_CONNECTED}))
+ .thenReturn(deviceList);
+ when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of());
+ mHandler.handleDeviceConnected(mCachedDevice1, /* userTriggered= */ true);
+ shadowOf(Looper.getMainLooper()).idle();
+ List<Fragment> childFragments = mParentFragment.getChildFragmentManager().getFragments();
+ assertThat(childFragments).isEmpty();
+ verify(mCachedDevice1).setActive();
+ }
+
+ @Test
public void handleUserTriggeredLeaDeviceConnected_noSharingTwoLeaDevices_showJoinDialog() {
setUpBroadcast(false);
ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1, mDevice3);
@@ -452,6 +469,23 @@
}
@Test
+ public void handleLeaDeviceConnected_noSharingLeaDeviceInErrorState_doNothing() {
+ setUpBroadcast(false);
+ when(mCachedDevice1.getGroupId()).thenReturn(-1);
+ when(mLeAudioProfile.getGroupId(mDevice1)).thenReturn(-1);
+ ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1, mDevice3);
+ when(mAssistant.getDevicesMatchingConnectionStates(
+ new int[] {BluetoothProfile.STATE_CONNECTED}))
+ .thenReturn(deviceList);
+ when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of());
+ mHandler.handleDeviceConnected(mCachedDevice1, /* userTriggered= */ false);
+ shadowOf(Looper.getMainLooper()).idle();
+ List<Fragment> childFragments = mParentFragment.getChildFragmentManager().getFragments();
+ assertThat(childFragments).isEmpty();
+ verify(mCachedDevice1, never()).setActive();
+ }
+
+ @Test
public void handleLeaDeviceConnected_noSharingTwoLeaDevices_showJoinDialog() {
setUpBroadcast(false);
ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1, mDevice3);
@@ -614,6 +648,15 @@
}
@Test
+ public void closeOpeningDialogsForLeaDevice_unattachedFragment_doNothing() {
+ mParentFragment = new Fragment();
+ mHandler = new AudioSharingDialogHandler(mContext, mParentFragment);
+ mHandler.closeOpeningDialogsForLeaDevice(mCachedDevice1);
+ shadowOf(Looper.getMainLooper()).idle();
+ verifyNoMoreInteractions(mFeatureFactory.metricsFeatureProvider);
+ }
+
+ @Test
public void closeOpeningDialogsForLeaDevice_closeDisconnectDialog() {
// Show disconnect dialog
setUpBroadcast(true);
@@ -641,6 +684,15 @@
}
@Test
+ public void closeOpeningDialogsForNonLeaDevice_unattachedFragment_doNothing() {
+ mParentFragment = new Fragment();
+ mHandler = new AudioSharingDialogHandler(mContext, mParentFragment);
+ mHandler.closeOpeningDialogsForNonLeaDevice(mCachedDevice2);
+ shadowOf(Looper.getMainLooper()).idle();
+ verifyNoMoreInteractions(mFeatureFactory.metricsFeatureProvider);
+ }
+
+ @Test
public void closeOpeningDialogsForNonLeaDevice_closeStopDialog() {
// Show stop dialog
setUpBroadcast(true);
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragmentTest.java
index 6b984af..86b0d65 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragmentTest.java
@@ -154,6 +154,23 @@
}
@Test
+ public void onCreateDialog_unattachedFragment_dialogNotExist() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ mDeviceItems = new ArrayList<>();
+ mDeviceItems.add(TEST_DEVICE_ITEM1);
+ mDeviceItems.add(TEST_DEVICE_ITEM2);
+ AudioSharingDisconnectDialogFragment.show(
+ new Fragment(),
+ mDeviceItems,
+ mCachedDevice3,
+ EMPTY_EVENT_LISTENER,
+ TEST_EVENT_DATA_LIST);
+ shadowMainLooper().idle();
+ AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+ assertThat(dialog).isNull();
+ }
+
+ @Test
public void onCreateDialog_flagOn_dialogShowBtnForTwoDevices() {
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
mDeviceItems = new ArrayList<>();
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragmentTest.java
index 13ea965..2310d75 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragmentTest.java
@@ -164,6 +164,20 @@
}
@Test
+ public void onCreateDialog_unattachedFragment_dialogNotExist() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ AudioSharingJoinDialogFragment.show(
+ new Fragment(),
+ new ArrayList<>(),
+ mCachedDevice2,
+ EMPTY_EVENT_LISTENER,
+ TEST_EVENT_DATA_LIST);
+ shadowMainLooper().idle();
+ AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+ assertThat(dialog).isNull();
+ }
+
+ @Test
public void onCreateDialog_flagOn_dialogShowTextForSingleDevice() {
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
AudioSharingJoinDialogFragment.show(
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceControllerTest.java
new file mode 100644
index 0000000..618e021
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceControllerTest.java
@@ -0,0 +1,319 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.connecteddevice.audiosharing;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.settings.SettingsEnums;
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothLeBroadcast;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothStatusCodes;
+import android.content.Context;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
+import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
+import com.android.settingslib.bluetooth.BluetoothEventManager;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
+import com.android.settingslib.bluetooth.VolumeControlProfile;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.flags.Flags;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadow.api.Shadow;
+import org.robolectric.shadows.ShadowLooper;
+
+import java.util.concurrent.Executor;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+ shadows = {
+ ShadowBluetoothAdapter.class,
+ ShadowBluetoothUtils.class,
+ })
+public class AudioSharingNamePreferenceControllerTest {
+ private static final String PREF_KEY = "audio_sharing_stream_name";
+ private static final String BROADCAST_NAME = "broadcast_name";
+ private static final CharSequence UPDATED_NAME = "updated_name";
+
+ @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+ @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+ @Spy Context mContext = ApplicationProvider.getApplicationContext();
+ @Mock private LocalBluetoothLeBroadcast mBroadcast;
+ @Mock private LocalBluetoothLeBroadcastAssistant mAssistant;
+ @Mock private VolumeControlProfile mVolumeControl;
+ @Mock private LocalBluetoothManager mLocalBtManager;
+ @Mock private BluetoothEventManager mEventManager;
+ @Mock private LocalBluetoothProfileManager mProfileManager;
+ @Mock private PreferenceScreen mScreen;
+ private AudioSharingNamePreferenceController mController;
+ private ShadowBluetoothAdapter mShadowBluetoothAdapter;
+ private Lifecycle mLifecycle;
+ private LifecycleOwner mLifecycleOwner;
+ private AudioSharingNamePreference mPreference;
+ private FakeFeatureFactory mFeatureFactory;
+
+ @Before
+ public void setUp() {
+ mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+ mShadowBluetoothAdapter.setEnabled(true);
+ mShadowBluetoothAdapter.setIsLeAudioBroadcastSourceSupported(
+ BluetoothStatusCodes.FEATURE_SUPPORTED);
+ mShadowBluetoothAdapter.setIsLeAudioBroadcastAssistantSupported(
+ BluetoothStatusCodes.FEATURE_SUPPORTED);
+ ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBtManager;
+ mLocalBtManager = Utils.getLocalBtManager(mContext);
+ when(mLocalBtManager.getEventManager()).thenReturn(mEventManager);
+ when(mLocalBtManager.getProfileManager()).thenReturn(mProfileManager);
+ when(mProfileManager.getLeAudioBroadcastProfile()).thenReturn(mBroadcast);
+ when(mProfileManager.getLeAudioBroadcastAssistantProfile()).thenReturn(mAssistant);
+ when(mProfileManager.getVolumeControlProfile()).thenReturn(mVolumeControl);
+ when(mBroadcast.isProfileReady()).thenReturn(true);
+ when(mAssistant.isProfileReady()).thenReturn(true);
+ when(mVolumeControl.isProfileReady()).thenReturn(true);
+ when(mBroadcast.isProfileReady()).thenReturn(true);
+ mFeatureFactory = FakeFeatureFactory.setupForTest();
+ mLifecycleOwner = () -> mLifecycle;
+ mLifecycle = new Lifecycle(mLifecycleOwner);
+ mController = new AudioSharingNamePreferenceController(mContext, PREF_KEY);
+ mPreference = spy(new AudioSharingNamePreference(mContext));
+ when(mScreen.findPreference(PREF_KEY)).thenReturn(mPreference);
+ }
+
+ @Test
+ public void getAvailabilityStatus_flagOn_available() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+ }
+
+ @Test
+ public void getAvailabilityStatus_flagOff_unsupported() {
+ mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
+ }
+
+ @Test
+ public void onStart_flagOff_doNothing() {
+ mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ mController.onStart(mLifecycleOwner);
+ verify(mBroadcast, never())
+ .registerServiceCallBack(
+ any(Executor.class), any(BluetoothLeBroadcast.Callback.class));
+ }
+
+ @Test
+ public void onStart_flagOn_registerCallbacks() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ mController.onStart(mLifecycleOwner);
+ verify(mBroadcast)
+ .registerServiceCallBack(
+ any(Executor.class), any(BluetoothLeBroadcast.Callback.class));
+ }
+
+ @Test
+ public void onStart_flagOn_serviceNotReady_registerCallbacks() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ when(mBroadcast.isProfileReady()).thenReturn(false);
+ mController.onStart(mLifecycleOwner);
+ verify(mProfileManager)
+ .addServiceListener(any(LocalBluetoothProfileManager.ServiceListener.class));
+ }
+
+ @Test
+ public void onServiceConnected_removeCallbacks() {
+ mController.onServiceConnected();
+ verify(mProfileManager)
+ .removeServiceListener(any(LocalBluetoothProfileManager.ServiceListener.class));
+ }
+
+ @Test
+ public void onStop_flagOff_doNothing() {
+ mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ mController.onStart(mLifecycleOwner);
+ mController.onStop(mLifecycleOwner);
+ verify(mBroadcast, never())
+ .unregisterServiceCallBack(any(BluetoothLeBroadcast.Callback.class));
+ }
+
+ @Test
+ public void onStop_flagOn_unregisterCallbacks() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ mController.onStart(mLifecycleOwner);
+ mController.onStop(mLifecycleOwner);
+ verify(mBroadcast).unregisterServiceCallBack(any(BluetoothLeBroadcast.Callback.class));
+ }
+
+ @Test
+ public void displayPreference_updateName_showIcon() {
+ when(mBroadcast.getBroadcastName()).thenReturn(BROADCAST_NAME);
+ when(mBroadcast.isEnabled(any())).thenReturn(true);
+ mController.displayPreference(mScreen);
+ ShadowLooper.idleMainLooper();
+
+ assertThat(mPreference.getText()).isEqualTo(BROADCAST_NAME);
+ assertThat(mPreference.getSummary()).isEqualTo(BROADCAST_NAME);
+ verify(mPreference).setValidator(any());
+ verify(mPreference).setShowQrCodeIcon(true);
+ }
+
+ @Test
+ public void displayPreference_updateName_hideIcon() {
+ when(mBroadcast.getBroadcastName()).thenReturn(BROADCAST_NAME);
+ when(mBroadcast.isEnabled(any())).thenReturn(false);
+ mController.displayPreference(mScreen);
+ ShadowLooper.idleMainLooper();
+
+ assertThat(mPreference.getText()).isEqualTo(BROADCAST_NAME);
+ assertThat(mPreference.getSummary()).isEqualTo(BROADCAST_NAME);
+ verify(mPreference).setValidator(any());
+ verify(mPreference).setShowQrCodeIcon(false);
+ }
+
+ @Test
+ public void onPreferenceChange_noChange_doNothing() {
+ when(mPreference.getSummary()).thenReturn(BROADCAST_NAME);
+ mController.displayPreference(mScreen);
+ boolean changed = mController.onPreferenceChange(mPreference, BROADCAST_NAME);
+ ShadowLooper.idleMainLooper();
+
+ verify(mBroadcast, never()).setBroadcastName(anyString());
+ verify(mBroadcast, never()).setProgramInfo(anyString());
+ verify(mBroadcast, never()).updateBroadcast();
+ verify(mFeatureFactory.metricsFeatureProvider, never()).action(any(), anyInt(), anyInt());
+
+ assertThat(changed).isFalse();
+ }
+
+ @Test
+ public void onPreferenceChange_changed_updateName_broadcasting() {
+ when(mPreference.getSummary()).thenReturn(BROADCAST_NAME);
+ when(mBroadcast.isEnabled(any())).thenReturn(true);
+ mController.displayPreference(mScreen);
+ boolean changed = mController.onPreferenceChange(mPreference, UPDATED_NAME);
+ ShadowLooper.idleMainLooper();
+
+ verify(mBroadcast).setBroadcastName(UPDATED_NAME.toString());
+ verify(mBroadcast).setProgramInfo(UPDATED_NAME.toString());
+ verify(mBroadcast).updateBroadcast();
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(mContext, SettingsEnums.ACTION_AUDIO_STREAM_NAME_UPDATED, 1);
+ assertThat(changed).isTrue();
+ }
+
+ @Test
+ public void onPreferenceChange_changed_updateName_notBroadcasting() {
+ when(mPreference.getSummary()).thenReturn(BROADCAST_NAME);
+ when(mBroadcast.isEnabled(any())).thenReturn(false);
+ mController.displayPreference(mScreen);
+ boolean changed = mController.onPreferenceChange(mPreference, UPDATED_NAME);
+ ShadowLooper.idleMainLooper();
+
+ verify(mBroadcast).setBroadcastName(UPDATED_NAME.toString());
+ verify(mBroadcast).setProgramInfo(UPDATED_NAME.toString());
+ verify(mBroadcast, never()).updateBroadcast();
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(mContext, SettingsEnums.ACTION_AUDIO_STREAM_NAME_UPDATED, 0);
+ assertThat(changed).isTrue();
+ }
+
+ @Test
+ public void unrelatedCallbacks_doNotUpdateIcon() {
+ mController.displayPreference(mScreen);
+ mController.mBroadcastCallback.onBroadcastStartFailed(/* reason= */ 0);
+ mController.mBroadcastCallback.onBroadcastStarted(/* reason= */ 0, /* broadcastId= */ 0);
+ mController.mBroadcastCallback.onBroadcastStopFailed(/* reason= */ 0);
+ mController.mBroadcastCallback.onBroadcastUpdateFailed(
+ /* reason= */ 0, /* broadcastId= */ 0);
+ mController.mBroadcastCallback.onBroadcastUpdated(/* reason= */ 0, /* broadcastId= */ 0);
+ mController.mBroadcastCallback.onPlaybackStarted(/* reason= */ 0, /* broadcastId= */ 0);
+ mController.mBroadcastCallback.onPlaybackStopped(/* reason= */ 0, /* broadcastId= */ 0);
+
+ ShadowLooper.idleMainLooper();
+ // Should be called once in displayPreference, but not called after callbacks
+ verify(mPreference).setShowQrCodeIcon(anyBoolean());
+ }
+
+ @Test
+ public void broadcastOnCallback_updateIcon() {
+ mController.displayPreference(mScreen);
+ mController.mBroadcastCallback.onBroadcastMetadataChanged(
+ /* broadcastId= */ 0, mock(BluetoothLeBroadcastMetadata.class));
+
+ ShadowLooper.idleMainLooper();
+
+ // Should be called twice, in displayPreference and also after callback
+ verify(mPreference, times(2)).setShowQrCodeIcon(anyBoolean());
+ }
+
+ @Test
+ public void broadcastStopCallback_updateIcon() {
+ mController.displayPreference(mScreen);
+ mController.mBroadcastCallback.onBroadcastStopped(/* reason= */ 0, /* broadcastId= */ 0);
+
+ ShadowLooper.idleMainLooper();
+
+ // Should be called twice, in displayPreference and also after callback
+ verify(mPreference, times(2)).setShowQrCodeIcon(anyBoolean());
+ }
+
+ @Test
+ public void idTextValid_emptyString() {
+ boolean valid = mController.isTextValid("");
+
+ assertThat(valid).isFalse();
+ }
+
+ @Test
+ public void idTextValid_validName() {
+ boolean valid = mController.isTextValid("valid name");
+
+ assertThat(valid).isTrue();
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceTest.java
new file mode 100644
index 0000000..13e2a9d
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceTest.java
@@ -0,0 +1,141 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.connecteddevice.audiosharing;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.ImageButton;
+import android.widget.LinearLayout;
+
+import androidx.preference.PreferenceViewHolder;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.SettingsActivity;
+import com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsQrCodeFragment;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class AudioSharingNamePreferenceTest {
+ @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+ private Context mContext;
+ private AudioSharingNamePreference mPreference;
+
+ @Before
+ public void setup() {
+ mContext = ApplicationProvider.getApplicationContext();
+ mPreference = spy(new AudioSharingNamePreference(mContext, null));
+ }
+
+ @Test
+ public void initialize_correctLayout() {
+ assertThat(mPreference.getLayoutResource())
+ .isEqualTo(
+ com.android.settingslib.widget.preference.twotarget.R.layout
+ .preference_two_target);
+ assertThat(mPreference.getWidgetLayoutResource())
+ .isEqualTo(R.layout.preference_widget_qrcode);
+ }
+
+ @Test
+ public void onBindViewHolder_correctLayout_noQrCodeButton() {
+ LayoutInflater inflater = LayoutInflater.from(mContext);
+ View view = inflater.inflate(mPreference.getLayoutResource(), null);
+ LinearLayout widgetView = view.findViewById(android.R.id.widget_frame);
+ assertThat(widgetView).isNotNull();
+ inflater.inflate(mPreference.getWidgetLayoutResource(), widgetView, true);
+
+ var holder = PreferenceViewHolder.createInstanceForTests(view);
+ mPreference.setShowQrCodeIcon(false);
+ mPreference.onBindViewHolder(holder);
+
+ ImageButton shareButton = (ImageButton) holder.findViewById(R.id.button_icon);
+ View divider =
+ holder.findViewById(
+ com.android.settingslib.widget.preference.twotarget.R.id
+ .two_target_divider);
+
+ assertThat(shareButton).isNotNull();
+ assertThat(shareButton.getVisibility()).isEqualTo(View.GONE);
+ assertThat(shareButton.hasOnClickListeners()).isFalse();
+ assertThat(divider).isNotNull();
+ assertThat(divider.getVisibility()).isEqualTo(View.GONE);
+ }
+
+ @Test
+ public void onBindViewHolder_correctLayout_showQrCodeButton() {
+ LayoutInflater inflater = LayoutInflater.from(mContext);
+ View view = inflater.inflate(mPreference.getLayoutResource(), null);
+ LinearLayout widgetView = view.findViewById(android.R.id.widget_frame);
+ assertThat(widgetView).isNotNull();
+ inflater.inflate(mPreference.getWidgetLayoutResource(), widgetView, true);
+
+ var holder = PreferenceViewHolder.createInstanceForTests(view);
+ mPreference.setShowQrCodeIcon(true);
+ mPreference.onBindViewHolder(holder);
+
+ ImageButton shareButton = (ImageButton) holder.findViewById(R.id.button_icon);
+ View divider =
+ holder.findViewById(
+ com.android.settingslib.widget.preference.twotarget.R.id
+ .two_target_divider);
+
+ assertThat(shareButton).isNotNull();
+ assertThat(shareButton.getVisibility()).isEqualTo(View.VISIBLE);
+ assertThat(shareButton.getDrawable()).isNotNull();
+ assertThat(shareButton.hasOnClickListeners()).isTrue();
+ assertThat(divider).isNotNull();
+ assertThat(divider.getVisibility()).isEqualTo(View.VISIBLE);
+
+ // mContext is not an Activity context, calling startActivity() from outside of an Activity
+ // context requires the FLAG_ACTIVITY_NEW_TASK flag, create a mock to avoid this
+ // AndroidRuntimeException.
+ Context activityContext = mock(Context.class);
+ when(mPreference.getContext()).thenReturn(activityContext);
+ shareButton.callOnClick();
+
+ ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
+ verify(activityContext).startActivity(argumentCaptor.capture());
+
+ Intent intent = argumentCaptor.getValue();
+ assertThat(intent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+ .isEqualTo(AudioStreamsQrCodeFragment.class.getName());
+ assertThat(intent.getIntExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RESID, 0))
+ .isEqualTo(R.string.audio_streams_qr_code_page_title);
+ assertThat(intent.getIntExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY, 0))
+ .isEqualTo(SettingsEnums.AUDIO_SHARING_SETTINGS);
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNameTextValidatorTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNameTextValidatorTest.java
new file mode 100644
index 0000000..ada6117
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNameTextValidatorTest.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.connecteddevice.audiosharing;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class AudioSharingNameTextValidatorTest {
+ private AudioSharingNameTextValidator mValidator;
+
+ @Before
+ public void setUp() {
+ mValidator = new AudioSharingNameTextValidator();
+ }
+
+ @Test
+ public void testValidNames() {
+ assertThat(mValidator.isTextValid("ValidName")).isTrue();
+ assertThat(mValidator.isTextValid("12345678")).isTrue();
+ assertThat(mValidator.isTextValid("Name_With_Underscores")).isTrue();
+ assertThat(mValidator.isTextValid("ÄÖÜß")).isTrue();
+ assertThat(mValidator.isTextValid("ThisNameIsExactly32Characters!")).isTrue();
+ }
+
+ @Test
+ public void testInvalidNames() {
+ assertThat(mValidator.isTextValid(null)).isFalse();
+ assertThat(mValidator.isTextValid("")).isFalse();
+ assertThat(mValidator.isTextValid("abc")).isFalse();
+ assertThat(mValidator.isTextValid("ThisNameIsWayTooLongForAnAudioSharingName")).isFalse();
+ assertThat(mValidator.isTextValid("Invalid\uDC00")).isFalse();
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordPreferenceControllerTest.java
new file mode 100644
index 0000000..5bfb966
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordPreferenceControllerTest.java
@@ -0,0 +1,335 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.connecteddevice.audiosharing;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.settings.SettingsEnums;
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothStatusCodes;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.database.ContentObserver;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
+import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.flags.Flags;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadow.api.Shadow;
+import org.robolectric.shadows.ShadowLooper;
+
+import java.nio.charset.StandardCharsets;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+ shadows = {
+ ShadowBluetoothAdapter.class,
+ ShadowBluetoothUtils.class,
+ })
+public class AudioSharingPasswordPreferenceControllerTest {
+ private static final String PREF_KEY = "audio_sharing_stream_password";
+ private static final String SHARED_PREF_KEY = "default_password";
+ private static final String BROADCAST_PASSWORD = "password";
+ private static final String EDITTEXT_PASSWORD = "edittext_password";
+ private static final String HIDDEN_PASSWORD = "********";
+
+ @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+ @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+ @Spy Context mContext = ApplicationProvider.getApplicationContext();
+ @Mock private LocalBluetoothLeBroadcast mBroadcast;
+ @Mock private LocalBluetoothManager mLocalBtManager;
+ @Mock private LocalBluetoothProfileManager mProfileManager;
+ @Mock private SharedPreferences mSharedPreferences;
+ @Mock private SharedPreferences.Editor mEditor;
+ @Mock private ContentResolver mContentResolver;
+ @Mock private PreferenceScreen mScreen;
+ private AudioSharingPasswordPreferenceController mController;
+ private ShadowBluetoothAdapter mShadowBluetoothAdapter;
+ private Lifecycle mLifecycle;
+ private LifecycleOwner mLifecycleOwner;
+ private AudioSharingPasswordPreference mPreference;
+ private FakeFeatureFactory mFeatureFactory;
+
+ @Before
+ public void setUp() {
+ mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+ mShadowBluetoothAdapter.setEnabled(true);
+ mShadowBluetoothAdapter.setIsLeAudioBroadcastSourceSupported(
+ BluetoothStatusCodes.FEATURE_SUPPORTED);
+ mShadowBluetoothAdapter.setIsLeAudioBroadcastAssistantSupported(
+ BluetoothStatusCodes.FEATURE_SUPPORTED);
+ mLocalBtManager = Utils.getLocalBtManager(mContext);
+ when(mLocalBtManager.getProfileManager()).thenReturn(mProfileManager);
+ when(mProfileManager.getLeAudioBroadcastProfile()).thenReturn(mBroadcast);
+ mFeatureFactory = FakeFeatureFactory.setupForTest();
+ when(mContext.getContentResolver()).thenReturn(mContentResolver);
+ when(mContext.getSharedPreferences(anyString(), anyInt())).thenReturn(mSharedPreferences);
+ when(mSharedPreferences.edit()).thenReturn(mEditor);
+ when(mEditor.putString(anyString(), anyString())).thenReturn(mEditor);
+ mLifecycleOwner = () -> mLifecycle;
+ mLifecycle = new Lifecycle(mLifecycleOwner);
+ mController = new AudioSharingPasswordPreferenceController(mContext, PREF_KEY);
+ mPreference = spy(new AudioSharingPasswordPreference(mContext));
+ when(mScreen.findPreference(PREF_KEY)).thenReturn(mPreference);
+ }
+
+ @Test
+ public void getAvailabilityStatus_flagOn_available() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+ }
+
+ @Test
+ public void getAvailabilityStatus_flagOff_unsupported() {
+ mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
+ }
+
+ @Test
+ public void onStart_flagOff_doNothing() {
+ mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ mController.onStart(mLifecycleOwner);
+ verify(mContentResolver, never()).registerContentObserver(any(), anyBoolean(), any());
+ verify(mSharedPreferences, never()).registerOnSharedPreferenceChangeListener(any());
+ }
+
+ @Test
+ public void onStart_flagOn_registerCallbacks() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ mController.onStart(mLifecycleOwner);
+ verify(mContentResolver).registerContentObserver(any(), anyBoolean(), any());
+ verify(mSharedPreferences).registerOnSharedPreferenceChangeListener(any());
+ }
+
+ @Test
+ public void onStop_flagOff_doNothing() {
+ mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ mController.onStop(mLifecycleOwner);
+ verify(mContentResolver, never()).unregisterContentObserver(any());
+ verify(mSharedPreferences, never()).unregisterOnSharedPreferenceChangeListener(any());
+ }
+
+ @Test
+ public void onStop_flagOn_registerCallbacks() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ mController.onStop(mLifecycleOwner);
+ verify(mContentResolver).unregisterContentObserver(any());
+ verify(mSharedPreferences).unregisterOnSharedPreferenceChangeListener(any());
+ }
+
+ @Test
+ public void displayPreference_setupPreference_noPassword() {
+ when(mSharedPreferences.getString(anyString(), anyString())).thenReturn(EDITTEXT_PASSWORD);
+ when(mBroadcast.getBroadcastCode()).thenReturn(new byte[] {});
+
+ mController.displayPreference(mScreen);
+ ShadowLooper.idleMainLooper();
+
+ assertThat(mPreference.isPassword()).isTrue();
+ assertThat(mPreference.getDialogLayoutResource())
+ .isEqualTo(R.layout.audio_sharing_password_dialog);
+ assertThat(mPreference.getText()).isEqualTo(EDITTEXT_PASSWORD);
+ assertThat(mPreference.getSummary())
+ .isEqualTo(mContext.getString(R.string.audio_streams_no_password_summary));
+ verify(mPreference).setValidator(any());
+ verify(mPreference).setOnDialogEventListener(any());
+ }
+
+ @Test
+ public void contentObserver_updatePreferenceOnChange() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ when(mBroadcast.getBroadcastCode())
+ .thenReturn(BROADCAST_PASSWORD.getBytes(StandardCharsets.UTF_8));
+ mController.onStart(mLifecycleOwner);
+ mController.displayPreference(mScreen);
+ ShadowLooper.idleMainLooper();
+
+ ArgumentCaptor<ContentObserver> observerCaptor =
+ ArgumentCaptor.forClass(ContentObserver.class);
+ verify(mContentResolver)
+ .registerContentObserver(any(), anyBoolean(), observerCaptor.capture());
+
+ var observer = observerCaptor.getValue();
+ assertThat(observer).isNotNull();
+ observer.onChange(true);
+ verify(mPreference).setText(anyString());
+ verify(mPreference).setSummary(anyString());
+ }
+
+ @Test
+ public void sharedPrefChangeListener_updatePreferenceOnChange() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ when(mBroadcast.getBroadcastCode())
+ .thenReturn(BROADCAST_PASSWORD.getBytes(StandardCharsets.UTF_8));
+ mController.onStart(mLifecycleOwner);
+ mController.displayPreference(mScreen);
+ ShadowLooper.idleMainLooper();
+
+ ArgumentCaptor<SharedPreferences.OnSharedPreferenceChangeListener> captor =
+ ArgumentCaptor.forClass(SharedPreferences.OnSharedPreferenceChangeListener.class);
+ verify(mSharedPreferences).registerOnSharedPreferenceChangeListener(captor.capture());
+
+ var observer = captor.getValue();
+ assertThat(captor).isNotNull();
+ observer.onSharedPreferenceChanged(mSharedPreferences, SHARED_PREF_KEY);
+ verify(mPreference).setText(anyString());
+ verify(mPreference).setSummary(anyString());
+ }
+
+ @Test
+ public void displayPreference_setupPreference_hasPassword() {
+ when(mBroadcast.getBroadcastCode())
+ .thenReturn(BROADCAST_PASSWORD.getBytes(StandardCharsets.UTF_8));
+ mController.displayPreference(mScreen);
+ ShadowLooper.idleMainLooper();
+
+ assertThat(mPreference.isPassword()).isTrue();
+ assertThat(mPreference.getDialogLayoutResource())
+ .isEqualTo(R.layout.audio_sharing_password_dialog);
+ assertThat(mPreference.getText()).isEqualTo(BROADCAST_PASSWORD);
+ assertThat(mPreference.getSummary()).isEqualTo(HIDDEN_PASSWORD);
+ verify(mPreference).setValidator(any());
+ verify(mPreference).setOnDialogEventListener(any());
+ }
+
+ @Test
+ public void onBindDialogView_updatePreference_isBroadcasting_noPassword() {
+ when(mBroadcast.getBroadcastCode()).thenReturn(new byte[] {});
+ when(mBroadcast.isEnabled(any())).thenReturn(true);
+ mController.displayPreference(mScreen);
+ mController.onBindDialogView();
+ ShadowLooper.idleMainLooper();
+
+ verify(mPreference).setEditable(false);
+ verify(mPreference).setChecked(true);
+ }
+
+ @Test
+ public void onBindDialogView_updatePreference_isNotBroadcasting_hasPassword() {
+ when(mBroadcast.getBroadcastCode())
+ .thenReturn(BROADCAST_PASSWORD.getBytes(StandardCharsets.UTF_8));
+ mController.displayPreference(mScreen);
+ mController.onBindDialogView();
+ ShadowLooper.idleMainLooper();
+
+ verify(mPreference).setEditable(true);
+ verify(mPreference).setChecked(false);
+ }
+
+ @Test
+ public void onPreferenceDataChanged_isBroadcasting_doNothing() {
+ when(mBroadcast.isEnabled(any())).thenReturn(true);
+ mController.displayPreference(mScreen);
+ mController.onPreferenceDataChanged(BROADCAST_PASSWORD, /* isPublicBroadcast= */ false);
+ ShadowLooper.idleMainLooper();
+
+ verify(mBroadcast, never()).setBroadcastCode(any());
+ verify(mFeatureFactory.metricsFeatureProvider, never()).action(any(), anyInt(), anyInt());
+ }
+
+ @Test
+ public void onPreferenceDataChanged_noChange_doNothing() {
+ when(mSharedPreferences.getString(anyString(), anyString())).thenReturn(EDITTEXT_PASSWORD);
+ when(mBroadcast.getBroadcastCode()).thenReturn(new byte[] {});
+ mController.displayPreference(mScreen);
+ mController.onPreferenceDataChanged(EDITTEXT_PASSWORD, /* isPublicBroadcast= */ true);
+ ShadowLooper.idleMainLooper();
+
+ verify(mBroadcast, never()).setBroadcastCode(any());
+ verify(mFeatureFactory.metricsFeatureProvider, never()).action(any(), anyInt(), anyInt());
+ }
+
+ @Test
+ public void onPreferenceDataChanged_updateToNonPublicBroadcast() {
+ when(mSharedPreferences.getString(anyString(), anyString())).thenReturn(EDITTEXT_PASSWORD);
+ when(mBroadcast.getBroadcastCode()).thenReturn(new byte[] {});
+ mController.displayPreference(mScreen);
+ mController.onPreferenceDataChanged(BROADCAST_PASSWORD, /* isPublicBroadcast= */ false);
+ ShadowLooper.idleMainLooper();
+
+ verify(mBroadcast).setBroadcastCode(BROADCAST_PASSWORD.getBytes(StandardCharsets.UTF_8));
+ verify(mEditor).putString(anyString(), eq(BROADCAST_PASSWORD));
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(mContext, SettingsEnums.ACTION_AUDIO_STREAM_PASSWORD_UPDATED, 0);
+ }
+
+ @Test
+ public void onPreferenceDataChanged_updateToPublicBroadcast() {
+ when(mSharedPreferences.getString(anyString(), anyString())).thenReturn(EDITTEXT_PASSWORD);
+ when(mBroadcast.getBroadcastCode())
+ .thenReturn(BROADCAST_PASSWORD.getBytes(StandardCharsets.UTF_8));
+ mController.displayPreference(mScreen);
+ mController.onPreferenceDataChanged(EDITTEXT_PASSWORD, /* isPublicBroadcast= */ true);
+ ShadowLooper.idleMainLooper();
+
+ verify(mBroadcast).setBroadcastCode("".getBytes(StandardCharsets.UTF_8));
+ verify(mEditor, never()).putString(anyString(), eq(EDITTEXT_PASSWORD));
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(mContext, SettingsEnums.ACTION_AUDIO_STREAM_PASSWORD_UPDATED, 1);
+ }
+
+ @Test
+ public void idTextValid_emptyString() {
+ boolean valid = mController.isTextValid("");
+
+ assertThat(valid).isFalse();
+ }
+
+ @Test
+ public void idTextValid_validPassword() {
+ boolean valid = mController.isTextValid(BROADCAST_PASSWORD);
+
+ assertThat(valid).isTrue();
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordPreferenceTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordPreferenceTest.java
new file mode 100644
index 0000000..0b87e8c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordPreferenceTest.java
@@ -0,0 +1,215 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.connecteddevice.audiosharing;
+
+import static android.view.View.GONE;
+import static android.view.View.VISIBLE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+import android.content.DialogInterface;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.CheckBox;
+import android.widget.EditText;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class AudioSharingPasswordPreferenceTest {
+ @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+ private static final String EDIT_TEXT_CONTENT = "text";
+ private Context mContext;
+ private AudioSharingPasswordPreference mPreference;
+
+ @Before
+ public void setup() {
+ mContext = ApplicationProvider.getApplicationContext();
+ mPreference = new AudioSharingPasswordPreference(mContext, null);
+ }
+
+ @Test
+ public void onBindDialogView_correctLayout() {
+ View view =
+ LayoutInflater.from(mContext).inflate(R.layout.audio_sharing_password_dialog, null);
+ mPreference.onBindDialogView(view);
+
+ var editText = view.findViewById(android.R.id.edit);
+ var checkBox = view.findViewById(R.id.audio_sharing_stream_password_checkbox);
+ var dialogMessage = view.findViewById(android.R.id.message);
+
+ assertThat(editText).isNotNull();
+ assertThat(checkBox).isNotNull();
+ assertThat(dialogMessage).isNotNull();
+ }
+
+ @Test
+ public void setEditable_true() {
+ View view =
+ LayoutInflater.from(mContext).inflate(R.layout.audio_sharing_password_dialog, null);
+ mPreference.onBindDialogView(view);
+
+ var editText = view.findViewById(android.R.id.edit);
+ var checkBox = view.findViewById(R.id.audio_sharing_stream_password_checkbox);
+ var dialogMessage = view.findViewById(android.R.id.message);
+
+ mPreference.setEditable(true);
+
+ assertThat(editText).isNotNull();
+ assertThat(editText.isEnabled()).isTrue();
+ assertThat(editText.getAlpha()).isEqualTo(1.0f);
+ assertThat(checkBox).isNotNull();
+ assertThat(checkBox.isEnabled()).isTrue();
+ assertThat(dialogMessage).isNotNull();
+ assertThat(dialogMessage.getVisibility()).isEqualTo(GONE);
+ }
+
+ @Test
+ public void setEditable_false() {
+ View view =
+ LayoutInflater.from(mContext).inflate(R.layout.audio_sharing_password_dialog, null);
+ mPreference.onBindDialogView(view);
+
+ var editText = view.findViewById(android.R.id.edit);
+ var checkBox = view.findViewById(R.id.audio_sharing_stream_password_checkbox);
+ var dialogMessage = view.findViewById(android.R.id.message);
+
+ mPreference.setEditable(false);
+
+ assertThat(editText).isNotNull();
+ assertThat(editText.isEnabled()).isFalse();
+ assertThat(editText.getAlpha()).isLessThan(1.0f);
+ assertThat(checkBox).isNotNull();
+ assertThat(checkBox.isEnabled()).isFalse();
+ assertThat(dialogMessage).isNotNull();
+ assertThat(dialogMessage.getVisibility()).isEqualTo(VISIBLE);
+ }
+
+ @Test
+ public void setChecked_true() {
+ View view =
+ LayoutInflater.from(mContext).inflate(R.layout.audio_sharing_password_dialog, null);
+ mPreference.onBindDialogView(view);
+
+ CheckBox checkBox = view.findViewById(R.id.audio_sharing_stream_password_checkbox);
+
+ mPreference.setChecked(true);
+
+ assertThat(checkBox).isNotNull();
+ assertThat(checkBox.isChecked()).isTrue();
+ }
+
+ @Test
+ public void setChecked_false() {
+ View view =
+ LayoutInflater.from(mContext).inflate(R.layout.audio_sharing_password_dialog, null);
+ mPreference.onBindDialogView(view);
+
+ CheckBox checkBox = view.findViewById(R.id.audio_sharing_stream_password_checkbox);
+
+ mPreference.setChecked(false);
+
+ assertThat(checkBox).isNotNull();
+ assertThat(checkBox.isChecked()).isFalse();
+ }
+
+ @Test
+ public void onDialogEventListener_onClick_positiveButton() {
+ AudioSharingPasswordPreference.OnDialogEventListener listener =
+ mock(AudioSharingPasswordPreference.OnDialogEventListener.class);
+ mPreference.setOnDialogEventListener(listener);
+ View view =
+ LayoutInflater.from(mContext).inflate(R.layout.audio_sharing_password_dialog, null);
+ mPreference.onBindDialogView(view);
+
+ EditText editText = view.findViewById(android.R.id.edit);
+ assertThat(editText).isNotNull();
+ editText.setText(EDIT_TEXT_CONTENT);
+
+ mPreference.onClick(mock(DialogInterface.class), DialogInterface.BUTTON_POSITIVE);
+
+ verify(listener).onBindDialogView();
+ verify(listener).onPreferenceDataChanged(eq(EDIT_TEXT_CONTENT), anyBoolean());
+ }
+
+ @Test
+ public void onDialogEventListener_onClick_negativeButton_doNothing() {
+ AudioSharingPasswordPreference.OnDialogEventListener listener =
+ mock(AudioSharingPasswordPreference.OnDialogEventListener.class);
+ mPreference.setOnDialogEventListener(listener);
+ View view =
+ LayoutInflater.from(mContext).inflate(R.layout.audio_sharing_password_dialog, null);
+ mPreference.onBindDialogView(view);
+
+ EditText editText = view.findViewById(android.R.id.edit);
+ assertThat(editText).isNotNull();
+ editText.setText(EDIT_TEXT_CONTENT);
+
+ mPreference.onClick(mock(DialogInterface.class), DialogInterface.BUTTON_NEGATIVE);
+
+ verify(listener).onBindDialogView();
+ verify(listener, never()).onPreferenceDataChanged(anyString(), anyBoolean());
+ }
+
+ @Test
+ public void onPrepareDialogBuilder_editable_doNothing() {
+ View view =
+ LayoutInflater.from(mContext).inflate(R.layout.audio_sharing_password_dialog, null);
+ mPreference.onBindDialogView(view);
+ mPreference.setEditable(true);
+
+ var dialogBuilder = mock(AlertDialog.Builder.class);
+ mPreference.onPrepareDialogBuilder(
+ dialogBuilder, mock(DialogInterface.OnClickListener.class));
+
+ verify(dialogBuilder, never()).setPositiveButton(any(), any());
+ }
+
+ @Test
+ public void onPrepareDialogBuilder_notEditable_disableButton() {
+ View view =
+ LayoutInflater.from(mContext).inflate(R.layout.audio_sharing_password_dialog, null);
+ mPreference.onBindDialogView(view);
+ mPreference.setEditable(false);
+
+ var dialogBuilder = mock(AlertDialog.Builder.class);
+ mPreference.onPrepareDialogBuilder(
+ dialogBuilder, mock(DialogInterface.OnClickListener.class));
+
+ verify(dialogBuilder).setPositiveButton(any(), any());
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordValidatorTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordValidatorTest.java
new file mode 100644
index 0000000..5c96fe1
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordValidatorTest.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.connecteddevice.audiosharing;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class AudioSharingPasswordValidatorTest {
+ private AudioSharingPasswordValidator mValidator;
+
+ @Before
+ public void setUp() {
+ mValidator = new AudioSharingPasswordValidator();
+ }
+
+ @Test
+ public void testValidPasswords() {
+ assertThat(mValidator.isTextValid("1234")).isTrue();
+ assertThat(mValidator.isTextValid("Password")).isTrue();
+ assertThat(mValidator.isTextValid("SecurePass123!")).isTrue();
+ assertThat(mValidator.isTextValid("ÄÖÜß")).isTrue();
+ assertThat(mValidator.isTextValid("1234567890abcdef")).isTrue();
+ }
+
+ @Test
+ public void testInvalidPasswords() {
+ assertThat(mValidator.isTextValid(null)).isFalse();
+ assertThat(mValidator.isTextValid("")).isFalse();
+ assertThat(mValidator.isTextValid("abc")).isFalse();
+ assertThat(mValidator.isTextValid("ThisIsAVeryLongPasswordThatExceedsSixteenOctets"))
+ .isFalse();
+ assertThat(mValidator.isTextValid("Invalid\uDC00")).isFalse();
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragmentTest.java
index b6babfb..c0af09f 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragmentTest.java
@@ -149,6 +149,20 @@
}
@Test
+ public void onCreateDialog_unattachedFragment_dialogNotExist() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ AudioSharingStopDialogFragment.show(
+ new Fragment(),
+ ImmutableList.of(TEST_DEVICE_ITEM2),
+ mCachedDevice1,
+ EMPTY_EVENT_LISTENER,
+ TEST_EVENT_DATA_LIST);
+ shadowMainLooper().idle();
+ AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+ assertThat(dialog).isNull();
+ }
+
+ @Test
public void onCreateDialog_oneDeviceInSharing_showDialogWithCorrectMessage() {
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
AudioSharingStopDialogFragment.show(
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceBadCodeStateTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceBadCodeStateTest.java
index 2fddff5..391a7b1 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceBadCodeStateTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceBadCodeStateTest.java
@@ -20,22 +20,45 @@
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.testutils.FakeFeatureFactory;
+
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
import org.robolectric.RobolectricTestRunner;
@RunWith(RobolectricTestRunner.class)
public class AddSourceBadCodeStateTest {
+ @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+ private final Context mContext = ApplicationProvider.getApplicationContext();
+ @Mock private AudioStreamPreference mPreference;
+ @Mock private AudioStreamsProgressCategoryController mController;
+ @Mock private AudioStreamsHelper mHelper;
+ private FakeFeatureFactory mFeatureFactory;
private AddSourceBadCodeState mInstance;
@Before
public void setUp() {
- mInstance = AddSourceBadCodeState.getInstance();
+ mFeatureFactory = FakeFeatureFactory.setupForTest();
+ mInstance = new AddSourceBadCodeState();
}
@Test
public void testGetInstance() {
+ mInstance = AddSourceBadCodeState.getInstance();
assertThat(mInstance).isNotNull();
assertThat(mInstance).isInstanceOf(SyncedState.class);
}
@@ -55,4 +78,19 @@
AudioStreamsProgressCategoryController.AudioStreamState
.ADD_SOURCE_BAD_CODE);
}
+
+ @Test
+ public void testPerformAction() {
+ when(mPreference.getContext()).thenReturn(mContext);
+ when(mPreference.getSourceOriginForLogging())
+ .thenReturn(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS);
+
+ mInstance.performAction(mPreference, mController, mHelper);
+
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ eq(mContext),
+ eq(SettingsEnums.ACTION_AUDIO_STREAM_JOIN_FAILED_BAD_CODE),
+ eq(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS.ordinal()));
+ }
}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceFailedStateTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceFailedStateTest.java
index d8b1fcf..917d8de 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceFailedStateTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceFailedStateTest.java
@@ -20,22 +20,45 @@
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.testutils.FakeFeatureFactory;
+
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
import org.robolectric.RobolectricTestRunner;
@RunWith(RobolectricTestRunner.class)
public class AddSourceFailedStateTest {
+ @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+ private final Context mContext = ApplicationProvider.getApplicationContext();
+ @Mock private AudioStreamPreference mPreference;
+ @Mock private AudioStreamsProgressCategoryController mController;
+ @Mock private AudioStreamsHelper mHelper;
+ private FakeFeatureFactory mFeatureFactory;
private AddSourceFailedState mInstance;
@Before
public void setUp() {
- mInstance = AddSourceFailedState.getInstance();
+ mFeatureFactory = FakeFeatureFactory.setupForTest();
+ mInstance = new AddSourceFailedState();
}
@Test
public void testGetInstance() {
+ mInstance = AddSourceFailedState.getInstance();
assertThat(mInstance).isNotNull();
assertThat(mInstance).isInstanceOf(SyncedState.class);
}
@@ -54,4 +77,19 @@
.isEqualTo(
AudioStreamsProgressCategoryController.AudioStreamState.ADD_SOURCE_FAILED);
}
+
+ @Test
+ public void testPerformAction() {
+ when(mPreference.getContext()).thenReturn(mContext);
+ when(mPreference.getSourceOriginForLogging())
+ .thenReturn(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS);
+
+ mInstance.performAction(mPreference, mController, mHelper);
+
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ eq(mContext),
+ eq(SettingsEnums.ACTION_AUDIO_STREAM_JOIN_FAILED_OTHER),
+ eq(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS.ordinal()));
+ }
}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceWaitForResponseStateTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceWaitForResponseStateTest.java
index 6e5342b..ce21658 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceWaitForResponseStateTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AddSourceWaitForResponseStateTest.java
@@ -22,11 +22,21 @@
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import android.app.settings.SettingsEnums;
import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.content.Context;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before;
import org.junit.Rule;
@@ -36,27 +46,41 @@
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowAlertDialog;
import org.robolectric.shadows.ShadowLooper;
import java.util.concurrent.TimeUnit;
@RunWith(RobolectricTestRunner.class)
+@Config(
+ shadows = {
+ ShadowAlertDialog.class,
+ })
public class AddSourceWaitForResponseStateTest {
- private static final int BROADCAST_ID = 1;
@Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+ private static final int BROADCAST_ID = 1;
+ private final Context mContext = spy(ApplicationProvider.getApplicationContext());
@Mock private AudioStreamPreference mMockPreference;
@Mock private AudioStreamsProgressCategoryController mMockController;
@Mock private AudioStreamsHelper mMockHelper;
@Mock private BluetoothLeBroadcastMetadata mMockMetadata;
+ @Mock private AudioStreamsRepository mMockRepository;
+ private FakeFeatureFactory mFeatureFactory;
private AddSourceWaitForResponseState mInstance;
@Before
public void setUp() {
- mInstance = AddSourceWaitForResponseState.getInstance();
+ mFeatureFactory = FakeFeatureFactory.setupForTest();
+ mInstance = new AddSourceWaitForResponseState();
+ when(mMockPreference.getContext()).thenReturn(mContext);
+ when(mMockPreference.getSourceOriginForLogging())
+ .thenReturn(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS);
}
@Test
public void testGetInstance() {
+ mInstance = AddSourceWaitForResponseState.getInstance();
assertThat(mInstance).isNotNull();
assertThat(mInstance).isInstanceOf(AudioStreamStateHandler.class);
}
@@ -93,11 +117,18 @@
public void testPerformAction_metadataIsNotNull_addSource() {
when(mMockPreference.getAudioStreamMetadata()).thenReturn(mMockMetadata);
when(mMockPreference.getSourceOriginForLogging())
- .thenReturn(SourceOriginForLogging.UNKNOWN);
+ .thenReturn(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS);
+ mInstance.setAudioStreamsRepositoryForTesting(mMockRepository);
mInstance.performAction(mMockPreference, mMockController, mMockHelper);
verify(mMockHelper).addSource(mMockMetadata);
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ eq(mContext),
+ eq(SettingsEnums.ACTION_AUDIO_STREAM_JOIN),
+ eq(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS.ordinal()));
+ verify(mMockRepository).cacheMetadata(mMockMetadata);
verify(mMockController, never()).handleSourceFailedToConnect(anyInt());
}
@@ -108,12 +139,28 @@
when(mMockPreference.getAudioStreamState()).thenReturn(mInstance.getStateEnum());
when(mMockPreference.getAudioStreamBroadcastId()).thenReturn(BROADCAST_ID);
when(mMockPreference.getSourceOriginForLogging())
- .thenReturn(SourceOriginForLogging.UNKNOWN);
+ .thenReturn(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS);
+ when(mMockController.getFragment()).thenReturn(mock(AudioStreamsDashboardFragment.class));
+ mInstance.setAudioStreamsRepositoryForTesting(mMockRepository);
mInstance.performAction(mMockPreference, mMockController, mMockHelper);
ShadowLooper.idleMainLooper(ADD_SOURCE_WAIT_FOR_RESPONSE_TIMEOUT_MILLIS, TimeUnit.SECONDS);
verify(mMockHelper).addSource(mMockMetadata);
verify(mMockController).handleSourceFailedToConnect(BROADCAST_ID);
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ eq(mContext),
+ eq(SettingsEnums.ACTION_AUDIO_STREAM_JOIN),
+ eq(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS.ordinal()));
+ verify(mMockRepository).cacheMetadata(mMockMetadata);
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ eq(mContext),
+ eq(SettingsEnums.ACTION_AUDIO_STREAM_JOIN_FAILED_TIMEOUT),
+ eq(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS.ordinal()));
+ verify(mContext).getString(R.string.audio_streams_dialog_stream_is_not_available);
+ verify(mContext).getString(R.string.audio_streams_is_not_playing);
+ verify(mContext).getString(R.string.audio_streams_dialog_close);
}
}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamButtonControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamButtonControllerTest.java
index cbf1432..c6fb361 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamButtonControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamButtonControllerTest.java
@@ -16,22 +16,36 @@
package com.android.settings.connecteddevice.audiosharing.audiostreams;
+import static com.google.common.truth.Truth.assertThat;
+
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import android.app.settings.SettingsEnums;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcastAssistant;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
import android.bluetooth.BluetoothLeBroadcastReceiveState;
import android.content.Context;
import android.view.View;
+import androidx.lifecycle.LifecycleOwner;
import androidx.preference.PreferenceScreen;
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.R;
import com.android.settings.connecteddevice.audiosharing.audiostreams.testshadows.ShadowAudioStreamsHelper;
+import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.shadow.ShadowThreadUtils;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.widget.ActionButtonsPreference;
import org.junit.After;
@@ -39,14 +53,17 @@
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.concurrent.Executor;
@RunWith(RobolectricTestRunner.class)
@Config(
@@ -63,14 +80,23 @@
@Mock private AudioStreamsHelper mAudioStreamsHelper;
@Mock private PreferenceScreen mScreen;
@Mock private BluetoothLeBroadcastReceiveState mBroadcastReceiveState;
+ @Mock private LocalBluetoothLeBroadcastAssistant mAssistant;
+ @Mock private AudioStreamsRepository mRepository;
@Mock private ActionButtonsPreference mPreference;
+ private Lifecycle mLifecycle;
+ private LifecycleOwner mLifecycleOwner;
+ private FakeFeatureFactory mFeatureFactory;
private AudioStreamButtonController mController;
@Before
public void setUp() {
ShadowAudioStreamsHelper.setUseMock(mAudioStreamsHelper);
+ when(mAudioStreamsHelper.getLeBroadcastAssistant()).thenReturn(mAssistant);
+ mFeatureFactory = FakeFeatureFactory.setupForTest();
mController = new AudioStreamButtonController(mContext, KEY);
mController.init(BROADCAST_ID);
+ mLifecycleOwner = () -> mLifecycle;
+ mLifecycle = new Lifecycle(mLifecycleOwner);
when(mScreen.findPreference(KEY)).thenReturn(mPreference);
when(mPreference.getContext()).thenReturn(mContext);
when(mPreference.setButton1Text(anyInt())).thenReturn(mPreference);
@@ -86,6 +112,40 @@
}
@Test
+ public void onStart_registerCallbacks() {
+ mController.onStart(mLifecycleOwner);
+ verify(mAssistant)
+ .registerServiceCallBack(
+ any(Executor.class), any(BluetoothLeBroadcastAssistant.Callback.class));
+ }
+
+ @Test
+ public void onStart_profileNull_doNothing() {
+ when(mAudioStreamsHelper.getLeBroadcastAssistant()).thenReturn(null);
+ mController = new AudioStreamButtonController(mContext, KEY);
+ mController.onStart(mLifecycleOwner);
+ verify(mAssistant, never())
+ .registerServiceCallBack(
+ any(Executor.class), any(BluetoothLeBroadcastAssistant.Callback.class));
+ }
+
+ @Test
+ public void onStop_unregisterCallbacks() {
+ mController.onStop(mLifecycleOwner);
+ verify(mAssistant)
+ .unregisterServiceCallBack(any(BluetoothLeBroadcastAssistant.Callback.class));
+ }
+
+ @Test
+ public void onStop_profileNull_doNothing() {
+ when(mAudioStreamsHelper.getLeBroadcastAssistant()).thenReturn(null);
+ mController = new AudioStreamButtonController(mContext, KEY);
+ mController.onStop(mLifecycleOwner);
+ verify(mAssistant, never())
+ .unregisterServiceCallBack(any(BluetoothLeBroadcastAssistant.Callback.class));
+ }
+
+ @Test
public void testDisplayPreference_sourceConnected_setDisconnectButton() {
when(mAudioStreamsHelper.getAllConnectedSources())
.thenReturn(List.of(mBroadcastReceiveState));
@@ -96,18 +156,133 @@
verify(mPreference).setButton1Enabled(true);
verify(mPreference).setButton1Text(R.string.audio_streams_disconnect);
verify(mPreference).setButton1Icon(com.android.settings.R.drawable.ic_settings_close);
- verify(mPreference).setButton1OnClickListener(any(View.OnClickListener.class));
+
+ ArgumentCaptor<View.OnClickListener> listenerCaptor =
+ ArgumentCaptor.forClass(View.OnClickListener.class);
+ verify(mPreference).setButton1OnClickListener(listenerCaptor.capture());
+ var listener = listenerCaptor.getValue();
+
+ assertThat(listener).isNotNull();
+ listener.onClick(mock(View.class));
+ verify(mAudioStreamsHelper).removeSource(BROADCAST_ID);
+ verify(mPreference).setButton1Enabled(false);
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(any(), eq(SettingsEnums.ACTION_AUDIO_STREAM_LEAVE_BUTTON_CLICK));
}
@Test
public void testDisplayPreference_sourceNotConnected_setConnectButton() {
when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(Collections.emptyList());
+ mController.setAudioStreamsRepositoryForTesting(mRepository);
+ var metadataToRejoin = mock(BluetoothLeBroadcastMetadata.class);
+ when(mRepository.getSavedMetadata(any(), anyInt())).thenReturn(metadataToRejoin);
mController.displayPreference(mScreen);
verify(mPreference).setButton1Enabled(true);
verify(mPreference).setButton1Text(R.string.audio_streams_connect);
verify(mPreference).setButton1Icon(com.android.settings.R.drawable.ic_add_24dp);
- verify(mPreference).setButton1OnClickListener(any(View.OnClickListener.class));
+
+ ArgumentCaptor<View.OnClickListener> listenerCaptor =
+ ArgumentCaptor.forClass(View.OnClickListener.class);
+ verify(mPreference).setButton1OnClickListener(listenerCaptor.capture());
+ var listener = listenerCaptor.getValue();
+
+ assertThat(listener).isNotNull();
+ listener.onClick(mock(View.class));
+ verify(mAudioStreamsHelper).addSource(metadataToRejoin);
+ verify(mPreference).setButton1Enabled(false);
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(any(), eq(SettingsEnums.ACTION_AUDIO_STREAM_JOIN), anyInt());
+ }
+
+ @Test
+ public void testCallback_onSourceRemoved_updateButton() {
+ when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(Collections.emptyList());
+
+ mController.displayPreference(mScreen);
+ mController.mBroadcastAssistantCallback.onSourceRemoved(
+ mock(BluetoothDevice.class), /* sourceId= */ 0, /* reason= */ 0);
+
+ // Called twice, once in displayPreference, the other one in callback
+ verify(mPreference, times(2)).setButton1Enabled(true);
+ verify(mPreference, times(2)).setButton1Text(R.string.audio_streams_connect);
+ verify(mPreference, times(2)).setButton1Icon(com.android.settings.R.drawable.ic_add_24dp);
+ }
+
+ @Test
+ public void testCallback_onSourceRemovedFailed_updateButton() {
+ when(mAudioStreamsHelper.getAllConnectedSources())
+ .thenReturn(List.of(mBroadcastReceiveState));
+ when(mBroadcastReceiveState.getBroadcastId()).thenReturn(BROADCAST_ID);
+
+ mController.displayPreference(mScreen);
+ mController.mBroadcastAssistantCallback.onSourceRemoveFailed(
+ mock(BluetoothDevice.class), /* sourceId= */ 0, /* reason= */ 0);
+
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(any(), eq(SettingsEnums.ACTION_AUDIO_STREAM_LEAVE_FAILED));
+
+ // Called twice, once in displayPreference, the other one in callback
+ verify(mPreference, times(2)).setButton1Enabled(true);
+ verify(mPreference, times(2)).setButton1Text(R.string.audio_streams_disconnect);
+ verify(mPreference, times(2))
+ .setButton1Icon(com.android.settings.R.drawable.ic_settings_close);
+ }
+
+ @Test
+ public void testCallback_onReceiveStateChanged_updateButton() {
+ when(mAudioStreamsHelper.getAllConnectedSources())
+ .thenReturn(List.of(mBroadcastReceiveState));
+ when(mBroadcastReceiveState.getBroadcastId()).thenReturn(BROADCAST_ID);
+ BluetoothLeBroadcastReceiveState state = mock(BluetoothLeBroadcastReceiveState.class);
+ List<Long> bisSyncState = new ArrayList<>();
+ bisSyncState.add(1L);
+ when(state.getBisSyncState()).thenReturn(bisSyncState);
+
+ mController.displayPreference(mScreen);
+ mController.mBroadcastAssistantCallback.onReceiveStateChanged(
+ mock(BluetoothDevice.class), /* sourceId= */ 0, state);
+
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(any(), eq(SettingsEnums.ACTION_AUDIO_STREAM_JOIN_SUCCEED), anyInt());
+
+ // Called twice, once in displayPreference, the other one in callback
+ verify(mPreference, times(2)).setButton1Enabled(true);
+ verify(mPreference, times(2)).setButton1Text(R.string.audio_streams_disconnect);
+ verify(mPreference, times(2))
+ .setButton1Icon(com.android.settings.R.drawable.ic_settings_close);
+ }
+
+ @Test
+ public void testCallback_onSourceAddFailed_updateButton() {
+ when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(Collections.emptyList());
+
+ mController.displayPreference(mScreen);
+ mController.mBroadcastAssistantCallback.onSourceAddFailed(
+ mock(BluetoothDevice.class),
+ mock(BluetoothLeBroadcastMetadata.class),
+ /* reason= */ 0);
+
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(any(), eq(SettingsEnums.ACTION_AUDIO_STREAM_JOIN_FAILED_OTHER), anyInt());
+
+ // Called twice, once in displayPreference, the other one in callback
+ verify(mPreference, times(2)).setButton1Enabled(true);
+ verify(mPreference, times(2)).setButton1Text(R.string.audio_streams_connect);
+ verify(mPreference, times(2)).setButton1Icon(com.android.settings.R.drawable.ic_add_24dp);
+ }
+
+ @Test
+ public void testCallback_onSourceLost_updateButton() {
+ when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(Collections.emptyList());
+
+ mController.displayPreference(mScreen);
+ mController.mBroadcastAssistantCallback.onSourceLost(/* broadcastId= */ 0);
+
+ // Called twice, once in displayPreference, the other one in callback
+ verify(mPreference, times(2)).setButton1Enabled(true);
+ verify(mPreference, times(2)).setButton1Text(R.string.audio_streams_connect);
+ verify(mPreference, times(2)).setButton1Icon(com.android.settings.R.drawable.ic_add_24dp);
}
}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialogActivityTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialogActivityTest.java
index e967a12..1f05cbb 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialogActivityTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialogActivityTest.java
@@ -18,28 +18,132 @@
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothStatusCodes;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
+import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
+import com.android.settingslib.bluetooth.VolumeControlProfile;
+import com.android.settingslib.flags.Flags;
+
+import org.junit.After;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadow.api.Shadow;
@RunWith(RobolectricTestRunner.class)
+@Config(
+ shadows = {
+ ShadowBluetoothAdapter.class,
+ ShadowBluetoothUtils.class,
+ })
public class AudioStreamConfirmDialogActivityTest {
+ @Rule public final MockitoRule mocks = MockitoJUnit.rule();
+ @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+ @Mock private LocalBluetoothManager mLocalBluetoothManager;
+ @Mock private LocalBluetoothProfileManager mLocalBluetoothProfileManager;
+ @Mock private LocalBluetoothLeBroadcast mBroadcast;
+ @Mock private LocalBluetoothLeBroadcastAssistant mAssistant;
+ @Mock private VolumeControlProfile mVolumeControl;
+ private ShadowBluetoothAdapter mShadowBluetoothAdapter;
private AudioStreamConfirmDialogActivity mActivity;
@Before
public void setUp() {
- mActivity = Robolectric.buildActivity(AudioStreamConfirmDialogActivity.class).get();
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+ mShadowBluetoothAdapter.setEnabled(true);
+ mShadowBluetoothAdapter.setIsLeAudioBroadcastSourceSupported(
+ BluetoothStatusCodes.FEATURE_SUPPORTED);
+ mShadowBluetoothAdapter.setIsLeAudioBroadcastAssistantSupported(
+ BluetoothStatusCodes.FEATURE_SUPPORTED);
+ ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager;
+ when(mLocalBluetoothManager.getProfileManager()).thenReturn(mLocalBluetoothProfileManager);
+ when(mLocalBluetoothProfileManager.getLeAudioBroadcastProfile()).thenReturn(mBroadcast);
+ when(mLocalBluetoothProfileManager.getLeAudioBroadcastAssistantProfile())
+ .thenReturn(mAssistant);
+ when(mLocalBluetoothProfileManager.getVolumeControlProfile()).thenReturn(mVolumeControl);
+ when(mBroadcast.isProfileReady()).thenReturn(true);
+ when(mAssistant.isProfileReady()).thenReturn(true);
+ when(mVolumeControl.isProfileReady()).thenReturn(true);
+ }
+
+ @After
+ public void tearDown() {
+ ShadowBluetoothUtils.reset();
}
@Test
public void isValidFragment_returnsTrue() {
+ mActivity = Robolectric.setupActivity(AudioStreamConfirmDialogActivity.class);
assertThat(mActivity.isValidFragment(AudioStreamConfirmDialog.class.getName())).isTrue();
}
@Test
public void isValidFragment_returnsFalse() {
+ mActivity = Robolectric.setupActivity(AudioStreamConfirmDialogActivity.class);
assertThat(mActivity.isValidFragment("")).isFalse();
}
+
+ @Test
+ public void isToolbarEnabled_returnsFalse() {
+ mActivity = Robolectric.setupActivity(AudioStreamConfirmDialogActivity.class);
+ assertThat(mActivity.isToolbarEnabled()).isFalse();
+ }
+
+ @Test
+ public void setupActivity_serviceNotReady_registerCallback() {
+ when(mBroadcast.isProfileReady()).thenReturn(false);
+ mActivity = Robolectric.setupActivity(AudioStreamConfirmDialogActivity.class);
+
+ verify(mLocalBluetoothProfileManager).addServiceListener(any());
+ }
+
+ @Test
+ public void setupActivity_serviceNotReady_registerCallback_onServiceCallback() {
+ when(mBroadcast.isProfileReady()).thenReturn(false);
+ mActivity = Robolectric.setupActivity(AudioStreamConfirmDialogActivity.class);
+
+ verify(mLocalBluetoothProfileManager).addServiceListener(any());
+
+ when(mBroadcast.isProfileReady()).thenReturn(true);
+ mActivity.onServiceConnected();
+ verify(mLocalBluetoothProfileManager).removeServiceListener(any());
+
+ mActivity.onServiceDisconnected();
+ // Do nothing.
+ }
+
+ @Test
+ public void setupActivity_serviceReady_doNothing() {
+ mActivity = Robolectric.setupActivity(AudioStreamConfirmDialogActivity.class);
+
+ verify(mLocalBluetoothProfileManager, never()).addServiceListener(any());
+ }
+
+ @Test
+ public void onStop_unregisterCallback() {
+ mActivity = Robolectric.setupActivity(AudioStreamConfirmDialogActivity.class);
+ mActivity.onStop();
+
+ verify(mLocalBluetoothProfileManager).removeServiceListener(any());
+ }
}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialogTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialogTest.java
index c7aafe8..601c432 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialogTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialogTest.java
@@ -16,14 +16,21 @@
package com.android.settings.connecteddevice.audiosharing.audiostreams;
+import static android.app.settings.SettingsEnums.DIALOG_AUDIO_STREAM_CONFIRM_LISTEN;
+
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamConfirmDialog.DEFAULT_DEVICE_NAME;
import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsDashboardFragment.KEY_BROADCAST_METADATA;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.robolectric.shadows.ShadowLooper.shadowMainLooper;
+import android.app.Dialog;
import android.app.settings.SettingsEnums;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
@@ -127,6 +134,8 @@
assertThat(mDialogFragment.getMetricsCategory())
.isEqualTo(SettingsEnums.DIALOG_AUDIO_STREAM_CONFIRM_FEATURE_UNSUPPORTED);
+ assertThat(mDialogFragment.mActivity).isNotNull();
+ mDialogFragment.mActivity = spy(mDialogFragment.mActivity);
var dialog = mDialogFragment.getDialog();
assertThat(dialog).isNotNull();
@@ -152,6 +161,10 @@
assertThat(rightButton).isNotNull();
assertThat(rightButton.getVisibility()).isEqualTo(View.VISIBLE);
assertThat(rightButton.hasOnClickListeners()).isTrue();
+
+ rightButton.callOnClick();
+ assertThat(dialog.isShowing()).isFalse();
+ verify(mDialogFragment.mActivity).finish();
}
@Test
@@ -165,6 +178,8 @@
assertThat(mDialogFragment.getMetricsCategory())
.isEqualTo(SettingsEnums.DIALOG_AUDIO_STREAM_CONFIRM_NO_LE_DEVICE);
+ assertThat(mDialogFragment.mActivity).isNotNull();
+ mDialogFragment.mActivity = spy(mDialogFragment.mActivity);
var dialog = mDialogFragment.getDialog();
assertThat(dialog).isNotNull();
@@ -184,11 +199,20 @@
View leftButton = dialog.findViewById(R.id.left_button);
assertThat(leftButton).isNotNull();
assertThat(leftButton.getVisibility()).isEqualTo(View.VISIBLE);
+ assertThat(leftButton.hasOnClickListeners()).isTrue();
+
+ leftButton.callOnClick();
+ assertThat(dialog.isShowing()).isFalse();
+
Button rightButton = dialog.findViewById(R.id.right_button);
assertThat(rightButton).isNotNull();
assertThat(rightButton.getText())
.isEqualTo(mContext.getString(R.string.audio_streams_dialog_no_le_device_button));
assertThat(rightButton.hasOnClickListeners()).isTrue();
+
+ rightButton.callOnClick();
+ assertThat(dialog.isShowing()).isFalse();
+ verify(mDialogFragment.mActivity, times(2)).finish();
}
@Test
@@ -207,6 +231,8 @@
assertThat(mDialogFragment.getMetricsCategory())
.isEqualTo(SettingsEnums.DIALOG_AUDIO_STREAM_CONFIRM_DATA_ERROR);
+ assertThat(mDialogFragment.mActivity).isNotNull();
+ mDialogFragment.mActivity = spy(mDialogFragment.mActivity);
var dialog = mDialogFragment.getDialog();
assertThat(dialog).isNotNull();
@@ -231,6 +257,10 @@
assertThat(rightButton).isNotNull();
assertThat(rightButton.getVisibility()).isEqualTo(View.VISIBLE);
assertThat(rightButton.hasOnClickListeners()).isTrue();
+
+ rightButton.callOnClick();
+ assertThat(dialog.isShowing()).isFalse();
+ verify(mDialogFragment.mActivity).finish();
}
@Test
@@ -252,6 +282,8 @@
assertThat(mDialogFragment.getMetricsCategory())
.isEqualTo(SettingsEnums.DIALOG_AUDIO_STREAM_CONFIRM_DATA_ERROR);
+ assertThat(mDialogFragment.mActivity).isNotNull();
+ mDialogFragment.mActivity = spy(mDialogFragment.mActivity);
var dialog = mDialogFragment.getDialog();
assertThat(dialog).isNotNull();
@@ -276,6 +308,10 @@
assertThat(rightButton).isNotNull();
assertThat(rightButton.getVisibility()).isEqualTo(View.VISIBLE);
assertThat(rightButton.hasOnClickListeners()).isTrue();
+
+ rightButton.callOnClick();
+ assertThat(dialog.isShowing()).isFalse();
+ verify(mDialogFragment.mActivity).finish();
}
@Test
@@ -283,7 +319,7 @@
List<BluetoothDevice> devices = new ArrayList<>();
devices.add(mBluetoothDevice);
when(mAssistant.getDevicesMatchingConnectionStates(any())).thenReturn(devices);
- when(mBluetoothDevice.getAlias()).thenReturn(DEVICE_NAME);
+ when(mBluetoothDevice.getAlias()).thenReturn("");
Intent intent = new Intent();
intent.putExtra(KEY_BROADCAST_METADATA, VALID_METADATA);
@@ -296,9 +332,11 @@
shadowMainLooper().idle();
assertThat(mDialogFragment.getMetricsCategory())
- .isEqualTo(SettingsEnums.DIALOG_AUDIO_STREAM_CONFIRM_LISTEN);
+ .isEqualTo(DIALOG_AUDIO_STREAM_CONFIRM_LISTEN);
+ assertThat(mDialogFragment.mActivity).isNotNull();
+ mDialogFragment.mActivity = spy(mDialogFragment.mActivity);
- var dialog = mDialogFragment.getDialog();
+ Dialog dialog = mDialogFragment.getDialog();
assertThat(dialog).isNotNull();
assertThat(dialog.isShowing()).isTrue();
TextView title = dialog.findViewById(R.id.dialog_title);
@@ -311,17 +349,27 @@
assertThat(subtitle1.getVisibility()).isEqualTo(View.VISIBLE);
TextView subtitle2 = dialog.findViewById(R.id.dialog_subtitle_2);
assertThat(subtitle2).isNotNull();
+ var defaultName = mContext.getString(DEFAULT_DEVICE_NAME);
assertThat(subtitle2.getText())
.isEqualTo(
mContext.getString(
- R.string.audio_streams_dialog_control_volume, DEVICE_NAME));
+ R.string.audio_streams_dialog_control_volume, defaultName));
View leftButton = dialog.findViewById(R.id.left_button);
assertThat(leftButton).isNotNull();
assertThat(leftButton.getVisibility()).isEqualTo(View.VISIBLE);
+ assertThat(leftButton.hasOnClickListeners()).isTrue();
+
+ leftButton.callOnClick();
+ assertThat(dialog.isShowing()).isFalse();
+
Button rightButton = dialog.findViewById(R.id.right_button);
assertThat(rightButton).isNotNull();
assertThat(rightButton.getText())
.isEqualTo(mContext.getString(R.string.audio_streams_dialog_listen));
assertThat(rightButton.hasOnClickListeners()).isTrue();
+
+ rightButton.callOnClick();
+ assertThat(dialog.isShowing()).isFalse();
+ verify(mDialogFragment.mActivity, times(2)).finish();
}
}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamDetailsFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamDetailsFragmentTest.java
index 724c772..46d481a 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamDetailsFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamDetailsFragmentTest.java
@@ -16,22 +16,48 @@
package com.android.settings.connecteddevice.audiosharing.audiostreams;
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamDetailsFragment.BROADCAST_ID_ARG;
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamDetailsFragment.BROADCAST_NAME_ARG;
+
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.Bundle;
+
+import androidx.test.core.app.ApplicationProvider;
+
import com.android.settings.R;
+import com.android.settingslib.core.AbstractPreferenceController;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
import org.robolectric.RobolectricTestRunner;
@RunWith(RobolectricTestRunner.class)
public class AudioStreamDetailsFragmentTest {
- private AudioStreamDetailsFragment mFragment;
+ @Rule public final MockitoRule mocks = MockitoJUnit.rule();
+ private static final String BROADCAST_NAME = "name";
+ private static final int BROADCAST_ID = 1;
+ private final Context mContext = ApplicationProvider.getApplicationContext();
+ @Mock private AudioStreamHeaderController mHeaderController;
+ @Mock private AudioStreamButtonController mButtonController;
+ private TestFragment mFragment;
@Before
public void setUp() {
- mFragment = new AudioStreamDetailsFragment();
+ mFragment = spy(new TestFragment());
+ doReturn(mHeaderController).when(mFragment).use(AudioStreamHeaderController.class);
+ doReturn(mButtonController).when(mFragment).use(AudioStreamButtonController.class);
}
@Test
@@ -44,4 +70,29 @@
public void getLogTag_returnsCorrectTag() {
assertThat(mFragment.getLogTag()).isEqualTo(AudioStreamDetailsFragment.TAG);
}
+
+ @Test
+ public void getMetricsCategory_returnsCorrectEnum() {
+ assertThat(mFragment.getMetricsCategory()).isEqualTo(SettingsEnums.AUDIO_STREAM_DETAIL);
+ }
+
+ @Test
+ public void onAttach_getArguments() {
+ Bundle bundle = new Bundle();
+ bundle.putString(BROADCAST_NAME_ARG, BROADCAST_NAME);
+ bundle.putInt(BROADCAST_ID_ARG, BROADCAST_ID);
+ mFragment.setArguments(bundle);
+
+ mFragment.onAttach(mContext);
+
+ verify(mButtonController).init(BROADCAST_ID);
+ verify(mHeaderController).init(mFragment, BROADCAST_NAME, BROADCAST_ID);
+ }
+
+ public static class TestFragment extends AudioStreamDetailsFragment {
+ @Override
+ protected <T extends AbstractPreferenceController> T use(Class<T> clazz) {
+ return super.use(clazz);
+ }
+ }
}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamHeaderControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamHeaderControllerTest.java
index 0cd5d61..327090d 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamHeaderControllerTest.java
@@ -19,12 +19,20 @@
import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamHeaderController.AUDIO_STREAM_HEADER_LISTENING_NOW_SUMMARY;
import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamHeaderController.AUDIO_STREAM_HEADER_NOT_LISTENING_SUMMARY;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcastAssistant;
import android.bluetooth.BluetoothLeBroadcastReceiveState;
import android.content.Context;
+import android.graphics.drawable.Drawable;
+import androidx.lifecycle.LifecycleOwner;
import androidx.preference.PreferenceScreen;
import androidx.test.core.app.ApplicationProvider;
@@ -32,6 +40,8 @@
import com.android.settings.connecteddevice.audiosharing.audiostreams.testshadows.ShadowEntityHeaderController;
import com.android.settings.testutils.shadow.ShadowThreadUtils;
import com.android.settings.widget.EntityHeaderController;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.widget.LayoutPreference;
import org.junit.After;
@@ -45,8 +55,10 @@
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.concurrent.Executor;
@RunWith(RobolectricTestRunner.class)
@Config(
@@ -65,15 +77,21 @@
@Mock private AudioStreamsHelper mAudioStreamsHelper;
@Mock private PreferenceScreen mScreen;
@Mock private BluetoothLeBroadcastReceiveState mBroadcastReceiveState;
+ @Mock private LocalBluetoothLeBroadcastAssistant mAssistant;
@Mock private AudioStreamDetailsFragment mFragment;
@Mock private LayoutPreference mPreference;
@Mock private EntityHeaderController mHeaderController;
+ private Lifecycle mLifecycle;
+ private LifecycleOwner mLifecycleOwner;
private AudioStreamHeaderController mController;
@Before
public void setUp() {
ShadowEntityHeaderController.setUseMock(mHeaderController);
ShadowAudioStreamsHelper.setUseMock(mAudioStreamsHelper);
+ when(mAudioStreamsHelper.getLeBroadcastAssistant()).thenReturn(mAssistant);
+ mLifecycleOwner = () -> mLifecycle;
+ mLifecycle = new Lifecycle(mLifecycleOwner);
mController = new AudioStreamHeaderController(mContext, KEY);
mController.init(mFragment, BROADCAST_NAME, BROADCAST_ID);
when(mScreen.findPreference(KEY)).thenReturn(mPreference);
@@ -88,6 +106,40 @@
}
@Test
+ public void onStart_registerCallbacks() {
+ mController.onStart(mLifecycleOwner);
+ verify(mAssistant)
+ .registerServiceCallBack(
+ any(Executor.class), any(BluetoothLeBroadcastAssistant.Callback.class));
+ }
+
+ @Test
+ public void onStart_profileNull_doNothing() {
+ when(mAudioStreamsHelper.getLeBroadcastAssistant()).thenReturn(null);
+ mController = new AudioStreamHeaderController(mContext, KEY);
+ mController.onStart(mLifecycleOwner);
+ verify(mAssistant, never())
+ .registerServiceCallBack(
+ any(Executor.class), any(BluetoothLeBroadcastAssistant.Callback.class));
+ }
+
+ @Test
+ public void onStop_unregisterCallbacks() {
+ mController.onStop(mLifecycleOwner);
+ verify(mAssistant)
+ .unregisterServiceCallBack(any(BluetoothLeBroadcastAssistant.Callback.class));
+ }
+
+ @Test
+ public void onStop_profileNull_doNothing() {
+ when(mAudioStreamsHelper.getLeBroadcastAssistant()).thenReturn(null);
+ mController = new AudioStreamHeaderController(mContext, KEY);
+ mController.onStop(mLifecycleOwner);
+ verify(mAssistant, never())
+ .unregisterServiceCallBack(any(BluetoothLeBroadcastAssistant.Callback.class));
+ }
+
+ @Test
public void testDisplayPreference_sourceConnected_setSummary() {
when(mAudioStreamsHelper.getAllConnectedSources())
.thenReturn(List.of(mBroadcastReceiveState));
@@ -96,9 +148,11 @@
mController.displayPreference(mScreen);
verify(mHeaderController).setLabel(BROADCAST_NAME);
+ verify(mHeaderController).setIcon(any(Drawable.class));
verify(mHeaderController)
.setSummary(mContext.getString(AUDIO_STREAM_HEADER_LISTENING_NOW_SUMMARY));
verify(mHeaderController).done(true);
+ verify(mScreen).addPreference(any());
}
@Test
@@ -108,7 +162,54 @@
mController.displayPreference(mScreen);
verify(mHeaderController).setLabel(BROADCAST_NAME);
+ verify(mHeaderController).setIcon(any(Drawable.class));
verify(mHeaderController).setSummary(AUDIO_STREAM_HEADER_NOT_LISTENING_SUMMARY);
verify(mHeaderController).done(true);
+ verify(mScreen).addPreference(any());
+ }
+
+ @Test
+ public void testCallback_onSourceRemoved_updateButton() {
+ when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(Collections.emptyList());
+
+ mController.displayPreference(mScreen);
+ mController.mBroadcastAssistantCallback.onSourceRemoved(
+ mock(BluetoothDevice.class), /* sourceId= */ 0, /* reason= */ 0);
+
+ // Called twice, once in displayPreference, the other one in callback
+ verify(mHeaderController, times(2)).setSummary(AUDIO_STREAM_HEADER_NOT_LISTENING_SUMMARY);
+ verify(mHeaderController, times(2)).done(true);
+ }
+
+ @Test
+ public void testCallback_onSourceLost_updateButton() {
+ when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(Collections.emptyList());
+
+ mController.displayPreference(mScreen);
+ mController.mBroadcastAssistantCallback.onSourceLost(/* broadcastId= */ 1);
+
+ // Called twice, once in displayPreference, the other one in callback
+ verify(mHeaderController, times(2)).setSummary(AUDIO_STREAM_HEADER_NOT_LISTENING_SUMMARY);
+ verify(mHeaderController, times(2)).done(true);
+ }
+
+ @Test
+ public void testCallback_onReceiveStateChanged_updateButton() {
+ when(mAudioStreamsHelper.getAllConnectedSources())
+ .thenReturn(List.of(mBroadcastReceiveState));
+ when(mBroadcastReceiveState.getBroadcastId()).thenReturn(BROADCAST_ID);
+ BluetoothLeBroadcastReceiveState state = mock(BluetoothLeBroadcastReceiveState.class);
+ List<Long> bisSyncState = new ArrayList<>();
+ bisSyncState.add(1L);
+ when(state.getBisSyncState()).thenReturn(bisSyncState);
+
+ mController.displayPreference(mScreen);
+ mController.mBroadcastAssistantCallback.onReceiveStateChanged(
+ mock(BluetoothDevice.class), /* sourceId= */ 0, state);
+
+ // Called twice, once in displayPreference, the other one in callback
+ verify(mHeaderController, times(2))
+ .setSummary(mContext.getString(AUDIO_STREAM_HEADER_LISTENING_NOW_SUMMARY));
+ verify(mHeaderController, times(2)).done(true);
}
}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaServiceTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaServiceTest.java
index b184d88..abdd743 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaServiceTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamMediaServiceTest.java
@@ -18,22 +18,29 @@
import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamMediaService.BROADCAST_ID;
import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamMediaService.DEVICES;
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamMediaService.LEAVE_BROADCAST_ACTION;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.app.Notification;
+import android.app.NotificationChannel;
import android.app.NotificationManager;
+import android.app.settings.SettingsEnums;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothProfile;
import android.bluetooth.BluetoothStatusCodes;
import android.content.Context;
import android.content.Intent;
@@ -43,14 +50,20 @@
import android.media.session.ISession;
import android.media.session.ISessionController;
import android.media.session.MediaSessionManager;
+import android.os.Bundle;
+import android.os.IBinder;
import android.os.RemoteException;
import android.platform.test.flag.junit.SetFlagsRule;
import android.util.DisplayMetrics;
import com.android.settings.connecteddevice.audiosharing.audiostreams.testshadows.ShadowAudioStreamsHelper;
+import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
+import com.android.settings.testutils.shadow.ShadowThreadUtils;
import com.android.settingslib.bluetooth.BluetoothEventManager;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
import com.android.settingslib.bluetooth.LocalBluetoothManager;
import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
@@ -72,10 +85,12 @@
import org.robolectric.util.ReflectionHelpers;
import java.util.ArrayList;
+import java.util.Set;
@RunWith(RobolectricTestRunner.class)
@Config(
shadows = {
+ ShadowThreadUtils.class,
ShadowBluetoothAdapter.class,
ShadowBluetoothUtils.class,
ShadowAudioStreamsHelper.class,
@@ -83,6 +98,8 @@
public class AudioStreamMediaServiceTest {
@Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
@Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+ private static final String CHANNEL_ID = "bluetooth_notification_channel";
+ private static final String DEVICE_NAME = "name";
@Mock private Resources mResources;
@Mock private LocalBluetoothManager mLocalBtManager;
@Mock private LocalBluetoothLeBroadcastAssistant mLeBroadcastAssistant;
@@ -91,17 +108,21 @@
@Mock private MediaSessionManager mMediaSessionManager;
@Mock private BluetoothEventManager mBluetoothEventManager;
@Mock private LocalBluetoothProfileManager mLocalBluetoothProfileManager;
+ @Mock private CachedBluetoothDeviceManager mCachedDeviceManager;
@Mock private VolumeControlProfile mVolumeControlProfile;
+ @Mock private CachedBluetoothDevice mCachedBluetoothDevice;
@Mock private BluetoothDevice mDevice;
@Mock private ISession mISession;
@Mock private ISessionController mISessionController;
@Mock private PackageManager mPackageManager;
@Mock private DisplayMetrics mDisplayMetrics;
@Mock private Context mContext;
+ private FakeFeatureFactory mFeatureFactory;
private AudioStreamMediaService mAudioStreamMediaService;
@Before
public void setUp() {
+ mFeatureFactory = FakeFeatureFactory.setupForTest();
ShadowAudioStreamsHelper.setUseMock(mAudioStreamsHelper);
when(mAudioStreamsHelper.getLeBroadcastAssistant()).thenReturn(mLeBroadcastAssistant);
ShadowBluetoothAdapter shadowBluetoothAdapter =
@@ -114,6 +135,9 @@
ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBtManager;
when(mLocalBtManager.getEventManager()).thenReturn(mBluetoothEventManager);
when(mLocalBtManager.getProfileManager()).thenReturn(mLocalBluetoothProfileManager);
+ when(mLocalBtManager.getCachedDeviceManager()).thenReturn(mCachedDeviceManager);
+ when(mCachedDeviceManager.findDevice(any())).thenReturn(mCachedBluetoothDevice);
+ when(mCachedBluetoothDevice.getName()).thenReturn(DEVICE_NAME);
when(mLocalBluetoothProfileManager.getVolumeControlProfile())
.thenReturn(mVolumeControlProfile);
@@ -169,6 +193,25 @@
}
@Test
+ public void onCreate_flagOn_createNewChannel() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ when(mNotificationManager.getNotificationChannel(anyString())).thenReturn(null);
+
+ mAudioStreamMediaService.onCreate();
+
+ ArgumentCaptor<NotificationChannel> notificationChannelCapture =
+ ArgumentCaptor.forClass(NotificationChannel.class);
+ verify(mNotificationManager)
+ .createNotificationChannel(notificationChannelCapture.capture());
+ NotificationChannel newChannel = notificationChannelCapture.getValue();
+ assertThat(newChannel).isNotNull();
+ assertThat(newChannel.getId()).isEqualTo(CHANNEL_ID);
+ assertThat(newChannel.getName())
+ .isEqualTo(mContext.getString(com.android.settings.R.string.bluetooth));
+ assertThat(newChannel.getImportance()).isEqualTo(NotificationManager.IMPORTANCE_HIGH);
+ }
+
+ @Test
public void onDestroy_flagOff_doNothing() {
mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
@@ -183,8 +226,15 @@
@Test
public void onDestroy_flagOn_cleanup() {
mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ var devices = new ArrayList<BluetoothDevice>();
+ devices.add(mDevice);
+
+ Intent intent = new Intent();
+ intent.putExtra(BROADCAST_ID, 1);
+ intent.putParcelableArrayListExtra(DEVICES, devices);
mAudioStreamMediaService.onCreate();
+ mAudioStreamMediaService.onStartCommand(intent, /* flags= */ 0, /* startId= */ 0);
mAudioStreamMediaService.onDestroy();
verify(mBluetoothEventManager).unregisterCallback(any());
@@ -196,7 +246,6 @@
public void onStartCommand_noBroadcastId_stopSelf() {
mAudioStreamMediaService.onStartCommand(new Intent(), /* flags= */ 0, /* startId= */ 0);
- assertThat(mAudioStreamMediaService.mLocalSession).isNull();
verify(mAudioStreamMediaService).stopSelf();
}
@@ -207,7 +256,6 @@
mAudioStreamMediaService.onStartCommand(intent, /* flags= */ 0, /* startId= */ 0);
- assertThat(mAudioStreamMediaService.mLocalSession).isNull();
verify(mAudioStreamMediaService).stopSelf();
}
@@ -222,12 +270,179 @@
mAudioStreamMediaService.onStartCommand(intent, /* flags= */ 0, /* startId= */ 0);
- assertThat(mAudioStreamMediaService.mLocalSession).isNotNull();
- verify(mAudioStreamMediaService, never()).stopSelf();
+ ArgumentCaptor<Notification> notificationCapture =
+ ArgumentCaptor.forClass(Notification.class);
+ verify(mAudioStreamMediaService).startForeground(anyInt(), notificationCapture.capture());
+ var notification = notificationCapture.getValue();
+ assertThat(notification.getSmallIcon()).isNotNull();
+ assertThat(notification.isStyle(Notification.MediaStyle.class)).isTrue();
- ArgumentCaptor<Notification> notification = ArgumentCaptor.forClass(Notification.class);
- verify(mAudioStreamMediaService).startForeground(anyInt(), notification.capture());
- assertThat(notification.getValue().getSmallIcon()).isNotNull();
- assertThat(notification.getValue().isStyle(Notification.MediaStyle.class)).isTrue();
+ verify(mAudioStreamMediaService, never()).stopSelf();
+ }
+
+ @Test
+ public void assistantCallback_onSourceLost_stopSelf() {
+ mAudioStreamMediaService.onCreate();
+
+ assertThat(mAudioStreamMediaService.mBroadcastAssistantCallback).isNotNull();
+ mAudioStreamMediaService.mBroadcastAssistantCallback.onSourceLost(/* broadcastId= */ 0);
+
+ verify(mAudioStreamMediaService).stopSelf();
+ }
+
+ @Test
+ public void assistantCallback_onSourceRemoved_stopSelf() {
+ mAudioStreamMediaService.onCreate();
+
+ assertThat(mAudioStreamMediaService.mBroadcastAssistantCallback).isNotNull();
+ mAudioStreamMediaService.mBroadcastAssistantCallback.onSourceRemoved(
+ mDevice, /* sourceId= */ 0, /* reason= */ 0);
+
+ verify(mAudioStreamMediaService).stopSelf();
+ }
+
+ @Test
+ public void bluetoothCallback_onBluetoothOff_stopSelf() {
+ mAudioStreamMediaService.onCreate();
+
+ assertThat(mAudioStreamMediaService.mBluetoothCallback).isNotNull();
+ mAudioStreamMediaService.mBluetoothCallback.onBluetoothStateChanged(
+ BluetoothAdapter.STATE_OFF);
+
+ verify(mAudioStreamMediaService).stopSelf();
+ }
+
+ @Test
+ public void bluetoothCallback_onDeviceDisconnect_stopSelf() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ mAudioStreamMediaService.onCreate();
+ assertThat(mAudioStreamMediaService.mBluetoothCallback).isNotNull();
+ mAudioStreamMediaService.onStartCommand(setupIntent(), /* flags= */ 0, /* startId= */ 0);
+
+ mAudioStreamMediaService.mBluetoothCallback.onProfileConnectionStateChanged(
+ mCachedBluetoothDevice,
+ BluetoothAdapter.STATE_DISCONNECTED,
+ BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT);
+
+ verify(mAudioStreamMediaService).stopSelf();
+ }
+
+ @Test
+ public void bluetoothCallback_onMemberDeviceDisconnect_stopSelf() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+ when(mCachedBluetoothDevice.getDevice()).thenReturn(mock(BluetoothDevice.class));
+ CachedBluetoothDevice member = mock(CachedBluetoothDevice.class);
+ when(mCachedBluetoothDevice.getMemberDevice()).thenReturn(Set.of(member));
+ when(member.getDevice()).thenReturn(mDevice);
+ var devices = new ArrayList<BluetoothDevice>();
+ devices.add(mDevice);
+
+ Intent intent = new Intent();
+ intent.putExtra(BROADCAST_ID, 1);
+ intent.putParcelableArrayListExtra(DEVICES, devices);
+
+ mAudioStreamMediaService.onCreate();
+ assertThat(mAudioStreamMediaService.mBluetoothCallback).isNotNull();
+ mAudioStreamMediaService.onStartCommand(intent, /* flags= */ 0, /* startId= */ 0);
+ mAudioStreamMediaService.mBluetoothCallback.onProfileConnectionStateChanged(
+ mCachedBluetoothDevice,
+ BluetoothAdapter.STATE_DISCONNECTED,
+ BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT);
+
+ verify(mAudioStreamMediaService).stopSelf();
+ }
+
+ @Test
+ public void mediaSessionCallback_onSeekTo_updateNotification() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+
+ mAudioStreamMediaService.onCreate();
+ mAudioStreamMediaService.onStartCommand(setupIntent(), /* flags= */ 0, /* startId= */ 0);
+ assertThat(mAudioStreamMediaService.mMediaSessionCallback).isNotNull();
+ mAudioStreamMediaService.mMediaSessionCallback.onSeekTo(100);
+
+ verify(mNotificationManager).notify(anyInt(), any());
+ }
+
+ @Test
+ public void mediaSessionCallback_onPause_setVolume() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+
+ mAudioStreamMediaService.onCreate();
+ mAudioStreamMediaService.onStartCommand(setupIntent(), /* flags= */ 0, /* startId= */ 0);
+ assertThat(mAudioStreamMediaService.mMediaSessionCallback).isNotNull();
+ mAudioStreamMediaService.mMediaSessionCallback.onPause();
+
+ verify(mVolumeControlProfile).setDeviceVolume(any(), anyInt(), anyBoolean());
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ any(),
+ eq(SettingsEnums.ACTION_AUDIO_STREAM_NOTIFICATION_MUTE_BUTTON_CLICK),
+ eq(1));
+ }
+
+ @Test
+ public void mediaSessionCallback_onPlay_setVolume() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+
+ mAudioStreamMediaService.onCreate();
+ mAudioStreamMediaService.onStartCommand(setupIntent(), /* flags= */ 0, /* startId= */ 0);
+ assertThat(mAudioStreamMediaService.mMediaSessionCallback).isNotNull();
+ mAudioStreamMediaService.mMediaSessionCallback.onPlay();
+
+ verify(mVolumeControlProfile).setDeviceVolume(any(), anyInt(), anyBoolean());
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ any(),
+ eq(SettingsEnums.ACTION_AUDIO_STREAM_NOTIFICATION_MUTE_BUTTON_CLICK),
+ eq(0));
+ }
+
+ @Test
+ public void mediaSessionCallback_onCustomAction_leaveBroadcast() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+
+ mAudioStreamMediaService.onCreate();
+ mAudioStreamMediaService.onStartCommand(setupIntent(), /* flags= */ 0, /* startId= */ 0);
+ assertThat(mAudioStreamMediaService.mMediaSessionCallback).isNotNull();
+ mAudioStreamMediaService.mMediaSessionCallback.onCustomAction(
+ LEAVE_BROADCAST_ACTION, Bundle.EMPTY);
+
+ verify(mAudioStreamsHelper).removeSource(anyInt());
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ any(),
+ eq(SettingsEnums.ACTION_AUDIO_STREAM_NOTIFICATION_LEAVE_BUTTON_CLICK));
+ }
+
+ @Test
+ public void volumeControlCallback_onDeviceVolumeChanged_updateNotification() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_SHARING);
+
+ mAudioStreamMediaService.onCreate();
+ assertThat(mAudioStreamMediaService.mVolumeControlCallback).isNotNull();
+ mAudioStreamMediaService.onStartCommand(setupIntent(), /* flags= */ 0, /* startId= */ 0);
+ mAudioStreamMediaService.mVolumeControlCallback.onDeviceVolumeChanged(
+ mDevice, /* volume= */ 0);
+
+ verify(mNotificationManager).notify(anyInt(), any());
+ }
+
+ @Test
+ public void onBind_returnNull() {
+ IBinder binder = mAudioStreamMediaService.onBind(new Intent());
+
+ assertThat(binder).isNull();
+ }
+
+ private Intent setupIntent() {
+ when(mCachedBluetoothDevice.getDevice()).thenReturn(mDevice);
+ var devices = new ArrayList<BluetoothDevice>();
+ devices.add(mDevice);
+
+ Intent intent = new Intent();
+ intent.putExtra(BROADCAST_ID, 1);
+ intent.putParcelableArrayListExtra(DEVICES, devices);
+ return intent;
}
}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamStateHandlerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamStateHandlerTest.java
new file mode 100644
index 0000000..adc77a1
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamStateHandlerTest.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.connecteddevice.audiosharing.audiostreams;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+
+import androidx.preference.Preference;
+import androidx.test.core.app.ApplicationProvider;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class AudioStreamStateHandlerTest {
+ @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+ private static final int SUMMARY_RES = 1;
+ private static final String SUMMARY = "summary";
+ private final Context mContext = spy(ApplicationProvider.getApplicationContext());
+ @Mock private AudioStreamsProgressCategoryController mController;
+ @Mock private AudioStreamsHelper mHelper;
+ @Mock private AudioStreamPreference mPreference;
+ private AudioStreamStateHandler mHandler;
+
+ @Before
+ public void setUp() {
+ mHandler = spy(new AudioStreamStateHandler());
+ }
+
+ @Test
+ public void testHandleStateChange_noChange_doNothing() {
+ when(mHandler.getStateEnum())
+ .thenReturn(
+ AudioStreamsProgressCategoryController.AudioStreamState
+ .ADD_SOURCE_BAD_CODE);
+ when(mPreference.getAudioStreamState())
+ .thenReturn(
+ AudioStreamsProgressCategoryController.AudioStreamState
+ .ADD_SOURCE_BAD_CODE);
+
+ mHandler.handleStateChange(mPreference, mController, mHelper);
+
+ verify(mPreference, never()).setAudioStreamState(any());
+ verify(mHandler, never()).performAction(any(), any(), any());
+ verify(mPreference, never()).setIsConnected(anyBoolean(), anyString(), any());
+ }
+
+ @Test
+ public void testHandleStateChange_setNewState() {
+ when(mHandler.getStateEnum())
+ .thenReturn(AudioStreamsProgressCategoryController.AudioStreamState.SOURCE_ADDED);
+ when(mPreference.getAudioStreamState())
+ .thenReturn(
+ AudioStreamsProgressCategoryController.AudioStreamState
+ .ADD_SOURCE_BAD_CODE);
+
+ mHandler.handleStateChange(mPreference, mController, mHelper);
+
+ verify(mPreference)
+ .setAudioStreamState(
+ AudioStreamsProgressCategoryController.AudioStreamState.SOURCE_ADDED);
+ verify(mHandler).performAction(any(), any(), any());
+ verify(mPreference).setIsConnected(eq(true), eq(""), eq(null));
+ }
+
+ @Test
+ public void testHandleStateChange_setNewState_newSummary_newListener() {
+ Preference.OnPreferenceClickListener listener =
+ mock(Preference.OnPreferenceClickListener.class);
+ when(mHandler.getStateEnum())
+ .thenReturn(
+ AudioStreamsProgressCategoryController.AudioStreamState
+ .ADD_SOURCE_BAD_CODE);
+ when(mHandler.getSummary()).thenReturn(SUMMARY_RES);
+ when(mHandler.getOnClickListener(any())).thenReturn(listener);
+ when(mPreference.getAudioStreamState())
+ .thenReturn(
+ AudioStreamsProgressCategoryController.AudioStreamState.ADD_SOURCE_FAILED);
+ when(mPreference.getContext()).thenReturn(mContext);
+ doReturn(SUMMARY).when(mContext).getString(anyInt());
+
+ mHandler.handleStateChange(mPreference, mController, mHelper);
+
+ verify(mPreference)
+ .setAudioStreamState(
+ AudioStreamsProgressCategoryController.AudioStreamState
+ .ADD_SOURCE_BAD_CODE);
+ verify(mHandler).performAction(any(), any(), any());
+ verify(mPreference).setIsConnected(eq(false), eq(SUMMARY), eq(listener));
+ }
+
+ @Test
+ public void testGetSummary() {
+ int res = mHandler.getSummary();
+ assertThat(res).isEqualTo(AudioStreamStateHandler.EMPTY_STRING_RES);
+ }
+
+ @Test
+ public void testGetOnClickListener() {
+ Preference.OnPreferenceClickListener listener = mHandler.getOnClickListener(mController);
+ assertThat(listener).isNull();
+ }
+
+ @Test
+ public void testGetStateEnum() {
+ var state = mHandler.getStateEnum();
+ assertThat(state)
+ .isEqualTo(AudioStreamsProgressCategoryController.AudioStreamState.UNKNOWN);
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceSummaryUpdaterTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceSummaryUpdaterTest.java
index 4403528..d6b99a1 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceSummaryUpdaterTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceSummaryUpdaterTest.java
@@ -20,6 +20,7 @@
import static org.mockito.Mockito.when;
+import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothProfile;
import android.content.Context;
@@ -76,25 +77,46 @@
}
@Test
- public void onActiveDeviceChanged_notLeProfile_doNothing() {
- mUpdater.onActiveDeviceChanged(mCachedBluetoothDevice, 0);
+ public void unregister_doNothing() {
+ mUpdater.register(false);
assertThat(mUpdatedSummary).isNull();
}
@Test
- public void onActiveDeviceChanged_leProfile_summaryUpdated() {
+ public void onProfileConnectionStateChanged_notLeAssistProfile_doNothing() {
+ mUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice, 0, 0);
+
+ assertThat(mUpdatedSummary).isNull();
+ }
+
+ @Test
+ public void onProfileConnectionStateChanged_leAssistantProfile_summaryUpdated() {
ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(
mCachedBluetoothDevice);
when(mCachedBluetoothDevice.getName()).thenReturn(DEVICE_NAME);
- mUpdater.onActiveDeviceChanged(mCachedBluetoothDevice, BluetoothProfile.LE_AUDIO);
+ mUpdater.onProfileConnectionStateChanged(
+ mCachedBluetoothDevice,
+ BluetoothAdapter.STATE_CONNECTED,
+ BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT);
assertThat(mUpdatedSummary).isEqualTo(DEVICE_NAME);
}
@Test
- public void onActiveDeviceChanged_leProfile_noDevice_summaryUpdated() {
- mUpdater.onActiveDeviceChanged(mCachedBluetoothDevice, BluetoothProfile.LE_AUDIO);
+ public void onActiveDeviceChanged_leAssistantProfile_noDevice_summaryUpdated() {
+ mUpdater.onProfileConnectionStateChanged(
+ mCachedBluetoothDevice,
+ BluetoothAdapter.STATE_CONNECTED,
+ BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT);
+
+ assertThat(mUpdatedSummary)
+ .isEqualTo(mContext.getString(R.string.audio_streams_dialog_no_le_device_title));
+ }
+
+ @Test
+ public void onBluetoothStateOff_summaryUpdated() {
+ mUpdater.onBluetoothStateChanged(BluetoothAdapter.STATE_OFF);
assertThat(mUpdatedSummary)
.isEqualTo(mContext.getString(R.string.audio_streams_dialog_no_le_device_title));
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsCategoryControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsCategoryControllerTest.java
index e4b6903..0e00309 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsCategoryControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsCategoryControllerTest.java
@@ -23,11 +23,13 @@
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.robolectric.Shadows.shadowOf;
import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothProfile;
import android.bluetooth.BluetoothStatusCodes;
import android.content.Context;
import android.os.Looper;
@@ -42,6 +44,7 @@
import com.android.settings.connecteddevice.audiosharing.audiostreams.testshadows.ShadowAudioStreamsHelper;
import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
+import com.android.settingslib.bluetooth.BluetoothCallback;
import com.android.settingslib.bluetooth.BluetoothEventManager;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
@@ -57,6 +60,7 @@
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
@@ -116,7 +120,7 @@
when(mBroadcast.isProfileReady()).thenReturn(true);
when(mAssistant.isProfileReady()).thenReturn(true);
when(mVolumeControl.isProfileReady()).thenReturn(true);
- mController = new AudioStreamsCategoryController(mContext, KEY);
+ mController = spy(new AudioStreamsCategoryController(mContext, KEY));
mPreference = new Preference(mContext);
when(mScreen.findPreference(KEY)).thenReturn(mPreference);
mController.displayPreference(mScreen);
@@ -228,4 +232,21 @@
shadowOf(Looper.getMainLooper()).idle();
assertThat(mPreference.isVisible()).isTrue();
}
+
+ @Test
+ public void onProfileConnectionStateChanged_updateVisibility() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_LE_AUDIO_QR_CODE_PRIVATE_BROADCAST_SHARING);
+ ArgumentCaptor<BluetoothCallback> argumentCaptor =
+ ArgumentCaptor.forClass(BluetoothCallback.class);
+ mController.onStart(mLifecycleOwner);
+ verify(mBluetoothEventManager).registerCallback(argumentCaptor.capture());
+
+ BluetoothCallback callback = argumentCaptor.getValue();
+ callback.onProfileConnectionStateChanged(
+ mCachedBluetoothDevice,
+ BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT,
+ BluetoothAdapter.STATE_DISCONNECTED);
+
+ verify(mController).updateVisibility();
+ }
}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDashboardFragmentTest.java
index 9058ab6..dd3d8b7 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDashboardFragmentTest.java
@@ -22,18 +22,25 @@
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import android.app.Activity;
+import android.app.settings.SettingsEnums;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
import android.content.Context;
import android.content.Intent;
+import android.os.Bundle;
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.R;
+import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settingslib.core.AbstractPreferenceController;
import org.junit.Before;
@@ -53,12 +60,14 @@
+ "MD:BgNwVGVzdA==;AS:1;PI:A0;NS:1;BS:3;NB:2;SM:BQNUZXN0BARlbmc=;;";
private Context mContext;
+ private FakeFeatureFactory mFeatureFactory;
private AudioStreamsProgressCategoryController mController;
private TestFragment mTestFragment;
@Before
public void setUp() {
mContext = ApplicationProvider.getApplicationContext();
+ mFeatureFactory = FakeFeatureFactory.setupForTest();
mTestFragment = spy(new TestFragment());
doReturn(mContext).when(mTestFragment).getContext();
mController = spy(new AudioStreamsProgressCategoryController(mContext, "key"));
@@ -114,6 +123,28 @@
mTestFragment.onActivityResult(
REQUEST_SCAN_BT_BROADCAST_QR_CODE, Activity.RESULT_OK, intent);
verify(mController).setSourceFromQrCode(any(), any());
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ any(),
+ eq(SettingsEnums.ACTION_AUDIO_STREAM_QR_CODE_SCAN_SUCCEED),
+ anyInt());
+ }
+
+ @Test
+ public void onAttach_hasArgument() {
+ BluetoothLeBroadcastMetadata data = mock(BluetoothLeBroadcastMetadata.class);
+ Bundle bundle = new Bundle();
+ bundle.putParcelable(KEY_BROADCAST_METADATA, data);
+ mTestFragment.setArguments(bundle);
+
+ mTestFragment.onAttach(mContext);
+
+ verify(mController).setSourceFromQrCode(eq(data), any());
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ any(),
+ eq(SettingsEnums.ACTION_AUDIO_STREAM_QR_CODE_SCAN_SUCCEED),
+ anyInt());
}
public static class TestFragment extends AudioStreamsDashboardFragment {
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDialogFragmentTest.java
new file mode 100644
index 0000000..efdd389
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDialogFragmentTest.java
@@ -0,0 +1,88 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.connecteddevice.audiosharing.audiostreams;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.Bundle;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowAlertDialog;
+import org.robolectric.shadows.ShadowLooper;
+import org.robolectric.shadows.androidx.fragment.FragmentController;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+ shadows = {
+ ShadowAlertDialog.class,
+ })
+public class AudioStreamsDialogFragmentTest {
+ private final Context mContext = ApplicationProvider.getApplicationContext();
+ private AudioStreamsDialogFragment.DialogBuilder mDialogBuilder;
+ private AudioStreamsDialogFragment mFragment;
+
+ @Before
+ public void setUp() {
+ mDialogBuilder = spy(new AudioStreamsDialogFragment.DialogBuilder(mContext));
+ mFragment = new AudioStreamsDialogFragment(mDialogBuilder, SettingsEnums.PAGE_UNKNOWN);
+ }
+
+ @After
+ public void tearDown() {
+ ShadowAlertDialog.reset();
+ }
+
+ @Test
+ public void testGetMetricsCategory() {
+ int dialogId = mFragment.getMetricsCategory();
+
+ assertThat(dialogId).isEqualTo(SettingsEnums.PAGE_UNKNOWN);
+ }
+
+ @Test
+ public void testOnCreateDialog() {
+ mFragment.onCreateDialog(Bundle.EMPTY);
+
+ verify(mDialogBuilder).build();
+ }
+
+ @Test
+ public void testShowDialog_dismissAll() {
+ FragmentController.setupFragment(mFragment);
+ AudioStreamsDialogFragment.show(mFragment, mDialogBuilder, SettingsEnums.PAGE_UNKNOWN);
+ ShadowLooper.idleMainLooper();
+
+ var dialog = ShadowAlertDialog.getLatestAlertDialog();
+ assertThat(dialog).isNotNull();
+ assertThat(dialog.isShowing()).isTrue();
+
+ AudioStreamsDialogFragment.dismissAll(mFragment);
+ assertThat(dialog.isShowing()).isFalse();
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsHelperTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsHelperTest.java
new file mode 100644
index 0000000..66ef5fb
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsHelperTest.java
@@ -0,0 +1,239 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.connecteddevice.audiosharing.audiostreams;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
+import android.content.Context;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.testutils.shadow.ShadowThreadUtils;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+ shadows = {
+ ShadowThreadUtils.class,
+ })
+public class AudioStreamsHelperTest {
+ @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+ private static final int GROUP_ID = 1;
+ private static final int BROADCAST_ID_1 = 1;
+ private static final int BROADCAST_ID_2 = 2;
+ private static final String BROADCAST_NAME = "name";
+ private final Context mContext = spy(ApplicationProvider.getApplicationContext());
+ @Mock private LocalBluetoothManager mLocalBluetoothManager;
+ @Mock private LocalBluetoothProfileManager mLocalBluetoothProfileManager;
+ @Mock private LocalBluetoothLeBroadcastAssistant mAssistant;
+ @Mock private CachedBluetoothDeviceManager mDeviceManager;
+ @Mock private BluetoothLeBroadcastMetadata mMetadata;
+ @Mock private CachedBluetoothDevice mCachedDevice;
+ @Mock private BluetoothDevice mDevice;
+ private AudioStreamsHelper mHelper;
+
+ @Before
+ public void setUp() {
+ when(mLocalBluetoothManager.getProfileManager()).thenReturn(mLocalBluetoothProfileManager);
+ when(mLocalBluetoothManager.getCachedDeviceManager()).thenReturn(mDeviceManager);
+ when(mLocalBluetoothProfileManager.getLeAudioBroadcastAssistantProfile())
+ .thenReturn(mAssistant);
+ mHelper = spy(new AudioStreamsHelper(mLocalBluetoothManager));
+ }
+
+ @Test
+ public void addSource_noDevice_doNothing() {
+ when(mAssistant.getDevicesMatchingConnectionStates(any()))
+ .thenReturn(Collections.emptyList());
+ mHelper.addSource(mMetadata);
+
+ verify(mAssistant, never()).addSource(any(), any(), anyBoolean());
+ }
+
+ @Test
+ public void addSource_hasDevice() {
+ List<BluetoothDevice> devices = new ArrayList<>();
+ devices.add(mDevice);
+ when(mAssistant.getDevicesMatchingConnectionStates(any())).thenReturn(devices);
+ when(mDeviceManager.findDevice(any())).thenReturn(mCachedDevice);
+ when(mCachedDevice.getDevice()).thenReturn(mDevice);
+ when(mCachedDevice.getGroupId()).thenReturn(GROUP_ID);
+
+ mHelper.addSource(mMetadata);
+
+ verify(mAssistant).addSource(eq(mDevice), eq(mMetadata), anyBoolean());
+ }
+
+ @Test
+ public void removeSource_noDevice_doNothing() {
+ when(mAssistant.getDevicesMatchingConnectionStates(any()))
+ .thenReturn(Collections.emptyList());
+ mHelper.removeSource(BROADCAST_ID_1);
+
+ verify(mAssistant, never()).removeSource(any(), anyInt());
+ }
+
+ @Test
+ public void removeSource_noConnectedSource_doNothing() {
+ List<BluetoothDevice> devices = new ArrayList<>();
+ devices.add(mDevice);
+ when(mAssistant.getDevicesMatchingConnectionStates(any())).thenReturn(devices);
+ BluetoothLeBroadcastReceiveState source = mock(BluetoothLeBroadcastReceiveState.class);
+ when(source.getBroadcastId()).thenReturn(BROADCAST_ID_2);
+ when(mDeviceManager.findDevice(any())).thenReturn(mCachedDevice);
+ when(mCachedDevice.getDevice()).thenReturn(mDevice);
+ when(mCachedDevice.getGroupId()).thenReturn(GROUP_ID);
+ when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of(source));
+
+ mHelper.removeSource(BROADCAST_ID_1);
+
+ verify(mAssistant, never()).removeSource(any(), anyInt());
+ }
+
+ @Test
+ public void removeSource_hasConnectedSource() {
+ List<BluetoothDevice> devices = new ArrayList<>();
+ devices.add(mDevice);
+ when(mAssistant.getDevicesMatchingConnectionStates(any())).thenReturn(devices);
+ BluetoothLeBroadcastReceiveState source = mock(BluetoothLeBroadcastReceiveState.class);
+ when(source.getBroadcastId()).thenReturn(BROADCAST_ID_2);
+ when(mDeviceManager.findDevice(any())).thenReturn(mCachedDevice);
+ when(mCachedDevice.getDevice()).thenReturn(mDevice);
+ when(mCachedDevice.getGroupId()).thenReturn(GROUP_ID);
+ when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of(source));
+ List<Long> bisSyncState = new ArrayList<>();
+ bisSyncState.add(1L);
+ when(source.getBisSyncState()).thenReturn(bisSyncState);
+
+ mHelper.removeSource(BROADCAST_ID_2);
+
+ verify(mAssistant).removeSource(eq(mDevice), anyInt());
+ }
+
+ @Test
+ public void removeSource_memberHasConnectedSource() {
+ List<BluetoothDevice> devices = new ArrayList<>();
+ var memberDevice = mock(BluetoothDevice.class);
+ devices.add(mDevice);
+ devices.add(memberDevice);
+ when(mAssistant.getDevicesMatchingConnectionStates(any())).thenReturn(devices);
+ BluetoothLeBroadcastReceiveState source = mock(BluetoothLeBroadcastReceiveState.class);
+ when(source.getBroadcastId()).thenReturn(BROADCAST_ID_2);
+ when(mDeviceManager.findDevice(any())).thenReturn(mCachedDevice);
+ when(mCachedDevice.getDevice()).thenReturn(mDevice);
+ var memberCachedDevice = mock(CachedBluetoothDevice.class);
+ when(memberCachedDevice.getDevice()).thenReturn(memberDevice);
+ when(mCachedDevice.getMemberDevice()).thenReturn(ImmutableSet.of(memberCachedDevice));
+ when(mCachedDevice.getGroupId()).thenReturn(GROUP_ID);
+ when(mAssistant.getAllSources(mDevice)).thenReturn(ImmutableList.of());
+ when(mAssistant.getAllSources(memberDevice)).thenReturn(ImmutableList.of(source));
+ List<Long> bisSyncState = new ArrayList<>();
+ bisSyncState.add(1L);
+ when(source.getBisSyncState()).thenReturn(bisSyncState);
+
+ mHelper.removeSource(BROADCAST_ID_2);
+
+ verify(mAssistant).removeSource(eq(memberDevice), anyInt());
+ }
+
+ @Test
+ public void getAllConnectedSources_noAssistant() {
+ when(mLocalBluetoothProfileManager.getLeAudioBroadcastAssistantProfile()).thenReturn(null);
+ mHelper = new AudioStreamsHelper(mLocalBluetoothManager);
+
+ assertThat(mHelper.getAllConnectedSources()).isEmpty();
+ }
+
+ @Test
+ public void getAllConnectedSources_returnSource() {
+ List<BluetoothDevice> devices = new ArrayList<>();
+ devices.add(mDevice);
+ when(mAssistant.getDevicesMatchingConnectionStates(any())).thenReturn(devices);
+ BluetoothLeBroadcastReceiveState source = mock(BluetoothLeBroadcastReceiveState.class);
+ when(mDeviceManager.findDevice(any())).thenReturn(mCachedDevice);
+ when(mCachedDevice.getDevice()).thenReturn(mDevice);
+ when(mCachedDevice.getGroupId()).thenReturn(GROUP_ID);
+ when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of(source));
+ List<Long> bisSyncState = new ArrayList<>();
+ bisSyncState.add(1L);
+ when(source.getBisSyncState()).thenReturn(bisSyncState);
+
+ var list = mHelper.getAllConnectedSources();
+ assertThat(list).isNotEmpty();
+ assertThat(list.get(0)).isEqualTo(source);
+ }
+
+ @Test
+ public void startMediaService_noDevice_doNothing() {
+ mHelper.startMediaService(mContext, BROADCAST_ID_1, BROADCAST_NAME);
+
+ verify(mContext, never()).startService(any());
+ }
+
+ @Test
+ public void startMediaService_hasDevice() {
+ List<BluetoothDevice> devices = new ArrayList<>();
+ devices.add(mDevice);
+ when(mAssistant.getDevicesMatchingConnectionStates(any())).thenReturn(devices);
+ BluetoothLeBroadcastReceiveState source = mock(BluetoothLeBroadcastReceiveState.class);
+ when(mDeviceManager.findDevice(any())).thenReturn(mCachedDevice);
+ when(mCachedDevice.getDevice()).thenReturn(mDevice);
+ when(mCachedDevice.getGroupId()).thenReturn(GROUP_ID);
+ when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of(source));
+ List<Long> bisSyncState = new ArrayList<>();
+ bisSyncState.add(1L);
+ when(source.getBisSyncState()).thenReturn(bisSyncState);
+
+ mHelper.startMediaService(mContext, BROADCAST_ID_1, BROADCAST_NAME);
+
+ verify(mContext).startService(any());
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryCallbackTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryCallbackTest.java
new file mode 100644
index 0000000..164c2f0
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryCallbackTest.java
@@ -0,0 +1,140 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.connecteddevice.audiosharing.audiostreams;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+public class AudioStreamsProgressCategoryCallbackTest {
+ @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+ @Mock private AudioStreamsProgressCategoryController mController;
+ @Mock private BluetoothDevice mDevice;
+ @Mock private BluetoothLeBroadcastReceiveState mState;
+ @Mock private BluetoothLeBroadcastMetadata mMetadata;
+ private AudioStreamsProgressCategoryCallback mCallback;
+
+ @Before
+ public void setUp() {
+ mCallback = new AudioStreamsProgressCategoryCallback(mController);
+ }
+
+ @Test
+ public void testOnReceiveStateChanged_connected() {
+ List<Long> bisSyncState = new ArrayList<>();
+ bisSyncState.add(1L);
+ when(mState.getBisSyncState()).thenReturn(bisSyncState);
+ mCallback.onReceiveStateChanged(mDevice, /* sourceId= */ 0, mState);
+
+ verify(mController).handleSourceConnected(any());
+ }
+
+ @Test
+ public void testOnReceiveStateChanged_badCode() {
+ when(mState.getPaSyncState())
+ .thenReturn(BluetoothLeBroadcastReceiveState.PA_SYNC_STATE_SYNCHRONIZED);
+ when(mState.getBigEncryptionState())
+ .thenReturn(BluetoothLeBroadcastReceiveState.BIG_ENCRYPTION_STATE_BAD_CODE);
+ mCallback.onReceiveStateChanged(mDevice, /* sourceId= */ 0, mState);
+
+ verify(mController).handleSourceConnectBadCode(any());
+ }
+
+ @Test
+ public void testOnSearchStartFailed() {
+ mCallback.onSearchStartFailed(/* reason= */ 0);
+
+ verify(mController).showToast(anyString());
+ verify(mController).setScanning(anyBoolean());
+ }
+
+ @Test
+ public void testOnSearchStarted() {
+ mCallback.onSearchStarted(/* reason= */ 0);
+
+ verify(mController).setScanning(anyBoolean());
+ }
+
+ @Test
+ public void testOnSearchStopFailed() {
+ mCallback.onSearchStopFailed(/* reason= */ 0);
+
+ verify(mController).showToast(anyString());
+ }
+
+ @Test
+ public void testOnSearchStopped() {
+ mCallback.onSearchStopped(/* reason= */ 0);
+
+ verify(mController).setScanning(anyBoolean());
+ }
+
+ @Test
+ public void testOnSourceAddFailed() {
+ when(mMetadata.getBroadcastId()).thenReturn(1);
+ mCallback.onSourceAddFailed(mDevice, mMetadata, /* reason= */ 0);
+
+ verify(mController).handleSourceFailedToConnect(1);
+ }
+
+ @Test
+ public void testOnSourceFound() {
+ mCallback.onSourceFound(mMetadata);
+
+ verify(mController).handleSourceFound(mMetadata);
+ }
+
+ @Test
+ public void testOnSourceLost() {
+ mCallback.onSourceLost(/* broadcastId= */ 1);
+
+ verify(mController).handleSourceLost(1);
+ }
+
+ @Test
+ public void testOnSourceRemoveFailed() {
+ mCallback.onSourceRemoveFailed(mDevice, /* sourceId= */ 0, /* reason= */ 0);
+
+ verify(mController).showToast(anyString());
+ }
+
+ @Test
+ public void testOnSourceRemoved() {
+ mCallback.onSourceRemoved(mDevice, /* sourceId= */ 0, /* reason= */ 0);
+
+ verify(mController).handleSourceRemoved();
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryControllerTest.java
new file mode 100644
index 0000000..fd1b649
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryControllerTest.java
@@ -0,0 +1,788 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.connecteddevice.audiosharing.audiostreams;
+
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsProgressCategoryController.AudioStreamState.ADD_SOURCE_BAD_CODE;
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsProgressCategoryController.AudioStreamState.ADD_SOURCE_FAILED;
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsProgressCategoryController.AudioStreamState.ADD_SOURCE_WAIT_FOR_RESPONSE;
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsProgressCategoryController.AudioStreamState.SOURCE_ADDED;
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsProgressCategoryController.AudioStreamState.SYNCED;
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsProgressCategoryController.AudioStreamState.WAIT_FOR_SYNC;
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsProgressCategoryController.UNSET_BROADCAST_ID;
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+import static org.robolectric.Shadows.shadowOf;
+
+import static java.util.Collections.emptyList;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothLeAudioContentMetadata;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
+import android.bluetooth.BluetoothProfile;
+import android.content.Context;
+import android.os.Looper;
+import android.view.View;
+import android.widget.Button;
+import android.widget.TextView;
+
+import androidx.fragment.app.Fragment;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.connecteddevice.audiosharing.audiostreams.testshadows.ShadowAudioStreamsHelper;
+import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
+import com.android.settings.testutils.shadow.ShadowThreadUtils;
+import com.android.settingslib.bluetooth.BluetoothEventManager;
+import com.android.settingslib.bluetooth.BluetoothLeBroadcastMetadataExt;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+import com.google.common.collect.ImmutableList;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowAlertDialog;
+import org.robolectric.shadows.androidx.fragment.FragmentController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+ shadows = {
+ ShadowBluetoothUtils.class,
+ ShadowAudioStreamsHelper.class,
+ ShadowThreadUtils.class,
+ ShadowAlertDialog.class,
+ })
+public class AudioStreamsProgressCategoryControllerTest {
+ @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+ private static final String VALID_METADATA =
+ "BLUETOOTH:UUID:184F;BN:VGVzdA==;AT:1;AD:00A1A1A1A1A1;BI:1E240;BC:VGVzdENvZGU=;"
+ + "MD:BgNwVGVzdA==;AS:1;PI:A0;NS:1;BS:3;NB:2;SM:BQNUZXN0BARlbmc=;;";
+ private static final String KEY = "audio_streams_nearby_category";
+ private static final int QR_CODE_BROADCAST_ID = 1;
+ private static final int ALREADY_CONNECTED_BROADCAST_ID = 2;
+ private static final int NEWLY_FOUND_BROADCAST_ID = 3;
+ private static final String BROADCAST_NAME_1 = "name_1";
+ private static final String BROADCAST_NAME_2 = "name_2";
+ private static final byte[] BROADCAST_CODE = new byte[] {1};
+ private final Context mContext = ApplicationProvider.getApplicationContext();
+ @Mock private LocalBluetoothManager mLocalBtManager;
+ @Mock private BluetoothEventManager mBluetoothEventManager;
+ @Mock private PreferenceScreen mScreen;
+ @Mock private AudioStreamsHelper mAudioStreamsHelper;
+ @Mock private LocalBluetoothLeBroadcastAssistant mLeBroadcastAssistant;
+ @Mock private BluetoothLeBroadcastMetadata mMetadata;
+ @Mock private CachedBluetoothDevice mDevice;
+ @Mock private AudioStreamsProgressCategoryPreference mPreference;
+ private Lifecycle mLifecycle;
+ private LifecycleOwner mLifecycleOwner;
+ private Fragment mFragment;
+ private TestController mController;
+
+ @Before
+ public void setUp() {
+ ShadowAudioStreamsHelper.setUseMock(mAudioStreamsHelper);
+ when(mAudioStreamsHelper.getLeBroadcastAssistant()).thenReturn(mLeBroadcastAssistant);
+ when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(emptyList());
+
+ ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBtManager;
+ when(mLocalBtManager.getEventManager()).thenReturn(mBluetoothEventManager);
+ when(mLeBroadcastAssistant.isSearchInProgress()).thenReturn(false);
+
+ when(mScreen.findPreference(anyString())).thenReturn(mPreference);
+
+ mLifecycleOwner = () -> mLifecycle;
+ mLifecycle = new Lifecycle(mLifecycleOwner);
+
+ mFragment = new Fragment();
+ mController = spy(new TestController(mContext, KEY));
+ }
+
+ @After
+ public void tearDown() {
+ ShadowBluetoothUtils.reset();
+ ShadowAudioStreamsHelper.reset();
+ }
+
+ @Test
+ public void testGetAvailabilityStatus() {
+ int status = mController.getAvailabilityStatus();
+
+ assertThat(status).isEqualTo(AVAILABLE);
+ }
+
+ @Test
+ public void testDisplayPreference() {
+ mController.displayPreference(mScreen);
+
+ verify(mPreference).setVisible(true);
+ }
+
+ @Test
+ public void testSetScanning() {
+ mController.displayPreference(mScreen);
+ mController.setScanning(true);
+
+ verify(mPreference).setProgress(true);
+ }
+
+ @Test
+ public void testShowToast_noError() {
+ mController.showToast(BROADCAST_NAME_1);
+ }
+
+ @Test
+ public void testOnStop_unregister() {
+ mController.onStop(mLifecycleOwner);
+
+ verify(mBluetoothEventManager).unregisterCallback(any());
+ }
+
+ @Test
+ public void testGetFragment_returnFragment() {
+ mController.setFragment(mFragment);
+
+ assertThat(mController.getFragment()).isEqualTo(mFragment);
+ }
+
+ @Test
+ public void testOnStart_initNoDevice_showDialog() {
+ when(mLeBroadcastAssistant.isSearchInProgress()).thenReturn(true);
+
+ FragmentController.setupFragment(mFragment);
+ mController.setFragment(mFragment);
+ mController.displayPreference(mScreen);
+ mController.onStart(mLifecycleOwner);
+ shadowOf(Looper.getMainLooper()).idle();
+
+ // Called twice, once in displayPreference, the other in init()
+ verify(mPreference, times(2)).setVisible(anyBoolean());
+ verify(mPreference).removeAudioStreamPreferences();
+ verify(mLeBroadcastAssistant).stopSearchingForSources();
+ verify(mLeBroadcastAssistant).unregisterServiceCallBack(any());
+
+ var dialog = ShadowAlertDialog.getLatestAlertDialog();
+ assertThat(dialog).isNotNull();
+ assertThat(dialog.isShowing()).isTrue();
+
+ TextView title = dialog.findViewById(R.id.dialog_title);
+ assertThat(title).isNotNull();
+ assertThat(title.getText())
+ .isEqualTo(mContext.getString(R.string.audio_streams_dialog_no_le_device_title));
+ TextView subtitle1 = dialog.findViewById(R.id.dialog_subtitle);
+ assertThat(subtitle1).isNotNull();
+ assertThat(subtitle1.getVisibility()).isEqualTo(View.GONE);
+ TextView subtitle2 = dialog.findViewById(R.id.dialog_subtitle_2);
+ assertThat(subtitle2).isNotNull();
+ assertThat(subtitle2.getText())
+ .isEqualTo(mContext.getString(R.string.audio_streams_dialog_no_le_device_subtitle));
+ View leftButton = dialog.findViewById(R.id.left_button);
+ assertThat(leftButton).isNotNull();
+ assertThat(leftButton.getVisibility()).isEqualTo(View.VISIBLE);
+ Button rightButton = dialog.findViewById(R.id.right_button);
+ assertThat(rightButton).isNotNull();
+ assertThat(rightButton.getText())
+ .isEqualTo(mContext.getString(R.string.audio_streams_dialog_no_le_device_button));
+ assertThat(rightButton.hasOnClickListeners()).isTrue();
+
+ dialog.cancel();
+ }
+
+ @Test
+ public void testBluetoothOff_triggerRunnable() {
+ mController.mBluetoothCallback.onBluetoothStateChanged(BluetoothAdapter.STATE_OFF);
+
+ verify(mController.mExecutor).execute(any());
+ }
+
+ @Test
+ public void testDeviceConnectionStateChanged_triggerRunnable() {
+ mController.mBluetoothCallback.onProfileConnectionStateChanged(
+ mDevice,
+ BluetoothAdapter.STATE_DISCONNECTED,
+ BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT);
+
+ verify(mController.mExecutor).execute(any());
+ }
+
+ @Test
+ public void testOnStart_initHasDevice_noPreference() {
+ // Setup a device
+ ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+ mController.onStart(mLifecycleOwner);
+ shadowOf(Looper.getMainLooper()).idle();
+
+ verify(mLeBroadcastAssistant).registerServiceCallBack(any(), any());
+ verify(mLeBroadcastAssistant).startSearchingForSources(any());
+
+ var dialog = ShadowAlertDialog.getLatestAlertDialog();
+ assertThat(dialog).isNull();
+
+ verify(mController, never()).moveToState(any(), any());
+ }
+
+ @Test
+ public void testOnStart_initHasDevice_scanningInProgress() {
+ // Setup a device
+ ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+ when(mLeBroadcastAssistant.isSearchInProgress()).thenReturn(true);
+
+ mController.onStart(mLifecycleOwner);
+ shadowOf(Looper.getMainLooper()).idle();
+
+ verify(mLeBroadcastAssistant).registerServiceCallBack(any(), any());
+ verify(mLeBroadcastAssistant).stopSearchingForSources();
+ verify(mLeBroadcastAssistant).startSearchingForSources(any());
+
+ var dialog = ShadowAlertDialog.getLatestAlertDialog();
+ assertThat(dialog).isNull();
+
+ verify(mController, never()).moveToState(any(), any());
+ }
+
+ @Test
+ public void testOnStart_handleSourceFromQrCode() {
+ // Setup a device
+ ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+ // Setup a source from qr code
+ mController.setSourceFromQrCode(mMetadata, SourceOriginForLogging.UNKNOWN);
+ when(mMetadata.getBroadcastId()).thenReturn(QR_CODE_BROADCAST_ID);
+
+ // Handle the source from qr code in onStart
+ mController.displayPreference(mScreen);
+ mController.onStart(mLifecycleOwner);
+ shadowOf(Looper.getMainLooper()).idle();
+
+ // Verify the connected source is created and moved to WAIT_FOR_SYNC
+ ArgumentCaptor<AudioStreamPreference> preference =
+ ArgumentCaptor.forClass(AudioStreamPreference.class);
+ ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> state =
+ ArgumentCaptor.forClass(
+ AudioStreamsProgressCategoryController.AudioStreamState.class);
+
+ verify(mController).moveToState(preference.capture(), state.capture());
+ assertThat(preference.getValue()).isNotNull();
+ assertThat(preference.getValue().getAudioStreamBroadcastId())
+ .isEqualTo(QR_CODE_BROADCAST_ID);
+ assertThat(state.getValue()).isEqualTo(WAIT_FOR_SYNC);
+ }
+
+ @Test
+ public void testOnStart_handleSourceAlreadyConnected() {
+ // Setup a device
+ ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+ // Setup a connected source
+ BluetoothLeBroadcastReceiveState connected =
+ createConnectedMock(ALREADY_CONNECTED_BROADCAST_ID);
+ List<BluetoothLeBroadcastReceiveState> list = new ArrayList<>();
+ list.add(connected);
+ when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(list);
+
+ // Handle already connected source in onStart
+ mController.displayPreference(mScreen);
+ mController.onStart(mLifecycleOwner);
+ shadowOf(Looper.getMainLooper()).idle();
+
+ ArgumentCaptor<AudioStreamPreference> preference =
+ ArgumentCaptor.forClass(AudioStreamPreference.class);
+ ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> state =
+ ArgumentCaptor.forClass(
+ AudioStreamsProgressCategoryController.AudioStreamState.class);
+
+ // Verify the connected source is created and moved to SOURCE_ADDED
+ verify(mController).moveToState(preference.capture(), state.capture());
+ assertThat(preference.getValue()).isNotNull();
+ assertThat(preference.getValue().getAudioStreamBroadcastId())
+ .isEqualTo(ALREADY_CONNECTED_BROADCAST_ID);
+ assertThat(state.getValue()).isEqualTo(SOURCE_ADDED);
+ }
+
+ @Test
+ public void testOnStart_sourceFromQrCodeNoId_sourceAlreadyConnected_sameName_updateId() {
+ // Setup a device
+ ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+ // Setup source from qr code with unset id and BROADCAST_NAME_1. Creating a real metadata
+ // for properly update its id.
+ var metadata =
+ BluetoothLeBroadcastMetadataExt.INSTANCE.convertToBroadcastMetadata(VALID_METADATA);
+ assertThat(metadata).isNotNull();
+ var metadataWithNoIdAndSameName =
+ new BluetoothLeBroadcastMetadata.Builder(metadata)
+ .setBroadcastId(UNSET_BROADCAST_ID)
+ .setBroadcastName(BROADCAST_NAME_1)
+ .build();
+ mController.setSourceFromQrCode(
+ metadataWithNoIdAndSameName, SourceOriginForLogging.UNKNOWN);
+
+ // Setup a connected source with name BROADCAST_NAME_1 and id
+ BluetoothLeBroadcastReceiveState connected =
+ createConnectedMock(ALREADY_CONNECTED_BROADCAST_ID);
+ var data = mock(BluetoothLeAudioContentMetadata.class);
+ when(connected.getSubgroupMetadata()).thenReturn(ImmutableList.of(data));
+ when(data.getProgramInfo()).thenReturn(BROADCAST_NAME_1);
+ when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(ImmutableList.of(connected));
+
+ // Handle both source from qr code and already connected source in onStart
+ mController.displayPreference(mScreen);
+ mController.onStart(mLifecycleOwner);
+ shadowOf(Looper.getMainLooper()).idle();
+
+ // Verify two preferences created, one moved to state WAIT_FOR_SYNC, one to SOURCE_ADDED.
+ // Both has ALREADY_CONNECTED_BROADCAST_ID as the UNSET_ID is updated to match.
+ ArgumentCaptor<AudioStreamPreference> preference =
+ ArgumentCaptor.forClass(AudioStreamPreference.class);
+ ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> state =
+ ArgumentCaptor.forClass(
+ AudioStreamsProgressCategoryController.AudioStreamState.class);
+ verify(mController, times(2)).moveToState(preference.capture(), state.capture());
+
+ List<AudioStreamPreference> preferences = preference.getAllValues();
+ assertThat(preferences.size()).isEqualTo(2);
+ List<AudioStreamsProgressCategoryController.AudioStreamState> states = state.getAllValues();
+ assertThat(states.size()).isEqualTo(2);
+
+ // The preference contains source from qr code
+ assertThat(preferences.get(0).getAudioStreamBroadcastId())
+ .isEqualTo(ALREADY_CONNECTED_BROADCAST_ID);
+ assertThat(states.get(0)).isEqualTo(WAIT_FOR_SYNC);
+
+ // The preference contains already connected source
+ assertThat(preferences.get(1).getAudioStreamBroadcastId())
+ .isEqualTo(ALREADY_CONNECTED_BROADCAST_ID);
+ assertThat(states.get(1)).isEqualTo(SOURCE_ADDED);
+ }
+
+ @Test
+ public void testHandleSourceFound_addNew() {
+ // Setup a device
+ ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+ when(mMetadata.getBroadcastId()).thenReturn(NEWLY_FOUND_BROADCAST_ID);
+ // A new source is found
+ mController.handleSourceFound(mMetadata);
+
+ // Verify a preference is created with state SYNCED.
+ ArgumentCaptor<AudioStreamPreference> preference =
+ ArgumentCaptor.forClass(AudioStreamPreference.class);
+ ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> state =
+ ArgumentCaptor.forClass(
+ AudioStreamsProgressCategoryController.AudioStreamState.class);
+
+ verify(mController).moveToState(preference.capture(), state.capture());
+ assertThat(preference.getValue()).isNotNull();
+ assertThat(preference.getValue().getAudioStreamBroadcastId())
+ .isEqualTo(NEWLY_FOUND_BROADCAST_ID);
+ assertThat(state.getValue()).isEqualTo(SYNCED);
+ }
+
+ @Test
+ public void testHandleSourceAddRequest_updateMetadataAndState() {
+ // Setup a device
+ ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+ var metadata =
+ BluetoothLeBroadcastMetadataExt.INSTANCE.convertToBroadcastMetadata(VALID_METADATA);
+ assertThat(metadata).isNotNull();
+ var metadataWithNoCode =
+ new BluetoothLeBroadcastMetadata.Builder(metadata)
+ .setBroadcastId(NEWLY_FOUND_BROADCAST_ID)
+ .setBroadcastName(BROADCAST_NAME_1)
+ .build();
+ // A new source is found
+ mController.handleSourceFound(metadataWithNoCode);
+
+ ArgumentCaptor<AudioStreamPreference> preferenceCaptor =
+ ArgumentCaptor.forClass(AudioStreamPreference.class);
+ ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> stateCaptor =
+ ArgumentCaptor.forClass(
+ AudioStreamsProgressCategoryController.AudioStreamState.class);
+
+ // moving state to SYNCED
+ verify(mController).moveToState(preferenceCaptor.capture(), stateCaptor.capture());
+ var preference = preferenceCaptor.getValue();
+ var state = stateCaptor.getValue();
+
+ assertThat(preference).isNotNull();
+ assertThat(preference.getAudioStreamBroadcastId()).isEqualTo(NEWLY_FOUND_BROADCAST_ID);
+ assertThat(state).isEqualTo(SYNCED);
+
+ var updatedMetadata =
+ new BluetoothLeBroadcastMetadata.Builder(metadataWithNoCode)
+ .setBroadcastCode(BROADCAST_CODE)
+ .build();
+ mController.handleSourceAddRequest(preference, updatedMetadata);
+ // state updated to ADD_SOURCE_WAIT_FOR_RESPONSE
+ assertThat(preference.getAudioStreamBroadcastId()).isEqualTo(NEWLY_FOUND_BROADCAST_ID);
+ assertThat(preference.getAudioStreamMetadata().getBroadcastCode())
+ .isEqualTo(BROADCAST_CODE);
+ assertThat(preference.getAudioStreamState()).isEqualTo(ADD_SOURCE_WAIT_FOR_RESPONSE);
+ }
+
+ @Test
+ public void testHandleSourceFound_sameIdWithSourceFromQrCode_updateMetadataAndState() {
+ // Setup a device
+ ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+ // Setup source from qr code with QR_CODE_BROADCAST_ID, BROADCAST_NAME_1 and BROADCAST_CODE.
+ var metadata =
+ BluetoothLeBroadcastMetadataExt.INSTANCE.convertToBroadcastMetadata(VALID_METADATA);
+ assertThat(metadata).isNotNull();
+ var metadataFromQrCode =
+ new BluetoothLeBroadcastMetadata.Builder(metadata)
+ .setBroadcastId(QR_CODE_BROADCAST_ID)
+ .setBroadcastName(BROADCAST_NAME_1)
+ .setBroadcastCode(BROADCAST_CODE)
+ .build();
+ mController.setSourceFromQrCode(metadataFromQrCode, SourceOriginForLogging.UNKNOWN);
+
+ // Handle the source from qr code in onStart
+ mController.displayPreference(mScreen);
+ mController.onStart(mLifecycleOwner);
+ shadowOf(Looper.getMainLooper()).idle();
+
+ // A new source is found
+ mController.handleSourceFound(
+ new BluetoothLeBroadcastMetadata.Builder(metadata)
+ .setBroadcastId(QR_CODE_BROADCAST_ID)
+ .setBroadcastName(BROADCAST_NAME_2)
+ .build());
+ shadowOf(Looper.getMainLooper()).idle();
+
+ ArgumentCaptor<AudioStreamPreference> preference =
+ ArgumentCaptor.forClass(AudioStreamPreference.class);
+ ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> state =
+ ArgumentCaptor.forClass(
+ AudioStreamsProgressCategoryController.AudioStreamState.class);
+
+ verify(mController, times(2)).moveToState(preference.capture(), state.capture());
+ List<AudioStreamPreference> preferences = preference.getAllValues();
+ List<AudioStreamsProgressCategoryController.AudioStreamState> states = state.getAllValues();
+
+ // Verify the qr code source is created with WAIT_FOR_SYNC, broadcast name got updated to
+ // BROADCAST_NAME_2
+ var sourceFromQrCode = preferences.get(0);
+ assertThat(sourceFromQrCode.getAudioStreamBroadcastId()).isEqualTo(QR_CODE_BROADCAST_ID);
+ assertThat(sourceFromQrCode.getAudioStreamMetadata()).isNotNull();
+ assertThat(sourceFromQrCode.getAudioStreamMetadata().getBroadcastName())
+ .isEqualTo(BROADCAST_NAME_2);
+ assertThat(sourceFromQrCode.getAudioStreamMetadata().getBroadcastCode())
+ .isEqualTo(BROADCAST_CODE);
+ assertThat(states.get(0)).isEqualTo(WAIT_FOR_SYNC);
+
+ // Verify the newly found source is created, broadcast code is retrieved from the source
+ // from qr code, and state updated to ADD_SOURCE_WAIT_FOR_RESPONSE
+ var newlyFoundSource = preferences.get(1);
+ assertThat(newlyFoundSource.getAudioStreamBroadcastId()).isEqualTo(QR_CODE_BROADCAST_ID);
+ assertThat(newlyFoundSource.getAudioStreamMetadata()).isNotNull();
+ assertThat(newlyFoundSource.getAudioStreamMetadata().getBroadcastName())
+ .isEqualTo(BROADCAST_NAME_2);
+ assertThat(newlyFoundSource.getAudioStreamMetadata().getBroadcastCode())
+ .isEqualTo(BROADCAST_CODE);
+ assertThat(states.get(1)).isEqualTo(ADD_SOURCE_WAIT_FOR_RESPONSE);
+ }
+
+ @Test
+ public void testHandleSourceFound_sameIdWithOtherState_doNothing() {
+ // Setup a device
+ ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+ // Setup source already connected
+ BluetoothLeBroadcastReceiveState connected =
+ createConnectedMock(ALREADY_CONNECTED_BROADCAST_ID);
+ when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(ImmutableList.of(connected));
+
+ // Handle source already connected in onStart
+ mController.displayPreference(mScreen);
+ mController.onStart(mLifecycleOwner);
+ shadowOf(Looper.getMainLooper()).idle();
+
+ // A new source found
+ when(mMetadata.getBroadcastId()).thenReturn(ALREADY_CONNECTED_BROADCAST_ID);
+ mController.handleSourceFound(mMetadata);
+ shadowOf(Looper.getMainLooper()).idle();
+
+ // Verify only the connected source has created a preference, and its state remains as
+ // SOURCE_ADDED
+ ArgumentCaptor<AudioStreamPreference> preference =
+ ArgumentCaptor.forClass(AudioStreamPreference.class);
+ ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> state =
+ ArgumentCaptor.forClass(
+ AudioStreamsProgressCategoryController.AudioStreamState.class);
+
+ verify(mController).moveToState(preference.capture(), state.capture());
+ assertThat(preference.getValue()).isNotNull();
+ assertThat(preference.getValue().getAudioStreamBroadcastId())
+ .isEqualTo(ALREADY_CONNECTED_BROADCAST_ID);
+ assertThat(preference.getValue().getAudioStreamState()).isEqualTo(SOURCE_ADDED);
+ }
+
+ @Test
+ public void testHandleSourceLost_removed() {
+ // Setup a device
+ ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+ // Setup mPreference so it's not null
+ mController.displayPreference(mScreen);
+
+ // A new source found
+ when(mMetadata.getBroadcastId()).thenReturn(NEWLY_FOUND_BROADCAST_ID);
+ mController.handleSourceFound(mMetadata);
+ shadowOf(Looper.getMainLooper()).idle();
+
+ // A new source found is lost
+ mController.handleSourceLost(NEWLY_FOUND_BROADCAST_ID);
+ shadowOf(Looper.getMainLooper()).idle();
+
+ ArgumentCaptor<AudioStreamPreference> preferenceToAdd =
+ ArgumentCaptor.forClass(AudioStreamPreference.class);
+ ArgumentCaptor<AudioStreamPreference> preferenceToRemove =
+ ArgumentCaptor.forClass(AudioStreamPreference.class);
+ ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> state =
+ ArgumentCaptor.forClass(
+ AudioStreamsProgressCategoryController.AudioStreamState.class);
+
+ // Verify a new preference is created with state SYNCED.
+ verify(mController).moveToState(preferenceToAdd.capture(), state.capture());
+ assertThat(preferenceToAdd.getValue()).isNotNull();
+ assertThat(preferenceToAdd.getValue().getAudioStreamBroadcastId())
+ .isEqualTo(NEWLY_FOUND_BROADCAST_ID);
+ assertThat(state.getValue()).isEqualTo(SYNCED);
+
+ // Verify the preference with NEWLY_FOUND_BROADCAST_ID is removed.
+ verify(mPreference).removePreference(preferenceToRemove.capture());
+ assertThat(preferenceToRemove.getValue().getAudioStreamBroadcastId())
+ .isEqualTo(NEWLY_FOUND_BROADCAST_ID);
+ }
+
+ @Test
+ public void testHandleSourceLost_sourceConnected_doNothing() {
+ // Setup a device
+ ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+ // Setup mPreference so it's not null
+ mController.displayPreference(mScreen);
+
+ // A new source found
+ when(mMetadata.getBroadcastId()).thenReturn(NEWLY_FOUND_BROADCAST_ID);
+ mController.handleSourceFound(mMetadata);
+ shadowOf(Looper.getMainLooper()).idle();
+
+ // A new source found is lost, but the source is still connected
+ BluetoothLeBroadcastReceiveState connected = createConnectedMock(NEWLY_FOUND_BROADCAST_ID);
+ when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(ImmutableList.of(connected));
+ mController.handleSourceLost(NEWLY_FOUND_BROADCAST_ID);
+ shadowOf(Looper.getMainLooper()).idle();
+
+ ArgumentCaptor<AudioStreamPreference> preferenceToAdd =
+ ArgumentCaptor.forClass(AudioStreamPreference.class);
+ ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> state =
+ ArgumentCaptor.forClass(
+ AudioStreamsProgressCategoryController.AudioStreamState.class);
+
+ // Verify a new preference is created with state SYNCED.
+ verify(mController).moveToState(preferenceToAdd.capture(), state.capture());
+ assertThat(preferenceToAdd.getValue()).isNotNull();
+ assertThat(preferenceToAdd.getValue().getAudioStreamBroadcastId())
+ .isEqualTo(NEWLY_FOUND_BROADCAST_ID);
+ assertThat(state.getValue()).isEqualTo(SYNCED);
+
+ // No preference is removed.
+ verify(mPreference, never()).removePreference(any());
+ }
+
+ @Test
+ public void testHandleSourceRemoved_removed() {
+ // Setup a device
+ ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+ // Setup already connected source
+ BluetoothLeBroadcastReceiveState connected =
+ createConnectedMock(ALREADY_CONNECTED_BROADCAST_ID);
+ when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(ImmutableList.of(connected));
+
+ // Handle connected source in onStart
+ mController.displayPreference(mScreen);
+ mController.onStart(mLifecycleOwner);
+ shadowOf(Looper.getMainLooper()).idle();
+
+ // The connect source is no longer connected
+ when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(emptyList());
+ mController.handleSourceRemoved();
+ shadowOf(Looper.getMainLooper()).idle();
+
+ ArgumentCaptor<AudioStreamPreference> preferenceToAdd =
+ ArgumentCaptor.forClass(AudioStreamPreference.class);
+ ArgumentCaptor<AudioStreamPreference> preferenceToRemove =
+ ArgumentCaptor.forClass(AudioStreamPreference.class);
+ ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> state =
+ ArgumentCaptor.forClass(
+ AudioStreamsProgressCategoryController.AudioStreamState.class);
+
+ // Verify a new preference is created with state SOURCE_ADDED.
+ verify(mController).moveToState(preferenceToAdd.capture(), state.capture());
+ assertThat(preferenceToAdd.getValue()).isNotNull();
+ assertThat(preferenceToAdd.getValue().getAudioStreamBroadcastId())
+ .isEqualTo(ALREADY_CONNECTED_BROADCAST_ID);
+ assertThat(state.getValue()).isEqualTo(SOURCE_ADDED);
+
+ // Verify the preference with ALREADY_CONNECTED_BROADCAST_ID is removed.
+ verify(mPreference).removePreference(preferenceToRemove.capture());
+ assertThat(preferenceToRemove.getValue().getAudioStreamBroadcastId())
+ .isEqualTo(ALREADY_CONNECTED_BROADCAST_ID);
+ }
+
+ @Test
+ public void testHandleSourceRemoved_updateState() {
+ // Setup a device
+ ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+ // Setup a connected source
+ BluetoothLeBroadcastReceiveState connected =
+ createConnectedMock(ALREADY_CONNECTED_BROADCAST_ID);
+ when(mAudioStreamsHelper.getAllConnectedSources()).thenReturn(ImmutableList.of(connected));
+
+ // Handle connected source in onStart
+ mController.displayPreference(mScreen);
+ mController.onStart(mLifecycleOwner);
+ shadowOf(Looper.getMainLooper()).idle();
+
+ // The connected source is identified as having a bad code
+ BluetoothLeBroadcastReceiveState badCode = mock(BluetoothLeBroadcastReceiveState.class);
+ when(badCode.getBroadcastId()).thenReturn(ALREADY_CONNECTED_BROADCAST_ID);
+ when(badCode.getPaSyncState())
+ .thenReturn(BluetoothLeBroadcastReceiveState.PA_SYNC_STATE_SYNCHRONIZED);
+ when(badCode.getBigEncryptionState())
+ .thenReturn(BluetoothLeBroadcastReceiveState.BIG_ENCRYPTION_STATE_BAD_CODE);
+ mController.handleSourceConnectBadCode(badCode);
+ shadowOf(Looper.getMainLooper()).idle();
+
+ ArgumentCaptor<AudioStreamPreference> preference =
+ ArgumentCaptor.forClass(AudioStreamPreference.class);
+ ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> state =
+ ArgumentCaptor.forClass(
+ AudioStreamsProgressCategoryController.AudioStreamState.class);
+
+ verify(mController, times(2)).moveToState(preference.capture(), state.capture());
+ List<AudioStreamPreference> preferences = preference.getAllValues();
+ assertThat(preferences.size()).isEqualTo(2);
+ List<AudioStreamsProgressCategoryController.AudioStreamState> states = state.getAllValues();
+ assertThat(states.size()).isEqualTo(2);
+
+ // Verify the connected source is created state SOURCE_ADDED
+ assertThat(preferences.get(0).getAudioStreamBroadcastId())
+ .isEqualTo(ALREADY_CONNECTED_BROADCAST_ID);
+ assertThat(states.get(0)).isEqualTo(SOURCE_ADDED);
+
+ // Verify the connected source is updated to state ADD_SOURCE_BAD_CODE
+ assertThat(preferences.get(1).getAudioStreamBroadcastId())
+ .isEqualTo(ALREADY_CONNECTED_BROADCAST_ID);
+ assertThat(states.get(1)).isEqualTo(ADD_SOURCE_BAD_CODE);
+ }
+
+ @Test
+ public void testHandleSourceFailedToConnect_updateState() {
+ // Setup a device
+ ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
+
+ // Setup mPreference so it's not null
+ mController.displayPreference(mScreen);
+
+ // A new source found
+ when(mMetadata.getBroadcastId()).thenReturn(NEWLY_FOUND_BROADCAST_ID);
+ mController.handleSourceFound(mMetadata);
+ shadowOf(Looper.getMainLooper()).idle();
+
+ // The new found source is identified as failed to connect
+ mController.handleSourceFailedToConnect(NEWLY_FOUND_BROADCAST_ID);
+ shadowOf(Looper.getMainLooper()).idle();
+
+ ArgumentCaptor<AudioStreamPreference> preference =
+ ArgumentCaptor.forClass(AudioStreamPreference.class);
+ ArgumentCaptor<AudioStreamsProgressCategoryController.AudioStreamState> state =
+ ArgumentCaptor.forClass(
+ AudioStreamsProgressCategoryController.AudioStreamState.class);
+
+ verify(mController, times(2)).moveToState(preference.capture(), state.capture());
+ List<AudioStreamPreference> preferences = preference.getAllValues();
+ assertThat(preferences.size()).isEqualTo(2);
+ List<AudioStreamsProgressCategoryController.AudioStreamState> states = state.getAllValues();
+ assertThat(states.size()).isEqualTo(2);
+
+ // Verify one preference is created with SYNCED
+ assertThat(preferences.get(0).getAudioStreamBroadcastId())
+ .isEqualTo(NEWLY_FOUND_BROADCAST_ID);
+ assertThat(states.get(0)).isEqualTo(SYNCED);
+
+ // Verify the preference is updated to state ADD_SOURCE_FAILED
+ assertThat(preferences.get(1).getAudioStreamBroadcastId())
+ .isEqualTo(NEWLY_FOUND_BROADCAST_ID);
+ assertThat(states.get(1)).isEqualTo(ADD_SOURCE_FAILED);
+ }
+
+ private static BluetoothLeBroadcastReceiveState createConnectedMock(int id) {
+ var connected = mock(BluetoothLeBroadcastReceiveState.class);
+ List<Long> bisSyncState = new ArrayList<>();
+ bisSyncState.add(1L);
+ when(connected.getBroadcastId()).thenReturn(id);
+ when(connected.getBisSyncState()).thenReturn(bisSyncState);
+ return connected;
+ }
+
+ static class TestController extends AudioStreamsProgressCategoryController {
+ TestController(Context context, String preferenceKey) {
+ super(context, preferenceKey);
+ mExecutor = spy(mContext.getMainExecutor());
+ }
+
+ @Override
+ void moveToState(AudioStreamPreference preference, AudioStreamState state) {
+ preference.setAudioStreamState(state);
+ // Do nothing else to avoid side effect from AudioStreamStateHandler#performAction
+ }
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryPreferenceTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryPreferenceTest.java
index 337d64d..76bd5ec 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryPreferenceTest.java
@@ -53,6 +53,8 @@
@Test
public void addAudioStreamPreference_singlePreference() {
+ mPreference = spy(new AudioStreamsProgressCategoryPreference(mContext, null));
+ when(mPreference.getPreferenceManager()).thenReturn(mPreferenceManager);
AudioStreamPreference first = new AudioStreamPreference(mContext, null);
mPreference.addAudioStreamPreference(first, (p1, p2) -> 0);
@@ -62,6 +64,8 @@
@Test
public void addAudioStreamPreference_multiPreference_sorted() {
+ mPreference = spy(new AudioStreamsProgressCategoryPreference(mContext, null, 0));
+ when(mPreference.getPreferenceManager()).thenReturn(mPreferenceManager);
Comparator<AudioStreamPreference> c =
Comparator.comparingInt(AudioStreamPreference::getOrder);
AudioStreamPreference first = new AudioStreamPreference(mContext, null);
@@ -78,6 +82,8 @@
@Test
public void removeAudioStreamPreferences_shouldBeEmpty() {
+ mPreference = spy(new AudioStreamsProgressCategoryPreference(mContext, null, 0, 0));
+ when(mPreference.getPreferenceManager()).thenReturn(mPreferenceManager);
Comparator<AudioStreamPreference> c =
Comparator.comparingInt(AudioStreamPreference::getOrder);
AudioStreamPreference first = new AudioStreamPreference(mContext, null);
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsQrCodeFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsQrCodeFragmentTest.java
index 7d85b7a..06e4837 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsQrCodeFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsQrCodeFragmentTest.java
@@ -98,6 +98,22 @@
}
@Test
+ public void onCreateView_noProfile_noQrCode() {
+ when(mBtProfileManager.getLeAudioBroadcastProfile()).thenReturn(null);
+ FragmentController.setupFragment(
+ mFragment, FragmentActivity.class, /* containerViewId= */ 0, /* bundle= */ null);
+ View view = mFragment.getView();
+
+ assertThat(view).isNotNull();
+ ImageView qrCodeView = view.findViewById(R.id.qrcode_view);
+ TextView passwordView = view.requireViewById(R.id.password);
+ assertThat(qrCodeView).isNotNull();
+ assertThat(qrCodeView.getDrawable()).isNull();
+ assertThat(passwordView).isNotNull();
+ assertThat(passwordView.getText().toString()).isEqualTo("");
+ }
+
+ @Test
public void onCreateView_noMetadata_noQrCode() {
List<BluetoothLeBroadcastMetadata> list = new ArrayList<>();
when(mBroadcast.getAllBroadcastMetadata()).thenReturn(list);
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsScanQrCodeControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsScanQrCodeControllerTest.java
index 4990f26..a83cbf0 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsScanQrCodeControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsScanQrCodeControllerTest.java
@@ -16,29 +16,38 @@
package com.android.settings.connecteddevice.audiosharing.audiostreams;
+import static android.app.settings.SettingsEnums.AUDIO_STREAM_MAIN;
+
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsScanQrCodeController.REQUEST_SCAN_BT_BROADCAST_QR_CODE;
import static com.android.settings.core.BasePreferenceController.AVAILABLE;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothProfile;
import android.content.Context;
+import android.content.Intent;
import androidx.lifecycle.LifecycleOwner;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import androidx.test.core.app.ApplicationProvider;
+import com.android.settings.R;
+import com.android.settings.SettingsActivity;
import com.android.settings.connecteddevice.audiosharing.audiostreams.testshadows.ShadowAudioStreamsHelper;
import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
import com.android.settingslib.bluetooth.BluetoothEventManager;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.core.lifecycle.Lifecycle;
import org.junit.After;
@@ -46,6 +55,7 @@
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
@@ -139,17 +149,46 @@
public void onPreferenceClick_hasFragment_launchSubSetting() {
mController.displayPreference(mScreen);
mController.setFragment(mFragment);
+ when(mFragment.getMetricsCategory()).thenReturn(AUDIO_STREAM_MAIN);
var listener = mPreference.getOnPreferenceClickListener();
assertThat(listener).isNotNull();
+
+ // mContext is not an Activity context, calling startActivity() from outside of an Activity
+ // context requires the FLAG_ACTIVITY_NEW_TASK flag, create a mock to avoid this
+ // AndroidRuntimeException.
+ Context activityContext = mock(Context.class);
+ when(mPreference.getContext()).thenReturn(activityContext);
+ when(mPreference.getKey()).thenReturn(AudioStreamsScanQrCodeController.KEY);
+
var clicked = listener.onPreferenceClick(mPreference);
+
+ ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+ ArgumentCaptor<Integer> requestCodeCaptor = ArgumentCaptor.forClass(Integer.class);
+ verify(mFragment)
+ .startActivityForResult(intentCaptor.capture(), requestCodeCaptor.capture());
+
+ Intent intent = intentCaptor.getValue();
+ assertThat(intent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+ .isEqualTo(AudioStreamsQrCodeScanFragment.class.getName());
+ assertThat(intent.getIntExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RESID, 0))
+ .isEqualTo(R.string.audio_streams_main_page_scan_qr_code_title);
+ assertThat(intent.getIntExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY, 0))
+ .isEqualTo(AUDIO_STREAM_MAIN);
+
+ int requestCode = requestCodeCaptor.getValue();
+ assertThat(requestCode).isEqualTo(REQUEST_SCAN_BT_BROADCAST_QR_CODE);
+
assertThat(clicked).isTrue();
}
@Test
public void updateVisibility_noConnected_invisible() {
mController.displayPreference(mScreen);
- mController.mBluetoothCallback.onActiveDeviceChanged(mDevice, BluetoothProfile.LE_AUDIO);
+ mController.mBluetoothCallback.onProfileConnectionStateChanged(
+ mDevice,
+ BluetoothAdapter.STATE_DISCONNECTED,
+ BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT);
assertThat(mPreference.isVisible()).isFalse();
}
@@ -158,7 +197,10 @@
public void updateVisibility_hasConnected_visible() {
mController.displayPreference(mScreen);
ShadowAudioStreamsHelper.setCachedBluetoothDeviceInSharingOrLeConnected(mDevice);
- mController.mBluetoothCallback.onActiveDeviceChanged(mDevice, BluetoothProfile.LE_AUDIO);
+ mController.mBluetoothCallback.onProfileConnectionStateChanged(
+ mDevice,
+ BluetoothAdapter.STATE_CONNECTED,
+ BluetoothProfile.LE_AUDIO_BROADCAST_ASSISTANT);
assertThat(mPreference.isVisible()).isTrue();
}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SourceAddedStateTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SourceAddedStateTest.java
index 0f0bafe..59a42a1 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SourceAddedStateTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SourceAddedStateTest.java
@@ -16,31 +16,76 @@
package com.android.settings.connecteddevice.audiosharing.audiostreams;
+import static android.app.settings.SettingsEnums.AUDIO_STREAM_MAIN;
+
import static com.android.settings.connecteddevice.audiosharing.audiostreams.SourceAddedState.AUDIO_STREAM_SOURCE_ADDED_STATE_SUMMARY;
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.settings.SettingsEnums;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+
+import androidx.fragment.app.FragmentActivity;
+import androidx.preference.Preference;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.SettingsActivity;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowFragment;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
+@Config(
+ shadows = {
+ ShadowFragment.class,
+ })
public class SourceAddedStateTest {
-
@Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+ private static final int BROADCAST_ID = 1;
+ private static final String BROADCAST_TITLE = "title";
+ private final Context mContext = ApplicationProvider.getApplicationContext();
+ @Mock private AudioStreamPreference mPreference;
+ @Mock private AudioStreamsProgressCategoryController mController;
+ @Mock private AudioStreamsHelper mHelper;
+ @Mock private AudioStreamsRepository mRepository;
+ @Mock private AudioStreamsDashboardFragment mFragment;
+ @Mock private FragmentActivity mActivity;
+ private FakeFeatureFactory mFeatureFactory;
private SourceAddedState mInstance;
@Before
public void setUp() {
- mInstance = SourceAddedState.getInstance();
+ when(mFragment.getActivity()).thenReturn(mActivity);
+ mFeatureFactory = FakeFeatureFactory.setupForTest();
+ mInstance = new SourceAddedState();
+ when(mPreference.getAudioStreamBroadcastId()).thenReturn(BROADCAST_ID);
+ when(mPreference.getTitle()).thenReturn(BROADCAST_TITLE);
}
@Test
public void testGetInstance() {
+ mInstance = SourceAddedState.getInstance();
assertThat(mInstance).isNotNull();
assertThat(mInstance).isInstanceOf(SourceAddedState.class);
}
@@ -58,4 +103,59 @@
assertThat(stateEnum)
.isEqualTo(AudioStreamsProgressCategoryController.AudioStreamState.SOURCE_ADDED);
}
+
+ @Test
+ public void testPerformAction() {
+ mInstance.setAudioStreamsRepositoryForTesting(mRepository);
+ BluetoothLeBroadcastMetadata mockMetadata = mock(BluetoothLeBroadcastMetadata.class);
+ when(mRepository.getCachedMetadata(anyInt())).thenReturn(mockMetadata);
+ when(mPreference.getContext()).thenReturn(mContext);
+ when(mPreference.getSourceOriginForLogging())
+ .thenReturn(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS);
+
+ mInstance.performAction(mPreference, mController, mHelper);
+
+ verify(mRepository).saveMetadata(eq(mContext), eq(mockMetadata));
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ eq(mContext),
+ eq(SettingsEnums.ACTION_AUDIO_STREAM_JOIN_SUCCEED),
+ eq(SourceOriginForLogging.QR_CODE_SCAN_SETTINGS.ordinal()));
+ verify(mHelper).startMediaService(eq(mContext), eq(BROADCAST_ID), eq(BROADCAST_TITLE));
+ }
+
+ @Test
+ public void testGetOnClickListener_startSubSettings() {
+ when(mController.getFragment()).thenReturn(mFragment);
+ when(mFragment.getMetricsCategory()).thenReturn(AUDIO_STREAM_MAIN);
+
+ Preference.OnPreferenceClickListener listener = mInstance.getOnClickListener(mController);
+ assertThat(listener).isNotNull();
+
+ // mContext is not an Activity context, calling startActivity() from outside of an Activity
+ // context requires the FLAG_ACTIVITY_NEW_TASK flag, create a mock to avoid this
+ // AndroidRuntimeException.
+ Context activityContext = mock(Context.class);
+ when(mPreference.getContext()).thenReturn(activityContext);
+
+ listener.onPreferenceClick(mPreference);
+
+ ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
+ verify(activityContext).startActivity(argumentCaptor.capture());
+
+ Intent intent = argumentCaptor.getValue();
+ assertThat(intent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+ .isEqualTo(AudioStreamDetailsFragment.class.getName());
+ assertThat(intent.getIntExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RESID, 0))
+ .isEqualTo(R.string.audio_streams_detail_page_title);
+ assertThat(intent.getIntExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY, 0))
+ .isEqualTo(AUDIO_STREAM_MAIN);
+
+ Bundle bundle = intent.getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS);
+ assertThat(bundle).isNotNull();
+ assertThat(bundle.getString(AudioStreamDetailsFragment.BROADCAST_NAME_ARG))
+ .isEqualTo(BROADCAST_TITLE);
+ assertThat(bundle.getInt(AudioStreamDetailsFragment.BROADCAST_ID_ARG))
+ .isEqualTo(BROADCAST_ID);
+ }
}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SyncedStateTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SyncedStateTest.java
index e9eab50..2b19e20 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SyncedStateTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/SyncedStateTest.java
@@ -20,7 +20,7 @@
import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.Mockito.never;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.robolectric.shadows.ShadowLooper.shadowMainLooper;
@@ -28,10 +28,16 @@
import android.app.AlertDialog;
import android.bluetooth.BluetoothLeBroadcastMetadata;
import android.content.Context;
+import android.content.DialogInterface;
+import android.widget.Button;
+import android.widget.TextView;
import androidx.preference.Preference;
import androidx.test.core.app.ApplicationProvider;
+import com.android.settings.R;
+import com.android.settingslib.bluetooth.BluetoothLeBroadcastMetadataExt;
+
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
@@ -42,7 +48,9 @@
import org.mockito.junit.MockitoRule;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
+import org.robolectric.shadow.api.Shadow;
import org.robolectric.shadows.ShadowAlertDialog;
+import org.robolectric.shadows.ShadowLooper;
@RunWith(RobolectricTestRunner.class)
@Config(
@@ -51,6 +59,10 @@
})
public class SyncedStateTest {
@Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+ private static final String ENCRYPTED_METADATA =
+ "BLUETOOTH:UUID:184F;BN:VGVzdA==;AT:1;AD:00A1A1A1A1A1;BI:1E240;BC:VGVzdENvZGU=;"
+ + "MD:BgNwVGVzdA==;AS:1;PI:A0;NS:1;BS:3;NB:2;SM:BQNUZXN0BARlbmc=;;";
+ private static final String BROADCAST_TITLE = "title";
@Mock private AudioStreamsProgressCategoryController mMockController;
@Mock private AudioStreamPreference mMockPreference;
@Mock private BluetoothLeBroadcastMetadata mMockMetadata;
@@ -105,18 +117,47 @@
@Test
public void testGetOnClickListener_isEncrypted_passwordDialogShowing() {
+ when(mMockPreference.getAudioStreamMetadata())
+ .thenReturn(
+ BluetoothLeBroadcastMetadataExt.INSTANCE.convertToBroadcastMetadata(
+ ENCRYPTED_METADATA));
+ when(mMockPreference.getContext()).thenReturn(mMockContext);
+ when(mMockPreference.getTitle()).thenReturn(BROADCAST_TITLE);
+
Preference.OnPreferenceClickListener listener =
mInstance.getOnClickListener(mMockController);
- when(mMockPreference.getAudioStreamMetadata()).thenReturn(mMockMetadata);
- when(mMockPreference.getContext()).thenReturn(mMockContext);
- when(mMockMetadata.isEncrypted()).thenReturn(true);
+ assertThat(listener).isNotNull();
listener.onPreferenceClick(mMockPreference);
shadowMainLooper().idle();
AlertDialog dialog = ShadowAlertDialog.getLatestAlertDialog();
+
assertThat(dialog).isNotNull();
assertThat(dialog.isShowing()).isTrue();
- verify(mMockController, never()).handleSourceAddRequest(mMockPreference, mMockMetadata);
+
+ Button neutralButton = dialog.getButton(DialogInterface.BUTTON_NEUTRAL);
+ assertThat(neutralButton).isNotNull();
+ assertThat(neutralButton.getText().toString())
+ .isEqualTo(mMockContext.getString(android.R.string.cancel));
+
+ Button positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
+ assertThat(positiveButton).isNotNull();
+ assertThat(positiveButton.getText().toString())
+ .isEqualTo(
+ mMockContext.getString(R.string.bluetooth_connect_access_dialog_positive));
+
+ positiveButton.callOnClick();
+ ShadowLooper.idleMainLooper();
+ verify(mMockController).handleSourceAddRequest(any(), any());
+
+ ShadowAlertDialog shadowDialog = Shadow.extract(dialog);
+ TextView title = shadowDialog.getView().findViewById(R.id.broadcast_name_text);
+ assertThat(title).isNotNull();
+ assertThat(title.getText().toString()).isEqualTo(BROADCAST_TITLE);
+ assertThat(shadowDialog.getTitle().toString())
+ .isEqualTo(mMockContext.getString(R.string.find_broadcast_password_dialog_title));
+
+ dialog.cancel();
}
}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/WaitForSyncStateTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/WaitForSyncStateTest.java
index 3eb07a4..813ed2b 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/WaitForSyncStateTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/WaitForSyncStateTest.java
@@ -16,22 +16,39 @@
package com.android.settings.connecteddevice.audiosharing.audiostreams;
+import static android.app.settings.SettingsEnums.DIALOG_AUDIO_STREAM_MAIN_WAIT_FOR_SYNC_TIMEOUT;
+
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsScanQrCodeController.REQUEST_SCAN_BT_BROADCAST_QR_CODE;
import static com.android.settings.connecteddevice.audiosharing.audiostreams.WaitForSyncState.AUDIO_STREAM_WAIT_FOR_SYNC_STATE_SUMMARY;
import static com.android.settings.connecteddevice.audiosharing.audiostreams.WaitForSyncState.WAIT_FOR_SYNC_TIMEOUT_MILLIS;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import android.app.settings.SettingsEnums;
import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.content.Context;
+import android.content.Intent;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.SettingsActivity;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
@@ -43,19 +60,23 @@
@RunWith(RobolectricTestRunner.class)
public class WaitForSyncStateTest {
@Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+ private final Context mContext = spy(ApplicationProvider.getApplicationContext());
@Mock private AudioStreamPreference mMockPreference;
@Mock private AudioStreamsProgressCategoryController mMockController;
@Mock private AudioStreamsHelper mMockHelper;
@Mock private BluetoothLeBroadcastMetadata mMockMetadata;
+ private FakeFeatureFactory mFeatureFactory;
private WaitForSyncState mInstance;
@Before
public void setUp() {
- mInstance = WaitForSyncState.getInstance();
+ mFeatureFactory = FakeFeatureFactory.setupForTest();
+ mInstance = new WaitForSyncState();
}
@Test
public void testGetInstance() {
+ mInstance = WaitForSyncState.getInstance();
assertThat(mInstance).isNotNull();
assertThat(mInstance).isInstanceOf(AudioStreamStateHandler.class);
}
@@ -93,12 +114,49 @@
.thenReturn(AudioStreamsProgressCategoryController.AudioStreamState.WAIT_FOR_SYNC);
when(mMockPreference.getAudioStreamBroadcastId()).thenReturn(1);
when(mMockPreference.getAudioStreamMetadata()).thenReturn(mMockMetadata);
+ when(mMockPreference.getContext()).thenReturn(mContext);
when(mMockPreference.getSourceOriginForLogging())
- .thenReturn(SourceOriginForLogging.UNKNOWN);
+ .thenReturn(SourceOriginForLogging.BROADCAST_SEARCH);
+ when(mMockController.getFragment()).thenReturn(mock(AudioStreamsDashboardFragment.class));
mInstance.performAction(mMockPreference, mMockController, mMockHelper);
ShadowLooper.idleMainLooper(WAIT_FOR_SYNC_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
verify(mMockController).handleSourceLost(1);
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ eq(mContext),
+ eq(SettingsEnums.ACTION_AUDIO_STREAM_JOIN_FAILED_WAIT_FOR_SYNC_TIMEOUT),
+ eq(SourceOriginForLogging.BROADCAST_SEARCH.ordinal()));
+ verify(mContext).getString(R.string.audio_streams_dialog_stream_is_not_available);
+ verify(mContext).getString(R.string.audio_streams_is_not_playing);
+ verify(mContext).getString(R.string.audio_streams_dialog_close);
+ verify(mContext).getString(R.string.audio_streams_dialog_retry);
+ }
+
+ @Test
+ public void testLaunchQrCodeScanFragment() {
+ // mContext is not an Activity context, calling startActivity() from outside of an Activity
+ // context requires the FLAG_ACTIVITY_NEW_TASK flag, create a mock to avoid this
+ // AndroidRuntimeException.
+ Context activityContext = mock(Context.class);
+ AudioStreamsDashboardFragment fragment = mock(AudioStreamsDashboardFragment.class);
+ mInstance.launchQrCodeScanFragment(activityContext, fragment);
+
+ ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+ ArgumentCaptor<Integer> requestCodeCaptor = ArgumentCaptor.forClass(Integer.class);
+ verify(fragment)
+ .startActivityForResult(intentCaptor.capture(), requestCodeCaptor.capture());
+
+ Intent intent = intentCaptor.getValue();
+ assertThat(intent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+ .isEqualTo(AudioStreamsQrCodeScanFragment.class.getName());
+ assertThat(intent.getIntExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RESID, 0))
+ .isEqualTo(R.string.audio_streams_main_page_scan_qr_code_title);
+ assertThat(intent.getIntExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY, 0))
+ .isEqualTo(DIALOG_AUDIO_STREAM_MAIN_WAIT_FOR_SYNC_TIMEOUT);
+
+ int requestCode = requestCodeCaptor.getValue();
+ assertThat(requestCode).isEqualTo(REQUEST_SCAN_BT_BROADCAST_QR_CODE);
}
}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/testshadows/ShadowAudioStreamsHelper.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/testshadows/ShadowAudioStreamsHelper.java
index 3a0a6c4..051eda7 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/testshadows/ShadowAudioStreamsHelper.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/audiostreams/testshadows/ShadowAudioStreamsHelper.java
@@ -16,6 +16,7 @@
package com.android.settings.connecteddevice.audiosharing.audiostreams.testshadows;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
import android.bluetooth.BluetoothLeBroadcastReceiveState;
import androidx.annotation.Nullable;
@@ -32,7 +33,7 @@
import java.util.List;
import java.util.Optional;
-@Implements(value = AudioStreamsHelper.class, callThroughByDefault = false)
+@Implements(value = AudioStreamsHelper.class, callThroughByDefault = true)
public class ShadowAudioStreamsHelper {
private static AudioStreamsHelper sMockHelper;
@Nullable private static CachedBluetoothDevice sCachedBluetoothDevice;
@@ -69,4 +70,16 @@
public LocalBluetoothLeBroadcastAssistant getLeBroadcastAssistant() {
return sMockHelper.getLeBroadcastAssistant();
}
+
+ /** Removes sources from LE broadcasts associated for all active sinks based on broadcast Id. */
+ @Implementation
+ public void removeSource(int broadcastId) {
+ sMockHelper.removeSource(broadcastId);
+ }
+
+ /** Adds the specified LE broadcast source to all active sinks. */
+ @Implementation
+ public void addSource(BluetoothLeBroadcastMetadata source) {
+ sMockHelper.addSource(source);
+ }
}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusUsiHeaderControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusUsiHeaderControllerTest.java
index 3aad02e..4509c7c 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusUsiHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusUsiHeaderControllerTest.java
@@ -33,9 +33,9 @@
import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen;
-import androidx.test.core.app.ApplicationProvider;
import com.android.settings.R;
+import com.android.settings.SettingsActivity;
import com.android.settingslib.widget.LayoutPreference;
import org.junit.Before;
@@ -43,6 +43,7 @@
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
@RunWith(RobolectricTestRunner.class)
@@ -72,7 +73,7 @@
when(mBatteryState.getCapacity()).thenReturn(1f);
when(mBatteryState.isPresent()).thenReturn(true);
- mContext = spy(ApplicationProvider.getApplicationContext());
+ mContext = spy(Robolectric.buildActivity(SettingsActivity.class).get());
when(mContext.getSystemService(InputManager.class)).thenReturn(mInputManager);
mController = new StylusUsiHeaderController(mContext, mInputDevice);
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java
index eea4f52..9427bbe 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java
@@ -35,6 +35,8 @@
import android.hardware.usb.UsbManager;
import android.net.TetheringManager;
import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
import androidx.fragment.app.FragmentActivity;
import androidx.preference.PreferenceCategory;
@@ -48,6 +50,7 @@
import org.junit.Before;
import org.junit.Ignore;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@@ -82,6 +85,8 @@
private FragmentActivity mActivity;
@Mock
private TetheringManager mTetheringManager;
+ @Rule
+ public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
@Before
public void setUp() {
@@ -349,6 +354,30 @@
assertThat(mFragment.isUserAuthenticated()).isTrue();
}
+ @Test
+ @RequiresFlagsEnabled(Flags.FLAG_EXCLUDE_WEBCAM_AUTH_CHALLENGE)
+ public void onRadioButtonClicked_webcamNoAuthNeeded() {
+ mRadioButtonPreference.setKey(UsbBackend.usbFunctionsToString(UsbManager.FUNCTION_UVC));
+ doReturn(UsbManager.FUNCTION_MTP).when(mUsbBackend).getCurrentFunctions();
+ setAuthPassesAutomatically();
+
+ mDetailsFunctionsController.onRadioButtonClicked(mRadioButtonPreference);
+
+ assertThat(mFragment.isUserAuthenticated()).isFalse();
+ }
+
+ @Test
+ @RequiresFlagsEnabled(Flags.FLAG_EXCLUDE_WEBCAM_AUTH_CHALLENGE)
+ public void onRadioButtonClicked_MidiNoAuthNeeded() {
+ mRadioButtonPreference.setKey(UsbBackend.usbFunctionsToString(UsbManager.FUNCTION_MIDI));
+ doReturn(UsbManager.FUNCTION_MTP).when(mUsbBackend).getCurrentFunctions();
+ setAuthPassesAutomatically();
+
+ mDetailsFunctionsController.onRadioButtonClicked(mRadioButtonPreference);
+
+ assertThat(mFragment.isUserAuthenticated()).isFalse();
+ }
+
private void setAuthPassesAutomatically() {
Shadows.shadowOf(mContext.getSystemService(KeyguardManager.class))
.setIsKeyguardSecure(false);
diff --git a/tests/robotests/src/com/android/settings/development/DesktopModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/DesktopModePreferenceControllerTest.java
index 460f6f9..0fd4d85 100644
--- a/tests/robotests/src/com/android/settings/development/DesktopModePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/DesktopModePreferenceControllerTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2018 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,10 +16,11 @@
package com.android.settings.development;
-import static android.provider.Settings.Global.DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS;
+import static android.provider.Settings.Global.DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES;
-import static com.android.settings.development.DesktopModePreferenceController.SETTING_VALUE_OFF;
-import static com.android.settings.development.DesktopModePreferenceController.SETTING_VALUE_ON;
+import static com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_ON;
+import static com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_OFF;
+import static com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_UNSET;
import static com.google.common.truth.Truth.assertThat;
@@ -30,6 +31,10 @@
import static org.mockito.Mockito.when;
import android.content.Context;
+import android.content.res.Resources;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
import android.provider.Settings;
import androidx.fragment.app.FragmentActivity;
@@ -37,24 +42,30 @@
import androidx.fragment.app.FragmentTransaction;
import androidx.preference.PreferenceScreen;
import androidx.preference.SwitchPreference;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.internal.R;
+import com.android.window.flags.Flags;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowSystemProperties;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
+@EnableFlags(Flags.FLAG_SHOW_DESKTOP_WINDOWING_DEV_OPTION)
public class DesktopModePreferenceControllerTest {
- private static final String ENG_BUILD_TYPE = "eng";
- private static final String USER_BUILD_TYPE = "user";
+ @Rule
+ public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
@Mock
private SwitchPreference mPreference;
@@ -69,61 +80,76 @@
@Mock
private FragmentTransaction mTransaction;
+ private Resources mResources;
private Context mContext;
private DesktopModePreferenceController mController;
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
- mContext = RuntimeEnvironment.application;
+
+ mContext = spy(ApplicationProvider.getApplicationContext());
doReturn(mTransaction).when(mFragmentManager).beginTransaction();
doReturn(mFragmentManager).when(mActivity).getSupportFragmentManager();
doReturn(mActivity).when(mFragment).getActivity();
+
+ mResources = spy(mContext.getResources());
+ when(mContext.getResources()).thenReturn(mResources);
+
mController = new DesktopModePreferenceController(mContext, mFragment);
+
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
mController.displayPreference(mScreen);
+
+ // Set desktop mode available
+ when(mResources.getBoolean(R.bool.config_isDesktopModeSupported))
+ .thenReturn(true);
+ ShadowSystemProperties.override("persist.wm.debug.desktop_mode_enforce_device_restrictions",
+ "false");
}
@Test
- public void isAvailable_engBuild_shouldBeTrue() {
+ public void isAvailable_desktopModeDevOptionNotSupported_returnsFalse() {
mController = spy(mController);
- doReturn(ENG_BUILD_TYPE).when(mController).getBuildType();
+ // Dev option is not supported if Desktop mode is not supported
+ when(mResources.getBoolean(R.bool.config_isDesktopModeSupported)).thenReturn(false);
+ ShadowSystemProperties.override("persist.wm.debug.desktop_mode_enforce_device_restrictions",
+ "true");
+
+ assertThat(mController.isAvailable()).isFalse();
+ }
+
+ @Test
+ public void isAvailable_desktopModeDevOptionSupported_returnsTrue() {
+ mController = spy(mController);
assertThat(mController.isAvailable()).isTrue();
}
@Test
- public void isAvaiable_userBuild_shouldBeTrue() {
- mController = spy(mController);
- doReturn(USER_BUILD_TYPE).when(mController).getBuildType();
-
- assertThat(mController.isAvailable()).isTrue();
- }
-
- @Test
- public void onPreferenceChange_switchEnabled_shouldEnableDesktopMode() {
+ public void onPreferenceChange_switchEnabled_putsSettingsOverrideOnAndTriggersRestart() {
mController.onPreferenceChange(mPreference, true /* new value */);
final int mode = Settings.Global.getInt(mContext.getContentResolver(),
- DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, -1 /* default */);
- assertThat(mode).isEqualTo(SETTING_VALUE_ON);
-
+ DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, -1 /* default */);
+ assertThat(mode).isEqualTo(OVERRIDE_ON.getSetting());
verify(mTransaction).add(any(RebootConfirmationDialogFragment.class), any());
}
@Test
- public void onPreferenceChange_switchDisabled_shouldDisableDesktopMode() {
+ public void onPreferenceChange_switchDisabled_putsSettingsOverrideOffAndTriggersRestart() {
mController.onPreferenceChange(mPreference, false /* new value */);
- final int mode = Settings.Global.getInt(mContext.getContentResolver(),
- DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, -1 /* default */);
- assertThat(mode).isEqualTo(SETTING_VALUE_OFF);
+ int mode = Settings.Global.getInt(mContext.getContentResolver(),
+ DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, -1 /* default */);
+ assertThat(mode).isEqualTo(OVERRIDE_OFF.getSetting());
+ verify(mTransaction).add(any(RebootConfirmationDialogFragment.class), any());
}
@Test
- public void updateState_settingEnabled_preferenceShouldBeChecked() {
+ public void updateState_overrideOn_checksPreference() {
Settings.Global.putInt(mContext.getContentResolver(),
- DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, SETTING_VALUE_ON);
+ DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, OVERRIDE_ON.getSetting());
mController.updateState(mPreference);
@@ -131,9 +157,9 @@
}
@Test
- public void updateState_settingDisabled_preferenceShouldNotBeChecked() {
+ public void updateState_overrideOff_unchecksPreference() {
Settings.Global.putInt(mContext.getContentResolver(),
- DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, SETTING_VALUE_OFF);
+ DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, OVERRIDE_OFF.getSetting());
mController.updateState(mPreference);
@@ -141,12 +167,92 @@
}
@Test
- public void onDeveloperOptionsSwitchDisabled_shouldDisablePreference() {
+ @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE)
+ public void updateState_overrideUnset_defaultDevOptionStatusOn_checksPreference() {
+ Settings.Global.putInt(mContext.getContentResolver(),
+ DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, OVERRIDE_UNSET.getSetting());
+
+ mController.updateState(mPreference);
+
+ verify(mPreference).setChecked(true);
+ }
+
+ @Test
+ @DisableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE)
+ public void updateState_overrideUnset_defaultDevOptionStatusOff_unchecksPreference() {
+ Settings.Global.putInt(mContext.getContentResolver(),
+ DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, OVERRIDE_UNSET.getSetting());
+
+ mController.updateState(mPreference);
+
+ verify(mPreference).setChecked(false);
+ }
+
+ @Test
+ @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE)
+ public void updateState_noOverride_defaultDevOptionStatusOn_checksPreference() {
+ // Set no override
+ Settings.Global.putString(mContext.getContentResolver(),
+ DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, null);
+
+ mController.updateState(mPreference);
+
+ verify(mPreference).setChecked(true);
+ }
+
+ @Test
+ @DisableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE)
+ public void updateState_noOverride_defaultDevOptionStatusOff_unchecksPreference() {
+ // Set no override
+ Settings.Global.putString(mContext.getContentResolver(),
+ DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, null);
+
+ mController.updateState(mPreference);
+
+ verify(mPreference).setChecked(false);
+ }
+
+ @Test
+ public void updateState_noOverride_noNewSettingsOverride() {
+ // Set no override
+ Settings.Global.putString(mContext.getContentResolver(),
+ DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, null);
+
+ mController.updateState(mPreference);
+
+ int mode = Settings.Global.getInt(mContext.getContentResolver(),
+ DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, -2 /* default */);
+ assertThat(mode).isEqualTo(-2);
+ }
+
+ @Test
+ @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE)
+ public void updateState_overrideUnknown_defaultDevOptionStatusOn_checksPreference() {
+ Settings.Global.putInt(mContext.getContentResolver(),
+ DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, -2);
+
+ mController.updateState(mPreference);
+
+ verify(mPreference).setChecked(true);
+ }
+
+ @Test
+ @DisableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE)
+ public void updateState_overrideUnknown_defaultDevOptionStatusOff_unchecksPreference() {
+ Settings.Global.putInt(mContext.getContentResolver(),
+ DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, -2);
+
+ mController.updateState(mPreference);
+
+ verify(mPreference).setChecked(false);
+ }
+
+ @Test
+ public void onDeveloperOptionsSwitchDisabled_putsSettingsOverrideOff() {
mController.onDeveloperOptionsSwitchDisabled();
final int mode = Settings.Global.getInt(mContext.getContentResolver(),
- DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, -1 /* default */);
- assertThat(mode).isEqualTo(SETTING_VALUE_OFF);
- verify(mPreference).setEnabled(false);
+ DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES, -2 /* default */);
+ assertThat(mode).isEqualTo(OVERRIDE_UNSET.getSetting());
}
}
diff --git a/tests/robotests/src/com/android/settings/development/DesktopModeSecondaryDisplayPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/DesktopModeSecondaryDisplayPreferenceControllerTest.java
new file mode 100644
index 0000000..5931004
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/DesktopModeSecondaryDisplayPreferenceControllerTest.java
@@ -0,0 +1,152 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.development;
+
+import static android.provider.Settings.Global.DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS;
+
+import static com.android.settings.development.DesktopModeSecondaryDisplayPreferenceController.SETTING_VALUE_OFF;
+import static com.android.settings.development.DesktopModeSecondaryDisplayPreferenceController.SETTING_VALUE_ON;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.fragment.app.FragmentActivity;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+ com.android.settings.testutils.shadow.ShadowFragment.class,
+})
+public class DesktopModeSecondaryDisplayPreferenceControllerTest {
+
+ private static final String ENG_BUILD_TYPE = "eng";
+ private static final String USER_BUILD_TYPE = "user";
+
+ @Mock
+ private SwitchPreference mPreference;
+ @Mock
+ private PreferenceScreen mScreen;
+ @Mock
+ private DevelopmentSettingsDashboardFragment mFragment;
+ @Mock
+ private FragmentActivity mActivity;
+ @Mock
+ private FragmentManager mFragmentManager;
+ @Mock
+ private FragmentTransaction mTransaction;
+
+ private Context mContext;
+ private DesktopModeSecondaryDisplayPreferenceController mController;
+
+ @Before
+ public void setup() {
+ MockitoAnnotations.initMocks(this);
+ mContext = RuntimeEnvironment.application;
+ doReturn(mTransaction).when(mFragmentManager).beginTransaction();
+ doReturn(mFragmentManager).when(mActivity).getSupportFragmentManager();
+ doReturn(mActivity).when(mFragment).getActivity();
+ mController = new DesktopModeSecondaryDisplayPreferenceController(mContext, mFragment);
+ when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+ mController.displayPreference(mScreen);
+ }
+
+ @Test
+ public void isAvailable_engBuild_shouldBeTrue() {
+ mController = spy(mController);
+ doReturn(ENG_BUILD_TYPE).when(mController).getBuildType();
+
+ assertThat(mController.isAvailable()).isTrue();
+ }
+
+ @Test
+ public void isAvailable_userBuild_shouldBeTrue() {
+ mController = spy(mController);
+ doReturn(USER_BUILD_TYPE).when(mController).getBuildType();
+
+ assertThat(mController.isAvailable()).isTrue();
+ }
+
+ @Test
+ public void onPreferenceChange_switchEnabled_enablesDesktopModeOnSecondaryDisplay() {
+ mController.onPreferenceChange(mPreference, true /* new value */);
+
+ final int mode = Settings.Global.getInt(mContext.getContentResolver(),
+ DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, -1 /* default */);
+ assertThat(mode).isEqualTo(SETTING_VALUE_ON);
+
+ verify(mTransaction).add(any(RebootConfirmationDialogFragment.class), any());
+ }
+
+ @Test
+ public void onPreferenceChange_switchDisabled_disablesDesktopModeOnSecondaryDisplay() {
+ mController.onPreferenceChange(mPreference, false /* new value */);
+
+ final int mode = Settings.Global.getInt(mContext.getContentResolver(),
+ DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, -1 /* default */);
+ assertThat(mode).isEqualTo(SETTING_VALUE_OFF);
+ }
+
+ @Test
+ public void updateState_settingEnabled_checksPreference() {
+ Settings.Global.putInt(mContext.getContentResolver(),
+ DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, SETTING_VALUE_ON);
+
+ mController.updateState(mPreference);
+
+ verify(mPreference).setChecked(true);
+ }
+
+ @Test
+ public void updateState_settingDisabled_unchecksPreference() {
+ Settings.Global.putInt(mContext.getContentResolver(),
+ DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, SETTING_VALUE_OFF);
+
+ mController.updateState(mPreference);
+
+ verify(mPreference).setChecked(false);
+ }
+
+ @Test
+ public void onDeveloperOptionsSwitchDisabled_disablesPreference() {
+ mController.onDeveloperOptionsSwitchDisabled();
+
+ final int mode = Settings.Global.getInt(mContext.getContentResolver(),
+ DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, -1 /* default */);
+ assertThat(mode).isEqualTo(SETTING_VALUE_OFF);
+ verify(mPreference).setEnabled(false);
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/development/OWNERS b/tests/robotests/src/com/android/settings/development/OWNERS
new file mode 100644
index 0000000..92a75e2
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/OWNERS
@@ -0,0 +1,2 @@
+# DesktopModePreferenceControllerTest
+per-file DesktopModePreferenceControllerTest.java=file:platform/frameworks/base:/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/OWNERS
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceControllerTest.java
index 7c1650d2..952af67 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceControllerTest.java
@@ -31,10 +31,10 @@
import androidx.test.core.app.ApplicationProvider;
+import com.android.settings.fuelgauge.BatteryUtils;
import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
@@ -76,17 +76,17 @@
assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
}
- @Ignore("b/315267179")
@Test
public void getSummary_available_returnExpectedDate() {
when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable(eq(mContext),
anyLong())).thenReturn(true);
mShadowBatteryManager.setLongProperty(BatteryManager.BATTERY_PROPERTY_FIRST_USAGE_DATE,
1669680000L);
+ final CharSequence expectedDate = BatteryUtils.getBatteryInfoFormattedDate(1669680000000L);
final CharSequence result = mController.getSummary();
- assertThat(result.toString()).isEqualTo("November 29, 2022");
+ assertThat(result).isEqualTo(expectedDate);
}
@Test
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceControllerTest.java
index e50aa1c..6e3b1aa 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceControllerTest.java
@@ -31,10 +31,10 @@
import androidx.test.core.app.ApplicationProvider;
+import com.android.settings.fuelgauge.BatteryUtils;
import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
@@ -77,17 +77,17 @@
assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
}
- @Ignore("b/315267179")
@Test
public void getSummary_available_returnExpectedDate() {
when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable(eq(mContext),
anyLong())).thenReturn(true);
mShadowBatteryManager.setLongProperty(BatteryManager.BATTERY_PROPERTY_MANUFACTURING_DATE,
1669680000L);
+ final CharSequence expectedDate = BatteryUtils.getBatteryInfoFormattedDate(1669680000000L);
final CharSequence result = mController.getSummary();
- assertThat(result.toString()).isEqualTo("November 29, 2022");
+ assertThat(result).isEqualTo(expectedDate);
}
@Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
index 80739e9..1bc00a1 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
@@ -441,4 +441,9 @@
TimeUnit.SECONDS.sleep(1);
verifyNoInteractions(mMetricsFeatureProvider);
}
+
+ @Test
+ public void shouldSkipForInitialSUW_returnTrue() {
+ assertThat(mFragment.shouldSkipForInitialSUW()).isTrue();
+ }
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java
index 7bafc6d..851dc79 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java
@@ -48,6 +48,7 @@
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.widget.UsageView;
import com.android.settingslib.fuelgauge.Estimate;
+import com.android.settingslib.utils.PowerUtil;
import org.junit.After;
import org.junit.Before;
@@ -93,7 +94,8 @@
Map.of(
ChargingType.WIRED, BatteryManager.BATTERY_PLUGGED_AC,
ChargingType.WIRELESS, BatteryManager.BATTERY_PLUGGED_WIRELESS,
- ChargingType.DOCKED, BatteryManager.BATTERY_PLUGGED_DOCK);
+ ChargingType.DOCKED, BatteryManager.BATTERY_PLUGGED_DOCK,
+ ChargingType.NONE, 0);
private static final Map<ChargingSpeed, Integer> CHARGING_SPEED_MAP =
Map.of(
ChargingSpeed.FAST, 1501000,
@@ -789,6 +791,126 @@
expectedChargeLabel);
}
+ @Test
+ public void getBatteryInfo_longlife_shouldSetLonglife() {
+ var batteryIntent = createIntentForLongLifeTest(/* hasLongLife= */ true);
+
+ var batteryInfo =
+ BatteryInfo.getBatteryInfo(
+ mContext,
+ batteryIntent,
+ mBatteryUsageStats,
+ /* estimate= */ MOCK_ESTIMATE,
+ /* elapsedRealtimeUs= */ 0L,
+ /* shortString= */ false,
+ /* currentTimeMs= */ 0L);
+
+ assertThat(batteryInfo.isLongLife).isTrue();
+ }
+
+ @Test
+ public void getBatteryInfo_noLonglife_shouldNotLonglife() {
+ var batteryIntent = createIntentForLongLifeTest(/* hasLongLife= */ false);
+
+ var batteryInfo =
+ BatteryInfo.getBatteryInfo(
+ mContext,
+ batteryIntent,
+ mBatteryUsageStats,
+ /* estimate= */ MOCK_ESTIMATE,
+ /* elapsedRealtimeUs= */ 0L,
+ /* shortString= */ false,
+ /* currentTimeMs= */ 0L);
+
+ assertThat(batteryInfo.isLongLife).isFalse();
+ }
+
+ @Test
+ public void getBatteryInfo_plugTypeNoneWithLonglifeAndChargeOptimization_chargingString() {
+ prepareTestGetBatteryInfoEnvironment(
+ /* remainingTimeMs= */ Duration.ofMinutes(130).toMillis(),
+ /* chargingStringV2Enabled= */ false);
+ Intent batteryIntent =
+ createIntentForGetBatteryInfoTest(
+ ChargingType.NONE,
+ ChargingSpeed.REGULAR,
+ /* batteryLevel= */ 85,
+ BatteryManager.BATTERY_STATUS_DISCHARGING,
+ /* isLonglife= */ true);
+ var expectedRemainingLabel = "Expected remaining label";
+ var expectedChargeLabel = "85% - " + expectedRemainingLabel;
+ when(mFeatureFactory.batterySettingsFeatureProvider.isChargingOptimizationMode(mContext))
+ .thenReturn(true);
+ when(mFeatureFactory.batterySettingsFeatureProvider.getChargingOptimizationRemainingLabel(
+ eq(mContext), anyInt(), anyInt(), anyLong(), anyLong()))
+ .thenReturn(expectedRemainingLabel);
+ when(mFeatureFactory.batterySettingsFeatureProvider.getChargingOptimizationChargeLabel(
+ eq(mContext), anyInt(), anyString(), anyLong(), anyLong()))
+ .thenReturn(expectedChargeLabel);
+ var expectedStatusLabel = "Not charging";
+
+ assertGetBatteryInfo(
+ batteryIntent,
+ /* currentTimeMillis= */ UNUSED_TIME_MS,
+ expectedStatusLabel,
+ expectedRemainingLabel,
+ expectedChargeLabel);
+ }
+
+ @Test
+ public void getBatteryInfo_plugTypeNoneNotChargeOptimizationLonglife_dischargingString() {
+ prepareTestGetBatteryInfoEnvironment(
+ /* remainingTimeMs= */ Duration.ofMinutes(130).toMillis(),
+ /* chargingStringV2Enabled= */ false);
+ Intent batteryIntent =
+ createIntentForGetBatteryInfoTest(
+ ChargingType.NONE,
+ ChargingSpeed.REGULAR,
+ /* batteryLevel= */ 85,
+ BatteryManager.BATTERY_STATUS_DISCHARGING,
+ /* isLonglife= */ true);
+ var expectedRemainingLabel =
+ PowerUtil.getBatteryRemainingShortStringFormatted(
+ mContext, PowerUtil.convertUsToMs(1000L));
+ when(mFeatureFactory.batterySettingsFeatureProvider.isChargingOptimizationMode(mContext))
+ .thenReturn(false);
+ var expectedStatusLabel = "Not charging";
+
+ assertGetBatteryInfo(
+ batteryIntent,
+ /* currentTimeMillis= */ UNUSED_TIME_MS,
+ expectedStatusLabel,
+ expectedRemainingLabel,
+ expectedRemainingLabel);
+ }
+
+ @Test
+ public void getBatteryInfo_plugTypeNoneChargeOptimizationNotLonglife_dischargingString() {
+ prepareTestGetBatteryInfoEnvironment(
+ /* remainingTimeMs= */ Duration.ofMinutes(130).toMillis(),
+ /* chargingStringV2Enabled= */ false);
+ Intent batteryIntent =
+ createIntentForGetBatteryInfoTest(
+ ChargingType.NONE,
+ ChargingSpeed.REGULAR,
+ /* batteryLevel= */ 85,
+ BatteryManager.BATTERY_STATUS_DISCHARGING,
+ /* isLonglife= */ false);
+ var expectedRemainingLabel =
+ PowerUtil.getBatteryRemainingShortStringFormatted(
+ mContext, PowerUtil.convertUsToMs(1000L));
+ when(mFeatureFactory.batterySettingsFeatureProvider.isChargingOptimizationMode(mContext))
+ .thenReturn(true);
+ var expectedStatusLabel = "Not charging";
+
+ assertGetBatteryInfo(
+ batteryIntent,
+ /* currentTimeMillis= */ UNUSED_TIME_MS,
+ expectedStatusLabel,
+ expectedRemainingLabel,
+ expectedRemainingLabel);
+ }
+
private enum ChargingSpeed {
FAST,
REGULAR,
@@ -798,19 +920,46 @@
private enum ChargingType {
WIRED,
WIRELESS,
- DOCKED
+ DOCKED,
+ NONE
}
- private Intent createIntentForGetBatteryInfoTest(
+ private static Intent createIntentForLongLifeTest(Boolean hasLongLife) {
+ return new Intent(Intent.ACTION_BATTERY_CHANGED)
+ .putExtra(
+ BatteryManager.EXTRA_CHARGING_STATUS,
+ hasLongLife
+ ? BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE
+ : BatteryManager.CHARGING_POLICY_DEFAULT);
+ }
+
+ private static Intent createIntentForGetBatteryInfoTest(
ChargingType chargingType, ChargingSpeed chargingSpeed, int batteryLevel) {
+ return createIntentForGetBatteryInfoTest(
+ chargingType,
+ chargingSpeed,
+ batteryLevel,
+ BatteryManager.BATTERY_STATUS_CHARGING,
+ /* isLonglife= */ false);
+ }
+
+ private static Intent createIntentForGetBatteryInfoTest(
+ ChargingType chargingType,
+ ChargingSpeed chargingSpeed,
+ int batteryLevel,
+ int chargingStatus,
+ boolean isLonglife) {
return createBatteryIntent(
- CHARGING_TYPE_MAP.get(chargingType),
- batteryLevel,
- BatteryManager.BATTERY_STATUS_CHARGING)
+ CHARGING_TYPE_MAP.get(chargingType), batteryLevel, chargingStatus)
.putExtra(
BatteryManager.EXTRA_MAX_CHARGING_CURRENT,
CHARGING_SPEED_MAP.get(chargingSpeed))
- .putExtra(BatteryManager.EXTRA_MAX_CHARGING_VOLTAGE, 5000000);
+ .putExtra(BatteryManager.EXTRA_MAX_CHARGING_VOLTAGE, 5000000)
+ .putExtra(
+ BatteryManager.EXTRA_CHARGING_STATUS,
+ isLonglife
+ ? BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE
+ : BatteryManager.CHARGING_POLICY_DEFAULT);
}
private void prepareTestGetBatteryInfoEnvironment(
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java
index 6b32ff5..962c40f 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java
@@ -78,6 +78,11 @@
}
@Test
+ public void isRestrictedModeOverwriteEnabled_returnFalse() {
+ assertThat(mPowerFeatureProvider.isRestrictedModeOverwriteEnabled()).isFalse();
+ }
+
+ @Test
public void isForceExpireAppOptimizationModeEnabled_returnFalse() {
assertThat(mPowerFeatureProvider.isForceExpireAppOptimizationModeEnabled()).isFalse();
}
@@ -165,7 +170,7 @@
@Test
public void isBatteryDefend_defenderModeAndExtraDefendAreFalse_returnFalse() {
- mBatteryInfo.isBatteryDefender = false;
+ mBatteryInfo.isLongLife = false;
doReturn(false).when(mPowerFeatureProvider).isExtraDefend();
assertThat(mPowerFeatureProvider.isBatteryDefend(mBatteryInfo)).isFalse();
@@ -173,7 +178,7 @@
@Test
public void isBatteryDefend_defenderModeIsFalse_returnFalse() {
- mBatteryInfo.isBatteryDefender = false;
+ mBatteryInfo.isLongLife = false;
doReturn(true).when(mPowerFeatureProvider).isExtraDefend();
assertThat(mPowerFeatureProvider.isBatteryDefend(mBatteryInfo)).isFalse();
@@ -181,7 +186,7 @@
@Test
public void isBatteryDefend_defenderModeAndExtraDefendAreTrue_returnFalse() {
- mBatteryInfo.isBatteryDefender = true;
+ mBatteryInfo.isLongLife = true;
doReturn(true).when(mPowerFeatureProvider).isExtraDefend();
assertThat(mPowerFeatureProvider.isBatteryDefend(mBatteryInfo)).isFalse();
@@ -189,7 +194,7 @@
@Test
public void isBatteryDefend_extraDefendIsFalse_returnTrue() {
- mBatteryInfo.isBatteryDefender = true;
+ mBatteryInfo.isLongLife = true;
doReturn(false).when(mPowerFeatureProvider).isExtraDefend();
assertThat(mPowerFeatureProvider.isBatteryDefend(mBatteryInfo)).isTrue();
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetectorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetectorTest.java
index ab1ceb5..7643c41 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetectorTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetectorTest.java
@@ -18,15 +18,12 @@
import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.Mockito.when;
-
import android.content.Context;
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.fuelgauge.BatteryInfo;
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
-import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.Before;
import org.junit.Test;
@@ -41,28 +38,23 @@
@Mock private BatteryInfo mBatteryInfo;
private BatteryDefenderDetector mBatteryDefenderDetector;
- private FakeFeatureFactory mFakeFeatureFactory;
-
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
final Context context = ApplicationProvider.getApplicationContext();
mBatteryDefenderDetector = new BatteryDefenderDetector(mBatteryInfo, context);
- mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
}
@Test
public void detect_notBatteryDefend_tipInvisible() {
- when(mFakeFeatureFactory.powerUsageFeatureProvider.isBatteryDefend(mBatteryInfo))
- .thenReturn(false);
+ mBatteryInfo.isBatteryDefender = false;
assertThat(mBatteryDefenderDetector.detect().isVisible()).isFalse();
}
@Test
public void detect_isBatteryDefend_tipNew() {
- when(mFakeFeatureFactory.powerUsageFeatureProvider.isBatteryDefend(mBatteryInfo))
- .thenReturn(true);
+ mBatteryInfo.isBatteryDefender = true;
assertThat(mBatteryDefenderDetector.detect().getState())
.isEqualTo(BatteryTip.StateType.NEW);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntryTest.java
index 4567bc3..0e10a15 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntryTest.java
@@ -494,6 +494,7 @@
final ContentValues values =
getContentValuesWithType(ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
values.put(BatteryHistEntry.KEY_UID, /*invalid uid*/ 10001);
+ values.put(BatteryHistEntry.KEY_USER_ID, /*valid userid*/ USER_ID);
values.put(BatteryHistEntry.KEY_PACKAGE_NAME, fakePackageName);
final BatteryDiffEntry entry = createBatteryDiffEntry(10, new BatteryHistEntry(values));
@@ -503,14 +504,16 @@
doReturn(BatteryUtils.UID_NULL)
.when(mMockPackageManager)
- .getPackageUid(entry.getPackageName(), PackageManager.GET_META_DATA);
+ .getPackageUidAsUser(
+ entry.getPackageName(), PackageManager.GET_META_DATA, USER_ID);
entry.updateRestrictionFlagState();
// Sets false if the app is invalid package name.
assertThat(entry.mValidForRestriction).isFalse();
doReturn(1000)
.when(mMockPackageManager)
- .getPackageUid(entry.getPackageName(), PackageManager.GET_META_DATA);
+ .getPackageUidAsUser(
+ entry.getPackageName(), PackageManager.GET_META_DATA, USER_ID);
entry.updateRestrictionFlagState();
// Sets false if the app PackageInfo cannot be found.
assertThat(entry.mValidForRestriction).isFalse();
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
index 450d058..6147778 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
@@ -132,7 +132,7 @@
createBatteryEntryForApp(null, APP_DEFAULT_PACKAGE_NAME, HIGH_DRAIN_PACKAGE);
assertThat(entry.getDefaultPackageName()).isEqualTo(APP_DEFAULT_PACKAGE_NAME);
- assertThat(entry.getLabel()).isEqualTo(LABEL_PREFIX + APP_DEFAULT_PACKAGE_NAME);
+ assertThat(entry.getLabel()).isEqualTo(APP_DEFAULT_PACKAGE_NAME);
}
@Test
@@ -152,7 +152,7 @@
BatteryEntry entry = createBatteryEntryForApp(null, null, HIGH_DRAIN_PACKAGE);
- assertThat(entry.getLabel()).isEqualTo(LABEL_PREFIX + HIGH_DRAIN_PACKAGE);
+ assertThat(entry.getLabel()).isEqualTo(HIGH_DRAIN_PACKAGE);
}
@Test
@@ -163,7 +163,7 @@
null,
HIGH_DRAIN_PACKAGE);
- assertThat(entry.getLabel()).isEqualTo(LABEL_PREFIX + HIGH_DRAIN_PACKAGE);
+ assertThat(entry.getLabel()).isEqualTo(HIGH_DRAIN_PACKAGE);
}
@Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java
index 6042801..2f20b42 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java
@@ -112,6 +112,7 @@
mContext,
/* handler= */ null,
mUserIdsSeries,
+ /* isFromPeriodJob= */ false,
/* rawStartTimestamp= */ 0L,
/* lastFullChargeTimestamp= */ 0L,
/* callbackFunction= */ null,
@@ -258,6 +259,7 @@
mContext,
/* handler= */ null,
mUserIdsSeries,
+ /* isFromPeriodJob= */ false,
/* rawStartTimestamp= */ 2L,
/* lastFullChargeTimestamp= */ 1L,
/* callbackFunction= */ null,
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtilsTest.java
index bf2b191..9b459c5 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtilsTest.java
@@ -18,15 +18,19 @@
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.when;
+
import android.content.Context;
import androidx.test.core.app.ApplicationProvider;
+import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
import com.android.settings.fuelgauge.batteryusage.BatteryReattribute;
import com.android.settings.fuelgauge.batteryusage.db.BatteryReattributeDao;
import com.android.settings.fuelgauge.batteryusage.db.BatteryReattributeEntity;
import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDatabase;
import com.android.settings.testutils.BatteryTestUtils;
+import com.android.settings.testutils.FakeFeatureFactory;
import org.junit.After;
import org.junit.Before;
@@ -48,6 +52,7 @@
private Context mContext;
private BatteryStateDatabase mDatabase;
private BatteryReattributeDao mBatteryReattributeDao;
+ private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
@Before
public void setUp() {
@@ -56,6 +61,8 @@
mTestPrintWriter = new PrintWriter(mTestStringWriter);
mDatabase = BatteryTestUtils.setUpBatteryStateDatabase(mContext);
mBatteryReattributeDao = mDatabase.batteryReattributeDao();
+ mPowerUsageFeatureProvider = FakeFeatureFactory.setupForTest().powerUsageFeatureProvider;
+ when(mPowerUsageFeatureProvider.isBatteryUsageReattributeEnabled()).thenReturn(true);
}
@After
@@ -99,4 +106,17 @@
assertThat(result).contains(batteryReattribute1.toString());
assertThat(result).contains(batteryReattribute2.toString());
}
+
+ @Test
+ public void dumpBatteryReattributeDatabaseHist_featureDisable_notPrintData() {
+ mBatteryReattributeDao.insert(new BatteryReattributeEntity(
+ BatteryReattribute.getDefaultInstance()));
+ when(mPowerUsageFeatureProvider.isBatteryUsageReattributeEnabled()).thenReturn(false);
+
+ LogUtils.dumpBatteryReattributeDatabaseHist(mBatteryReattributeDao, mTestPrintWriter);
+
+ final String result = mTestStringWriter.toString();
+ assertThat(result).contains("BatteryReattribute is disabled!");
+ assertThat(result.contains("BatteryReattribute DatabaseHistory:")).isFalse();
+ }
}
diff --git a/tests/robotests/src/com/android/settings/inputmethod/PointerScaleSeekBarControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/PointerScaleSeekBarControllerTest.java
new file mode 100644
index 0000000..152649f
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/PointerScaleSeekBarControllerTest.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.inputmethod;
+
+import static android.view.flags.Flags.enableVectorCursorA11ySettings;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assume.assumeTrue;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.os.UserHandle;
+import android.provider.Settings;
+import android.widget.SeekBar;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.testutils.shadow.ShadowSystemSettings;
+import com.android.settings.widget.LabeledSeekBarPreference;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+/** Tests for {@link PointerScaleSeekBarController} */
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+ ShadowSystemSettings.class,
+})
+public class PointerScaleSeekBarControllerTest {
+
+ private static final String PREFERENCE_KEY = "pointer_scale";
+
+ @Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
+
+ @Mock private PreferenceScreen mPreferenceScreen;
+
+ private Context mContext;
+ private LabeledSeekBarPreference mPreference;
+ private PointerScaleSeekBarController mController;
+
+ @Before
+ public void setUp() {
+ mContext = RuntimeEnvironment.application;
+ mPreference = new LabeledSeekBarPreference(mContext, null);
+ mController = new PointerScaleSeekBarController(mContext, PREFERENCE_KEY);
+ }
+
+ @Test
+ public void getAvailabilityStatus_flagEnabled() {
+ assumeTrue(enableVectorCursorA11ySettings());
+
+ assertEquals(mController.getAvailabilityStatus(), AVAILABLE);
+ }
+
+ @Test
+ public void onProgressChanged_changeListenerUpdatesSetting() {
+ when(mPreferenceScreen.findPreference(anyString())).thenReturn(mPreference);
+ mController.displayPreference(mPreferenceScreen);
+ SeekBar seekBar = mPreference.getSeekbar();
+ int sliderValue = 1;
+
+ mPreference.onProgressChanged(seekBar, sliderValue, false);
+
+ float expectedScale = 1.5f;
+ float currentScale = Settings.System.getFloatForUser(mContext.getContentResolver(),
+ Settings.System.POINTER_SCALE, -1, UserHandle.USER_CURRENT);
+ assertEquals(expectedScale, currentScale, /* delta= */ 0.001f);
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/inputmethod/PointerStrokeStylePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/PointerStrokeStylePreferenceControllerTest.java
new file mode 100644
index 0000000..9b4d5ef
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/PointerStrokeStylePreferenceControllerTest.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.inputmethod;
+
+import static android.view.flags.Flags.enableVectorCursorA11ySettings;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.inputmethod.PointerStrokeStylePreferenceController.KEY_POINTER_STROKE_STYLE;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assume.assumeTrue;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+
+/** Tests for {@link PointerStrokeStylePreferenceController} */
+@RunWith(RobolectricTestRunner.class)
+public class PointerStrokeStylePreferenceControllerTest {
+ @Rule
+ public MockitoRule mMockitoRule = MockitoJUnit.rule();
+
+ @Mock
+ PreferenceScreen mPreferenceScreen;
+
+ private Context mContext;
+ private PointerStrokeStylePreferenceController mController;
+
+ @Before
+ public void setUp() {
+ mContext = ApplicationProvider.getApplicationContext();
+ mController = new PointerStrokeStylePreferenceController(mContext);
+ }
+
+ @Test
+ public void displayPreference_initializeDataStore() {
+ Preference strokePreference = new Preference(mContext);
+ strokePreference.setKey(KEY_POINTER_STROKE_STYLE);
+ when(mPreferenceScreen.findPreference(eq(KEY_POINTER_STROKE_STYLE))).thenReturn(
+ strokePreference);
+
+ mController.displayPreference(mPreferenceScreen);
+
+ assertNotNull(strokePreference.getPreferenceDataStore());
+ }
+
+ @Test
+ public void getAvailabilityStatus_flagEnabled() {
+ assumeTrue(enableVectorCursorA11ySettings());
+
+ assertEquals(mController.getAvailabilityStatus(), AVAILABLE);
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/inputmethod/PointerStrokeStylePreferenceTest.java b/tests/robotests/src/com/android/settings/inputmethod/PointerStrokeStylePreferenceTest.java
new file mode 100644
index 0000000..33b8592
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/PointerStrokeStylePreferenceTest.java
@@ -0,0 +1,92 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.inputmethod;
+
+import static android.view.PointerIcon.POINTER_ICON_VECTOR_STYLE_STROKE_BLACK;
+import static android.view.PointerIcon.POINTER_ICON_VECTOR_STYLE_STROKE_WHITE;
+
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+import android.provider.Settings;
+import android.view.View;
+import android.widget.RadioButton;
+
+import androidx.preference.PreferenceDataStore;
+import androidx.preference.PreferenceViewHolder;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+
+/** Tests for {@link PointerStrokeStylePreference} */
+@RunWith(RobolectricTestRunner.class)
+public class PointerStrokeStylePreferenceTest {
+ @Rule
+ public MockitoRule mMockitoRule = MockitoJUnit.rule();
+
+ @Mock
+ PreferenceDataStore mPreferenceDataStore;
+
+ private Context mContext;
+ private PreferenceViewHolder mViewHolder;
+ private PointerStrokeStylePreference mPreference;
+
+
+ @Before
+ public void setUp() {
+ mContext = ApplicationProvider.getApplicationContext();
+ mPreference = new PointerStrokeStylePreference(mContext, null);
+ }
+
+ @Test
+ public void onBindViewHolder_getCurrentStrokeStyleFromDataStore() {
+ final View view = spy(View.inflate(mContext, mPreference.getLayoutResource(), null));
+ mViewHolder = PreferenceViewHolder.createInstanceForTests(view);
+ mPreference.setPreferenceDataStore(mPreferenceDataStore);
+
+ mPreference.onBindViewHolder(mViewHolder);
+
+ verify(mPreferenceDataStore).getInt(Settings.System.POINTER_STROKE_STYLE,
+ POINTER_ICON_VECTOR_STYLE_STROKE_WHITE);
+ }
+
+ @Test
+ public void setChecked_radioButtonUpdatesDataStore() {
+ final View view = spy(View.inflate(mContext, mPreference.getLayoutResource(), null));
+ mViewHolder = PreferenceViewHolder.createInstanceForTests(view);
+ mPreference.setPreferenceDataStore(mPreferenceDataStore);
+ RadioButton radioButton = (RadioButton) view.findViewById(R.id.stroke_style_black);
+ mPreference.onBindViewHolder(mViewHolder);
+
+ radioButton.setChecked(true);
+
+ verify(mPreferenceDataStore).getInt(Settings.System.POINTER_STROKE_STYLE,
+ POINTER_ICON_VECTOR_STYLE_STROKE_WHITE);
+ verify(mPreferenceDataStore).putInt(Settings.System.POINTER_STROKE_STYLE,
+ POINTER_ICON_VECTOR_STYLE_STROKE_BLACK);
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java b/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
index fb29e05..0161178 100644
--- a/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
@@ -51,6 +51,7 @@
import android.os.PowerManager;
import android.os.UserManager;
import android.provider.Settings;
+import android.telephony.SubscriptionManager;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuItem;
@@ -319,7 +320,8 @@
mNetworkProviderSettings.onCreate(Bundle.EMPTY);
verify(mDataUsagePreference).setVisible(true);
- verify(mDataUsagePreference).setTemplate(any(), eq(0) /*subId*/);
+ verify(mDataUsagePreference)
+ .setTemplate(any(), eq(SubscriptionManager.INVALID_SUBSCRIPTION_ID));
}
@Test
diff --git a/tests/robotests/src/com/android/settings/notification/app/BundleListPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/BundleListPreferenceControllerTest.java
new file mode 100644
index 0000000..8b8c77e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/BundleListPreferenceControllerTest.java
@@ -0,0 +1,160 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.app;
+
+import static android.app.NotificationChannel.NEWS_ID;
+import static android.app.NotificationChannel.PROMOTIONS_ID;
+import static android.app.NotificationChannel.RECS_ID;
+import static android.app.NotificationChannel.SOCIAL_MEDIA_ID;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationChannel;
+import android.content.Context;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.service.notification.Flags;
+
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.filters.SmallTest;
+
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.PrimarySwitchPreference;
+
+import com.google.common.collect.ImmutableMap;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+@SmallTest
+@EnableFlags(Flags.FLAG_NOTIFICATION_CLASSIFICATION)
+public class BundleListPreferenceControllerTest {
+ private Context mContext;
+ @Mock
+ private NotificationBackend mBackend;
+ private NotificationBackend.AppRow mAppRow;
+ private BundleListPreferenceController mController;
+ private PreferenceManager mPreferenceManager;
+ private PreferenceScreen mPreferenceScreen;
+ private PreferenceCategory mGroupList;
+ @Rule
+ public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+ @Before
+ public void setUp() throws Exception {
+ MockitoAnnotations.initMocks(this);
+ mContext = ApplicationProvider.getApplicationContext();
+
+ mAppRow = new NotificationBackend.AppRow();
+ mAppRow.pkg = "pkg";
+ mAppRow.uid = 1111111;
+ NotificationBackend.NotificationsSentState
+ sentA = new NotificationBackend.NotificationsSentState();
+ sentA.avgSentDaily = 2;
+ sentA.avgSentWeekly = 10;
+ NotificationBackend.NotificationsSentState
+ sentB = new NotificationBackend.NotificationsSentState();
+ sentB.avgSentDaily = 0;
+ sentB.avgSentWeekly = 2;
+ mAppRow.sentByChannel = ImmutableMap.of(
+ PROMOTIONS_ID, sentA, NEWS_ID, sentA, SOCIAL_MEDIA_ID, sentB, RECS_ID, sentB);
+ mController = new BundleListPreferenceController(mContext, mBackend);
+ mController.onResume(mAppRow, null, null, null, null, null, null);
+ mPreferenceManager = new PreferenceManager(mContext);
+ mPreferenceScreen = mPreferenceManager.createPreferenceScreen(mContext);
+ mGroupList = new PreferenceCategory(mContext);
+ mPreferenceScreen.addPreference(mGroupList);
+
+ when(mBackend.getChannel(mAppRow.pkg, mAppRow.uid, PROMOTIONS_ID)).thenReturn(
+ new NotificationChannel(PROMOTIONS_ID, PROMOTIONS_ID, 2));
+ when(mBackend.getChannel(mAppRow.pkg, mAppRow.uid, NEWS_ID)).thenReturn(
+ new NotificationChannel(NEWS_ID, NEWS_ID, 2));
+ when(mBackend.getChannel(mAppRow.pkg, mAppRow.uid, SOCIAL_MEDIA_ID)).thenReturn(
+ new NotificationChannel(SOCIAL_MEDIA_ID, SOCIAL_MEDIA_ID, 2));
+ when(mBackend.getChannel(mAppRow.pkg, mAppRow.uid, RECS_ID)).thenReturn(
+ new NotificationChannel(RECS_ID, RECS_ID, 2));
+ }
+
+ @Test
+ public void isAvailable_null() {
+ mController.onResume(null, null, null, null, null, null, null);
+ assertThat(mController.isAvailable()).isFalse();
+ mAppRow.banned = true;
+ }
+
+ @Test
+ public void isAvailable_banned() {
+ mAppRow.banned = true;
+ assertThat(mController.isAvailable()).isFalse();
+ }
+
+ @Test
+ public void isAvailable_locked() {
+ mAppRow.lockedImportance = true;
+ assertThat(mController.isAvailable()).isFalse();
+ }
+
+ @Test
+ public void isAvailable_system() {
+ mAppRow.systemApp = true;
+ assertThat(mController.isAvailable()).isFalse();
+ }
+
+ @Test
+ public void isAvailable() {
+ assertThat(mController.isAvailable()).isTrue();
+ }
+
+ @Test
+ public void updateState() {
+ mController.updateState(mGroupList);
+ assertThat(mGroupList.getPreferenceCount()).isEqualTo(4);
+ assertThat(mGroupList.findPreference(PROMOTIONS_ID).getTitle()).isEqualTo(PROMOTIONS_ID);
+ assertThat(mGroupList.findPreference(NEWS_ID).getTitle()).isEqualTo(NEWS_ID);
+ assertThat(mGroupList.findPreference(SOCIAL_MEDIA_ID).getTitle())
+ .isEqualTo(SOCIAL_MEDIA_ID);
+ assertThat(mGroupList.findPreference(RECS_ID).getTitle()).isEqualTo(RECS_ID);
+ }
+
+ @Test
+ public void updateState_updateChildren() {
+ mController.updateState(mGroupList);
+ assertThat(mGroupList.getPreferenceCount()).isEqualTo(4);
+
+ when(mBackend.getChannel(mAppRow.pkg, mAppRow.uid, PROMOTIONS_ID)).thenReturn(
+ new NotificationChannel(PROMOTIONS_ID, PROMOTIONS_ID, 2));
+
+ mController.updateState(mGroupList);
+ assertThat(mGroupList.getPreferenceCount()).isEqualTo(4);
+
+ assertThat(((PrimarySwitchPreference) mGroupList.findPreference(NEWS_ID)).isChecked())
+ .isEqualTo(false);
+ assertThat(((PrimarySwitchPreference) mGroupList.findPreference(NEWS_ID)).isChecked())
+ .isEqualTo(false);
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/DeletedChannelsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/DeletedChannelsPreferenceControllerTest.java
index 5c9de7c..267b8d7 100644
--- a/tests/robotests/src/com/android/settings/notification/app/DeletedChannelsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/app/DeletedChannelsPreferenceControllerTest.java
@@ -31,12 +31,17 @@
import android.app.NotificationManager;
import android.content.Context;
import android.os.UserManager;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
import androidx.preference.Preference;
+import com.android.server.notification.Flags;
import com.android.settings.notification.NotificationBackend;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
@@ -60,6 +65,8 @@
private UserManager mUm;
private DeletedChannelsPreferenceController mController;
+ @Rule
+ public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
@Before
public void setUp() {
@@ -109,6 +116,16 @@
}
@Test
+ @EnableFlags(Flags.FLAG_NOTIFICATION_HIDE_UNUSED_CHANNELS)
+ public void isAvailable_notIfFlagEnabled() {
+ when(mBackend.getDeletedChannelCount(any(), anyInt())).thenReturn(1);
+ mController.onResume(
+ new NotificationBackend.AppRow(), null, null, null, null, null, new ArrayList<>());
+ assertFalse(mController.isAvailable());
+ }
+
+ @Test
+ @DisableFlags(Flags.FLAG_NOTIFICATION_HIDE_UNUSED_CHANNELS)
public void isAvailable_appScreen() {
when(mBackend.getDeletedChannelCount(any(), anyInt())).thenReturn(1);
mController.onResume(
diff --git a/tests/robotests/src/com/android/settings/notification/app/ShowMorePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/ShowMorePreferenceControllerTest.java
new file mode 100644
index 0000000..611c80a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/ShowMorePreferenceControllerTest.java
@@ -0,0 +1,113 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.app;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.junit.Assert.assertFalse;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+
+import android.app.NotificationChannelGroup;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.os.UserManager;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.preference.Preference;
+
+import com.android.server.notification.Flags;
+import com.android.settings.notification.NotificationBackend;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_NOTIFICATION_HIDE_UNUSED_CHANNELS)
+public class ShowMorePreferenceControllerTest {
+
+ private Context mContext;
+ @Mock
+ private NotificationBackend mBackend;
+ @Mock
+ private NotificationManager mNm;
+ @Mock
+ private UserManager mUm;
+ @Mock
+ private NotificationSettings.DependentFieldListener mDependentFieldListener;
+
+ private ShowMorePreferenceController mController;
+ @Rule
+ public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ ShadowApplication shadowApplication = ShadowApplication.getInstance();
+ shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+ shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
+ mContext = RuntimeEnvironment.application;
+ mController = new ShowMorePreferenceController(mContext, mDependentFieldListener, mBackend);
+ }
+
+ @Test
+ public void noCrashIfNoOnResume() {
+ mController.isAvailable();
+ mController.updateState(mock(Preference.class));
+ }
+
+ @Test
+ public void isAvailable_notIfAppBlocked() {
+ NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+ appRow.banned = true;
+ appRow.showAllChannels = false;
+ mController.onResume(appRow, null, null, null, null, null, null);
+ assertFalse(mController.isAvailable());
+ }
+
+ @Test
+ public void isAvailable_notIfShowingAll() {
+ NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+ mController.onResume(appRow, null, mock(NotificationChannelGroup.class), null, null, null,
+ null);
+ assertFalse(mController.isAvailable());
+ }
+
+ @Test
+ public void updateState() {
+ NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+ appRow.banned = false;
+ appRow.showAllChannels = false;
+ mController.onResume(appRow, null, null, null, null, null, null);
+
+ Preference pref = new Preference(mContext);
+ mController.updateState(pref);
+
+ pref.performClick();
+
+ verify(mDependentFieldListener).onFieldValueChanged();
+ assertThat(appRow.showAllChannels).isTrue();
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ConfigurationActivityHelperTest.java b/tests/robotests/src/com/android/settings/notification/modes/ConfigurationActivityHelperTest.java
new file mode 100644
index 0000000..1c72e87
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ConfigurationActivityHelperTest.java
@@ -0,0 +1,183 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import static android.app.NotificationManager.EXTRA_AUTOMATIC_RULE_ID;
+import static android.service.notification.ConditionProviderService.EXTRA_RULE_ID;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.when;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ComponentInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.os.Bundle;
+import android.service.notification.ConditionProviderService;
+
+import com.android.settingslib.notification.modes.ZenMode;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.function.Function;
+
+@RunWith(RobolectricTestRunner.class)
+public class ConfigurationActivityHelperTest {
+
+ private Context mContext;
+ private ConfigurationActivityHelper mHelper;
+
+ @Mock private PackageManager mPm;
+ @Mock private Function<ComponentName, ComponentInfo> mApprovedServiceFinder;
+
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ mContext = RuntimeEnvironment.getApplication();
+ mHelper = new ConfigurationActivityHelper(mPm);
+
+ when(mPm.queryIntentActivities(any(), anyInt())).thenReturn(List.of(new ResolveInfo()));
+ }
+
+ @Test
+ public void getConfigurationActivityIntentForMode_configActivity() throws Exception {
+ ZenMode mode = new TestModeBuilder()
+ .setId("id")
+ .setPackage(mContext.getPackageName())
+ .setConfigurationActivity(new ComponentName(mContext.getPackageName(), "test"))
+ .build();
+ when(mPm.getPackageUid(mContext.getPackageName(), 0)).thenReturn(1);
+
+ Intent res = mHelper.getConfigurationActivityIntentForMode(mode, mApprovedServiceFinder);
+
+ assertThat(res).isNotNull();
+ assertThat(res.getStringExtra(EXTRA_RULE_ID)).isEqualTo("id");
+ assertThat(res.getStringExtra(EXTRA_AUTOMATIC_RULE_ID)).isEqualTo("id");
+ assertThat(res.getComponent()).isEqualTo(
+ new ComponentName(mContext.getPackageName(), "test"));
+ }
+
+ @Test
+ public void getConfigurationActivityIntentForMode_configActivityNotResolvable_returnsNull()
+ throws Exception {
+ ZenMode mode = new TestModeBuilder()
+ .setId("id")
+ .setPackage(mContext.getPackageName())
+ .setConfigurationActivity(new ComponentName(mContext.getPackageName(), "test"))
+ .build();
+ when(mPm.getPackageUid(mContext.getPackageName(), 0)).thenReturn(1);
+ when(mPm.queryIntentActivities(any(), anyInt())).thenReturn(new ArrayList<>());
+
+ Intent res = mHelper.getConfigurationActivityIntentForMode(mode, mApprovedServiceFinder);
+
+ assertThat(res).isNull();
+ }
+
+ @Test
+ public void getConfigurationActivityIntentForMode_configActivityAndWrongPackage_returnsNull()
+ throws Exception {
+ ZenMode mode = new TestModeBuilder()
+ .setPackage(mContext.getPackageName())
+ .setConfigurationActivity(new ComponentName("another", "test"))
+ .build();
+ when(mPm.getPackageUid(mContext.getPackageName(), 0)).thenReturn(1);
+
+ Intent res = mHelper.getConfigurationActivityIntentForMode(mode, mApprovedServiceFinder);
+
+ assertThat(res).isNull();
+ }
+
+ @Test
+ public void getConfigurationActivityIntentForMode_configActivityAndUnspecifiedOwner()
+ throws Exception {
+ ZenMode mode = new TestModeBuilder()
+ .setId("id")
+ .setPackage(null)
+ .setConfigurationActivity(new ComponentName("another", "test"))
+ .build();
+ when(mPm.getPackageUid(mContext.getPackageName(), 0)).thenReturn(1);
+
+ Intent res = mHelper.getConfigurationActivityIntentForMode(mode, mApprovedServiceFinder);
+
+ assertThat(res).isNotNull();
+ assertThat(res.getStringExtra(EXTRA_RULE_ID)).isEqualTo("id");
+ assertThat(res.getStringExtra(EXTRA_AUTOMATIC_RULE_ID)).isEqualTo("id");
+ assertThat(res.getComponent()).isEqualTo(new ComponentName("another", "test"));
+ }
+
+ @Test
+ public void getConfigurationActivityIntentForMode_cps() throws Exception {
+ ZenMode mode = new TestModeBuilder()
+ .setId("id")
+ .setPackage(mContext.getPackageName())
+ .setOwner(new ComponentName(mContext.getPackageName(), "service"))
+ .build();
+ ComponentInfo ci = new ComponentInfo();
+ ci.packageName = mContext.getPackageName();
+ ci.metaData = new Bundle();
+ ci.metaData.putString(ConditionProviderService.META_DATA_CONFIGURATION_ACTIVITY,
+ ComponentName.flattenToShortString(
+ new ComponentName(mContext.getPackageName(), "activity")));
+ when(mApprovedServiceFinder.apply(new ComponentName(mContext.getPackageName(), "service")))
+ .thenReturn(ci);
+ when(mPm.getPackageUid(mContext.getPackageName(), 0)).thenReturn(1);
+
+ Intent res = mHelper.getConfigurationActivityIntentForMode(mode, mApprovedServiceFinder);
+
+ assertThat(res).isNotNull();
+ assertThat(res.getStringExtra(EXTRA_RULE_ID)).isEqualTo("id");
+ assertThat(res.getStringExtra(EXTRA_AUTOMATIC_RULE_ID)).isEqualTo("id");
+ assertThat(res.getComponent()).isEqualTo(
+ new ComponentName(mContext.getPackageName(), "activity"));
+ }
+
+ @Test
+ public void getConfigurationActivityIntentForMode_cpsAndWrongPackage_returnsNull()
+ throws Exception {
+ ZenMode mode = new TestModeBuilder()
+ .setPackage("other")
+ .setOwner(new ComponentName(mContext.getPackageName(), "service"))
+ .build();
+ ComponentInfo ci = new ComponentInfo();
+ ci.packageName = mContext.getPackageName();
+ ci.metaData = new Bundle();
+ ci.metaData.putString(ConditionProviderService.META_DATA_CONFIGURATION_ACTIVITY,
+ ComponentName.flattenToShortString(
+ new ComponentName(mContext.getPackageName(), "activity")));
+ when(mApprovedServiceFinder.apply(new ComponentName(mContext.getPackageName(), "service")))
+ .thenReturn(ci);
+ when(mPm.getPackageUid(mContext.getPackageName(), 0)).thenReturn(1);
+
+ Intent res = mHelper.getConfigurationActivityIntentForMode(mode, mApprovedServiceFinder);
+
+ assertThat(res).isNull();
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/IconLoaderTest.java b/tests/robotests/src/com/android/settings/notification/modes/IconLoaderTest.java
deleted file mode 100644
index 7d4a367..0000000
--- a/tests/robotests/src/com/android/settings/notification/modes/IconLoaderTest.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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.settings.notification.modes;
-
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.AutomaticZenRule;
-import android.content.Context;
-import android.graphics.drawable.Drawable;
-import android.net.Uri;
-import android.service.notification.ZenPolicy;
-
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.common.util.concurrent.MoreExecutors;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class IconLoaderTest {
-
- private Context mContext;
- private IconLoader mLoader;
-
- @Before
- public void setUp() {
- mContext = RuntimeEnvironment.application;
- mLoader = new IconLoader(MoreExecutors.newDirectExecutorService());
- }
-
- @Test
- public void getIcon_systemOwnedRuleWithIcon_loads() throws Exception {
- AutomaticZenRule systemRule = newRuleBuilder()
- .setPackage("android")
- .setIconResId(android.R.drawable.ic_media_play)
- .build();
-
- ListenableFuture<Drawable> loadFuture = mLoader.getIcon(mContext, systemRule);
- assertThat(loadFuture.isDone()).isTrue();
- assertThat(loadFuture.get()).isNotNull();
- }
-
- @Test
- public void getIcon_ruleWithoutSpecificIcon_loadsFallback() throws Exception {
- AutomaticZenRule rule = newRuleBuilder()
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setPackage("com.blah")
- .build();
-
- ListenableFuture<Drawable> loadFuture = mLoader.getIcon(mContext, rule);
- assertThat(loadFuture.isDone()).isTrue();
- assertThat(loadFuture.get()).isNotNull();
- }
-
- @Test
- public void getIcon_ruleWithAppIconWithLoadFailure_loadsFallback() throws Exception {
- AutomaticZenRule rule = newRuleBuilder()
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setPackage("com.blah")
- .setIconResId(-123456)
- .build();
-
- ListenableFuture<Drawable> loadFuture = mLoader.getIcon(mContext, rule);
- assertThat(loadFuture.get()).isNotNull();
- }
-
- private static AutomaticZenRule.Builder newRuleBuilder() {
- return new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().build());
- }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/InterruptionFilterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/InterruptionFilterPreferenceControllerTest.java
new file mode 100644
index 0000000..ff25322
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/InterruptionFilterPreferenceControllerTest.java
@@ -0,0 +1,130 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
+import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
+import static android.service.notification.ZenPolicy.STATE_DISALLOW;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+
+import android.app.Flags;
+import android.content.Context;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.service.notification.ZenPolicy;
+
+import androidx.preference.TwoStatePreference;
+
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
+public final class InterruptionFilterPreferenceControllerTest {
+
+ private InterruptionFilterPreferenceController mController;
+
+ @Rule
+ public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+ private Context mContext;
+ @Mock private ZenModesBackend mBackend;
+
+ @Before
+ public void setup() {
+ MockitoAnnotations.initMocks(this);
+
+ mContext = RuntimeEnvironment.application;
+ mController = new InterruptionFilterPreferenceController(mContext, "something", mBackend);
+ }
+
+ @Test
+ public void testUpdateState_all() {
+ TwoStatePreference preference = mock(TwoStatePreference.class);
+ ZenMode zenMode = new TestModeBuilder()
+ .setInterruptionFilter(INTERRUPTION_FILTER_ALL)
+ .build();
+ mController.updateZenMode(preference, zenMode);
+
+ verify(preference).setChecked(false);
+ }
+
+ @Test
+ public void testOnPreferenceChange_fromAll() {
+ TwoStatePreference preference = mock(TwoStatePreference.class);
+ ZenMode zenMode = new TestModeBuilder()
+ .setInterruptionFilter(INTERRUPTION_FILTER_ALL)
+ .build();
+
+ mController.updateZenMode(preference, zenMode);
+
+ mController.onPreferenceChange(preference, true);
+
+ ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
+ verify(mBackend).updateMode(captor.capture());
+ assertThat(captor.getValue().getPolicy().getPriorityCategoryAlarms())
+ .isEqualTo(STATE_DISALLOW);
+ assertThat(captor.getValue().getRule().getInterruptionFilter())
+ .isEqualTo(INTERRUPTION_FILTER_PRIORITY);
+ }
+
+ @Test
+ public void testUpdateState_priority() {
+ TwoStatePreference preference = mock(TwoStatePreference.class);
+ ZenMode zenMode = new TestModeBuilder()
+ .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ .setZenPolicy(new ZenPolicy.Builder().allowAlarms(true).build())
+ .build();
+ mController.updateZenMode(preference, zenMode);
+
+ verify(preference).setChecked(true);
+ }
+
+ @Test
+ public void testOnPreferenceChange_fromPriority() {
+ TwoStatePreference preference = mock(TwoStatePreference.class);
+ ZenMode zenMode = new TestModeBuilder()
+ .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ .setZenPolicy(new ZenPolicy.Builder().allowAlarms(false).build())
+ .build();
+
+ mController.updateZenMode(preference, zenMode);
+
+ mController.onPreferenceChange(preference, false);
+
+ ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
+ verify(mBackend).updateMode(captor.capture());
+ assertThat(captor.getValue().getPolicy().getPriorityCategoryAlarms())
+ .isEqualTo(STATE_DISALLOW);
+ assertThat(captor.getValue().getRule().getInterruptionFilter())
+ .isEqualTo(INTERRUPTION_FILTER_ALL);
+ }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ManualDurationHelperTest.java b/tests/robotests/src/com/android/settings/notification/modes/ManualDurationHelperTest.java
new file mode 100644
index 0000000..18ee2cf
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ManualDurationHelperTest.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.provider.Settings;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class ManualDurationHelperTest {
+ private Context mContext;
+ private ContentResolver mContentResolver;
+
+ private ManualDurationHelper mHelper;
+
+ @Before
+ public void setup() {
+ MockitoAnnotations.initMocks(this);
+ mContext = RuntimeEnvironment.application;
+ mContentResolver = RuntimeEnvironment.application.getContentResolver();
+
+ mHelper = new ManualDurationHelper(mContext);
+ }
+
+ @Test
+ public void getDurationSummary_durationForever() {
+ Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION,
+ Settings.Secure.ZEN_DURATION_FOREVER);
+ assertThat(mHelper.getSummary()).isEqualTo(
+ mContext.getString(R.string.zen_mode_duration_summary_forever));
+ }
+
+ @Test
+ public void getDurationSummary_durationPrompt() {
+ Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION,
+ Settings.Secure.ZEN_DURATION_PROMPT);
+ assertThat(mHelper.getSummary()).isEqualTo(
+ mContext.getString(R.string.zen_mode_duration_summary_always_prompt));
+ }
+
+ @Test
+ public void getDurationSummary_durationCustom() {
+ // minutes
+ Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION, 45);
+ assertThat(mHelper.getSummary()).isEqualTo("45 minutes");
+
+ // hours
+ Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION, 300);
+ assertThat(mHelper.getSummary()).isEqualTo("5 hours");
+ }
+
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ManualDurationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ManualDurationPreferenceControllerTest.java
new file mode 100644
index 0000000..0a600c0
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ManualDurationPreferenceControllerTest.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.app.AutomaticZenRule;
+import android.app.Flags;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.net.Uri;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.provider.Settings;
+
+import androidx.fragment.app.Fragment;
+import androidx.preference.Preference;
+
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
+public class ManualDurationPreferenceControllerTest {
+ @Rule
+ public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+ private Context mContext;
+ private ContentResolver mContentResolver;
+
+ @Mock
+ private ZenModesBackend mBackend;
+
+ @Mock
+ private Fragment mParent;
+
+ private ManualDurationPreferenceController mPrefController;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+
+ mContext = RuntimeEnvironment.application;
+ mContentResolver = RuntimeEnvironment.application.getContentResolver();
+ mPrefController = new ManualDurationPreferenceController(mContext, "key", mParent,
+ mBackend);
+ }
+
+ @Test
+ public void testIsAvailable_onlyForManualDnd() {
+ assertThat(mPrefController.isAvailable(TestModeBuilder.EXAMPLE)).isFalse();
+
+ ZenMode manualDnd = ZenMode.manualDndMode(
+ new AutomaticZenRule.Builder("id", Uri.EMPTY).build(), false);
+ assertThat(mPrefController.isAvailable(manualDnd)).isTrue();
+ }
+
+ @Test
+ public void testUpdateState_durationSummary() {
+ Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION,
+ 45 /* minutes */);
+
+ Preference pref = new Preference(mContext);
+ mPrefController.updateState(pref, TestModeBuilder.EXAMPLE);
+
+ assertThat(pref.getSummary().toString()).contains("45");
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/TestModeBuilder.java b/tests/robotests/src/com/android/settings/notification/modes/TestModeBuilder.java
new file mode 100644
index 0000000..0b6a732
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/TestModeBuilder.java
@@ -0,0 +1,178 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import android.app.AutomaticZenRule;
+import android.app.NotificationManager;
+import android.content.ComponentName;
+import android.net.Uri;
+import android.service.notification.Condition;
+import android.service.notification.ZenDeviceEffects;
+import android.service.notification.ZenModeConfig;
+import android.service.notification.ZenPolicy;
+
+import androidx.annotation.DrawableRes;
+import androidx.annotation.Nullable;
+
+import com.android.settingslib.notification.modes.ZenMode;
+
+import java.util.Random;
+
+class TestModeBuilder {
+
+ private String mId;
+ private AutomaticZenRule mRule;
+ private ZenModeConfig.ZenRule mConfigZenRule;
+
+ public static final ZenMode EXAMPLE = new TestModeBuilder().build();
+
+ TestModeBuilder() {
+ // Reasonable defaults
+ int id = new Random().nextInt(1000);
+ mId = "rule_" + id;
+ mRule = new AutomaticZenRule.Builder("Test Rule #" + id, Uri.parse("rule://" + id))
+ .setPackage("some_package")
+ .setInterruptionFilter(NotificationManager.INTERRUPTION_FILTER_PRIORITY)
+ .setZenPolicy(new ZenPolicy.Builder().disallowAllSounds().build())
+ .build();
+ mConfigZenRule = new ZenModeConfig.ZenRule();
+ mConfigZenRule.enabled = true;
+ mConfigZenRule.pkg = "some_package";
+ }
+
+ TestModeBuilder(ZenMode previous) {
+ mId = previous.getId();
+ mRule = previous.getRule();
+
+ mConfigZenRule = new ZenModeConfig.ZenRule();
+ mConfigZenRule.enabled = previous.getRule().isEnabled();
+ mConfigZenRule.pkg = previous.getRule().getPackageName();
+ setActive(previous.isActive());
+ }
+
+ TestModeBuilder setId(String id) {
+ mId = id;
+ return this;
+ }
+
+ TestModeBuilder setAzr(AutomaticZenRule rule) {
+ mRule = rule;
+ mConfigZenRule.pkg = rule.getPackageName();
+ mConfigZenRule.conditionId = rule.getConditionId();
+ mConfigZenRule.enabled = rule.isEnabled();
+ return this;
+ }
+
+ TestModeBuilder setConfigZenRule(ZenModeConfig.ZenRule configZenRule) {
+ mConfigZenRule = configZenRule;
+ return this;
+ }
+
+ TestModeBuilder setName(String name) {
+ mRule.setName(name);
+ mConfigZenRule.name = name;
+ return this;
+ }
+
+ TestModeBuilder setPackage(String pkg) {
+ mRule.setPackageName(pkg);
+ mConfigZenRule.pkg = pkg;
+ return this;
+ }
+
+ TestModeBuilder setOwner(ComponentName owner) {
+ mRule.setOwner(owner);
+ mConfigZenRule.component = owner;
+ return this;
+ }
+
+ TestModeBuilder setConfigurationActivity(ComponentName configActivity) {
+ mRule.setConfigurationActivity(configActivity);
+ mConfigZenRule.configurationActivity = configActivity;
+ return this;
+ }
+
+ TestModeBuilder setConditionId(Uri conditionId) {
+ mRule.setConditionId(conditionId);
+ mConfigZenRule.conditionId = conditionId;
+ return this;
+ }
+
+ TestModeBuilder setType(@AutomaticZenRule.Type int type) {
+ mRule.setType(type);
+ mConfigZenRule.type = type;
+ return this;
+ }
+
+ TestModeBuilder setInterruptionFilter(
+ @NotificationManager.InterruptionFilter int interruptionFilter) {
+ mRule.setInterruptionFilter(interruptionFilter);
+ mConfigZenRule.zenMode = NotificationManager.zenModeFromInterruptionFilter(
+ interruptionFilter, NotificationManager.INTERRUPTION_FILTER_PRIORITY);
+ return this;
+ }
+
+ TestModeBuilder setZenPolicy(@Nullable ZenPolicy policy) {
+ mRule.setZenPolicy(policy);
+ mConfigZenRule.zenPolicy = policy;
+ return this;
+ }
+
+ TestModeBuilder setDeviceEffects(@Nullable ZenDeviceEffects deviceEffects) {
+ mRule.setDeviceEffects(deviceEffects);
+ mConfigZenRule.zenDeviceEffects = deviceEffects;
+ return this;
+ }
+
+ TestModeBuilder setEnabled(boolean enabled) {
+ mRule.setEnabled(enabled);
+ mConfigZenRule.enabled = enabled;
+ return this;
+ }
+
+ TestModeBuilder setManualInvocationAllowed(boolean allowed) {
+ mRule.setManualInvocationAllowed(allowed);
+ mConfigZenRule.allowManualInvocation = allowed;
+ return this;
+ }
+
+ TestModeBuilder setTriggerDescription(@Nullable String triggerDescription) {
+ mRule.setTriggerDescription(triggerDescription);
+ mConfigZenRule.triggerDescription = triggerDescription;
+ return this;
+ }
+
+ TestModeBuilder setIconResId(@DrawableRes int iconResId) {
+ mRule.setIconResId(iconResId);
+ return this;
+ }
+
+ TestModeBuilder setActive(boolean active) {
+ if (active) {
+ mConfigZenRule.enabled = true;
+ mConfigZenRule.condition = new Condition(mRule.getConditionId(), "...",
+ Condition.STATE_TRUE);
+ } else {
+ mConfigZenRule.condition = null;
+ }
+ return this;
+ }
+
+ ZenMode build() {
+ return new ZenMode(mId, mRule, mConfigZenRule);
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceControllerTest.java
index 8205f3a..f850b1e 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsLinkPreferenceControllerTest.java
@@ -17,41 +17,39 @@
package com.android.settings.notification.modes;
import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-
-import static com.android.settings.notification.modes.ZenModeFragmentBase.MODE_ID;
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-import android.app.AutomaticZenRule;
import android.app.Flags;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
-import android.net.Uri;
import android.os.Bundle;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.service.notification.ZenPolicy;
import androidx.fragment.app.Fragment;
-import androidx.preference.Preference;
import com.android.settings.SettingsActivity;
import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
import com.android.settingslib.widget.SelectorWithWidgetPreference;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
@@ -101,14 +99,13 @@
}
private ZenMode createPriorityChannelsZenMode() {
- return new ZenMode("id", new AutomaticZenRule.Builder("Bedtime",
- Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
+ return new TestModeBuilder()
+ .setId("id")
.setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
.setZenPolicy(new ZenPolicy.Builder()
.allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY)
.build())
- .build(), true);
+ .build();
}
@Test
@@ -119,15 +116,12 @@
@Test
public void testUpdateSetsIntent() {
// Creates the preference
- SelectorWithWidgetPreference preference = mock(SelectorWithWidgetPreference.class);
+ SelectorWithWidgetPreference preference = new SelectorWithWidgetPreference(mContext);
// Create a zen mode that allows priority channels to breakthrough.
ZenMode zenMode = createPriorityChannelsZenMode();
- // Capture the intent
- ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
- mController.updateState((Preference) preference, zenMode);
- verify(preference).setIntent(captor.capture());
- Intent launcherIntent = captor.getValue();
+ mController.updateState(preference, zenMode);
+ Intent launcherIntent = preference.getIntent();
assertThat(launcherIntent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
.isEqualTo("com.android.settings.notification.modes.ZenModeAppsFragment");
@@ -137,7 +131,7 @@
Bundle bundle = launcherIntent.getBundleExtra(
SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS);
assertThat(bundle).isNotNull();
- assertThat(bundle.getString(MODE_ID)).isEqualTo("id");
+ assertThat(bundle.getString(EXTRA_AUTOMATIC_ZEN_RULE_ID)).isEqualTo("id");
}
@Test
@@ -155,13 +149,12 @@
@Test
public void testUpdateTriggersRebuild() {
// Creates the preference
- SelectorWithWidgetPreference preference = mock(SelectorWithWidgetPreference.class);
+ SelectorWithWidgetPreference preference = new SelectorWithWidgetPreference(mContext);
// Create a zen mode that allows priority channels to breakthrough.
ZenMode zenMode = createPriorityChannelsZenMode();
// Create some applications.
- ArrayList<ApplicationsState.AppEntry> appEntries =
- new ArrayList<ApplicationsState.AppEntry>();
+ ArrayList<ApplicationsState.AppEntry> appEntries = new ArrayList<>();
appEntries.add(createAppEntry("test", "pkgLabel"));
when(mHelperBackend.getPackagesBypassingDnd(
@@ -169,24 +162,42 @@
.thenReturn(List.of("test"));
// Updates the preference with the zen mode. We expect that this causes the app session
- // to trigger a rebuild.
- mController.updateZenMode((Preference) preference, zenMode);
+ // to trigger a rebuild (and display a temporary text in the meantime).
+ mController.updateZenMode(preference, zenMode);
verify(mSession).rebuild(any(), any(), eq(false));
+ assertThat(String.valueOf(preference.getSummary())).isEqualTo("Calculating…");
// Manually triggers the callback that will happen on rebuild.
mController.mAppSessionCallbacks.onRebuildComplete(appEntries);
- verify(preference).setSummary("pkgLabel can interrupt");
+ assertThat(String.valueOf(preference.getSummary())).isEqualTo("pkgLabel can interrupt");
}
@Test
public void testOnPackageListChangedTriggersRebuild() {
- mController.mAppSessionCallbacks.onPackageListChanged();
+ SelectorWithWidgetPreference preference = new SelectorWithWidgetPreference(mContext);
+ // Create a zen mode that allows priority channels to breakthrough.
+ ZenMode zenMode = createPriorityChannelsZenMode();
+ mController.updateState(preference, zenMode);
verify(mSession).rebuild(any(), any(), eq(false));
+
+ mController.mAppSessionCallbacks.onPackageListChanged();
+ verify(mSession, times(2)).rebuild(any(), any(), eq(false));
}
@Test
public void testOnLoadEntriesCompletedTriggersRebuild() {
- mController.mAppSessionCallbacks.onLoadEntriesCompleted();
+ SelectorWithWidgetPreference preference = new SelectorWithWidgetPreference(mContext);
+ // Create a zen mode that allows priority channels to breakthrough.
+ ZenMode zenMode = createPriorityChannelsZenMode();
+ mController.updateState(preference, zenMode);
verify(mSession).rebuild(any(), any(), eq(false));
+
+ mController.mAppSessionCallbacks.onLoadEntriesCompleted();
+ verify(mSession, times(2)).rebuild(any(), any(), eq(false));
+ }
+
+ @Test
+ public void testNoCrashIfAppsReadyBeforeRuleAvailable() {
+ mController.mAppSessionCallbacks.onLoadEntriesCompleted();
}
}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsPreferenceControllerTest.java
index 750453d..c96dbb6 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeAppsPreferenceControllerTest.java
@@ -16,11 +16,8 @@
package com.android.settings.notification.modes;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_NONE;
import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-import static com.android.settings.notification.modes.ZenModeAppsPreferenceController.KEY_ALL;
import static com.android.settings.notification.modes.ZenModeAppsPreferenceController.KEY_NONE;
import static com.android.settings.notification.modes.ZenModeAppsPreferenceController.KEY_PRIORITY;
@@ -29,10 +26,8 @@
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
-import android.app.AutomaticZenRule;
import android.app.Flags;
import android.content.Context;
-import android.net.Uri;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.service.notification.ZenPolicy;
@@ -42,6 +37,8 @@
import androidx.preference.PreferenceScreen;
import androidx.preference.TwoStatePreference;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
import com.android.settingslib.widget.SelectorWithWidgetPreference;
import org.junit.Before;
@@ -62,11 +59,9 @@
@Mock
private ZenModesBackend mBackend;
private ZenModeAppsPreferenceController mPriorityController;
- private ZenModeAppsPreferenceController mAllController;
private ZenModeAppsPreferenceController mNoneController;
private SelectorWithWidgetPreference mPriorityPref;
- private SelectorWithWidgetPreference mAllPref;
private SelectorWithWidgetPreference mNonePref;
private PreferenceCategory mPrefCategory;
private PreferenceScreen mPreferenceScreen;
@@ -81,10 +76,8 @@
mPriorityController = new ZenModeAppsPreferenceController(mContext, KEY_PRIORITY, mBackend);
mNoneController = new ZenModeAppsPreferenceController(mContext, KEY_NONE, mBackend);
- mAllController = new ZenModeAppsPreferenceController(mContext, KEY_ALL, mBackend);
mPriorityPref = makePreference(KEY_PRIORITY, mPriorityController);
- mAllPref = makePreference(KEY_ALL, mAllController);
mNonePref = makePreference(KEY_NONE, mNoneController);
mPrefCategory = new PreferenceCategory(mContext);
@@ -95,10 +88,8 @@
mPreferenceScreen.addPreference(mPrefCategory);
mPrefCategory.addPreference(mPriorityPref);
- mPrefCategory.addPreference(mAllPref);
mPrefCategory.addPreference(mNonePref);
- mAllController.displayPreference(mPreferenceScreen);
mPriorityController.displayPreference(mPreferenceScreen);
mNoneController.displayPreference(mPreferenceScreen);
}
@@ -112,45 +103,14 @@
}
@Test
- public void testUpdateState_All() {
- TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowChannels(ZenMode.CHANNEL_POLICY_ALL)
- .build())
- .build(), true);
- mAllController.updateZenMode(preference, zenMode);
-
- verify(preference).setChecked(true);
- }
-
- @Test
- public void testUpdateState_All_Unchecked() {
- TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowChannels(ZenPolicy.CHANNEL_POLICY_NONE)
- .build())
- .build(), true);
- mAllController.updateZenMode(preference, zenMode);
-
- verify(preference).setChecked(false);
- }
-
- @Test
public void testUpdateState_None() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowChannels(ZenPolicy.CHANNEL_POLICY_NONE)
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder()
+ .allowChannels(ZenPolicy.CHANNEL_POLICY_NONE)
+ .build())
+ .build();
+
mNoneController.updateZenMode(preference, zenMode);
verify(preference).setChecked(true);
@@ -159,13 +119,12 @@
@Test
public void testUpdateState_None_Unchecked() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowChannels(ZenMode.CHANNEL_POLICY_ALL)
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder()
+ .allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY)
+ .build())
+ .build();
+
mNoneController.updateZenMode(preference, zenMode);
verify(preference).setChecked(false);
@@ -174,13 +133,12 @@
@Test
public void testUpdateState_Priority() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY)
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder()
+ .allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY)
+ .build())
+ .build();
+
mPriorityController.updateZenMode(preference, zenMode);
verify(preference).setChecked(true);
@@ -189,99 +147,32 @@
@Test
public void testUpdateState_Priority_Unchecked() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowChannels(ZenPolicy.CHANNEL_POLICY_NONE)
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder()
+ .allowChannels(ZenPolicy.CHANNEL_POLICY_NONE)
+ .build())
+ .build();
+
mPriorityController.updateZenMode(preference, zenMode);
verify(preference).setChecked(false);
}
@Test
- public void testOnPreferenceChange_All() {
- TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_NONE)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowChannels(ZenMode.CHANNEL_POLICY_ALL)
- .build())
- .build(), true);
-
- mAllController.updateZenMode(preference, zenMode);
- mAllController.onPreferenceChange(preference, true);
- ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
- verify(mBackend).updateMode(captor.capture());
-
- assertThat(captor.getValue().getPolicy().getAllowedChannels())
- .isEqualTo(ZenMode.CHANNEL_POLICY_ALL);
- }
-
- @Test
- public void testPreferenceClick_passesCorrectCheckedState_All() {
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowChannels(ZenPolicy.CHANNEL_POLICY_NONE)
- .build())
- .build(), true);
-
-
- mAllController.updateZenMode(mAllPref, zenMode);
- mNoneController.updateZenMode(mNonePref, zenMode);
- mPriorityController.updateZenMode(mPriorityPref, zenMode);
-
- // MPME is checked; ALL and PRIORITY are unchecked.
- assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_NONE))
- .isChecked());
- assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_ALL))
- .isChecked());
- assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
- .isChecked());
-
- mPrefCategory.findPreference(KEY_ALL).performClick();
-
- ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
- verify(mBackend).updateMode(captor.capture());
- // Checks the policy value for ALL is set.
- // The important part is that the interruption filter is propagated to the backend.
- assertThat(captor.getValue().getRule().getInterruptionFilter())
- .isEqualTo(INTERRUPTION_FILTER_ALL);
- // ALL is now checked; others are unchecked.
- assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_ALL))
- .isChecked());
- assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_NONE))
- .isChecked());
- assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
- .isChecked());
- }
-
- @Test
public void testPreferenceClick_passesCorrectCheckedState_None() {
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY)
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder()
+ .allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY)
+ .build())
+ .build();
- mAllController.updateZenMode(mAllPref, zenMode);
mNoneController.updateZenMode(mNonePref, zenMode);
mPriorityController.updateZenMode(mPriorityPref, zenMode);
- assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_ALL))
- .isChecked());
- assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_NONE))
- .isChecked());
- assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
- .isChecked());
+ assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_NONE))
+ .isChecked()).isFalse();
+ assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
+ .isChecked()).isTrue();
// Click on NONE
mPrefCategory.findPreference(KEY_NONE).performClick();
@@ -293,35 +184,31 @@
// See AbstractZenModePreferenceController.
assertThat(captor.getValue().getRule().getInterruptionFilter())
.isEqualTo(INTERRUPTION_FILTER_PRIORITY);
- // NONE is now checked; others are unchecked.
+
+ // After screen is refreshed, NONE is now checked; others are unchecked.
+ mNoneController.updateZenMode(mNonePref, captor.getValue());
+ mPriorityController.updateZenMode(mPriorityPref, captor.getValue());
assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_NONE))
- .isChecked());
- assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_ALL))
- .isChecked());
- assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
- .isChecked());
+ .isChecked()).isTrue();
+ assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
+ .isChecked()).isFalse();
}
@Test
public void testPreferenceClick_passesCorrectCheckedState_Priority() {
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowChannels(ZenPolicy.CHANNEL_POLICY_NONE)
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder()
+ .allowChannels(ZenPolicy.CHANNEL_POLICY_NONE)
+ .build())
+ .build();
- mAllController.updateZenMode(mAllPref, zenMode);
mNoneController.updateZenMode(mNonePref, zenMode);
mPriorityController.updateZenMode(mPriorityPref, zenMode);
assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_NONE))
- .isChecked());
- assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_ALL))
- .isChecked());
- assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
- .isChecked());
+ .isChecked()).isTrue();
+ assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
+ .isChecked()).isFalse();
// Click on PRIORITY
mPrefCategory.findPreference(KEY_PRIORITY).performClick();
@@ -331,13 +218,13 @@
// Checks the policy value for PRIORITY is propagated to the backend.
assertThat(captor.getValue().getRule().getInterruptionFilter())
.isEqualTo(INTERRUPTION_FILTER_PRIORITY);
- // PRIORITY is now checked; others are unchecked.
- assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
- .isChecked());
- assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_ALL))
- .isChecked());
- assertThat(!((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_NONE))
- .isChecked());
- }
+ // After screen is refreshed, PRIORITY is now checked; others are unchecked.
+ mNoneController.updateZenMode(mNonePref, captor.getValue());
+ mPriorityController.updateZenMode(mPriorityPref, captor.getValue());
+ assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_PRIORITY))
+ .isChecked()).isTrue();
+ assertThat(((SelectorWithWidgetPreference) mPrefCategory.findPreference(KEY_NONE))
+ .isChecked()).isFalse();
+ }
}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeButtonPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeButtonPreferenceControllerTest.java
index bda3843..5869c6b 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeButtonPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeButtonPreferenceControllerTest.java
@@ -16,8 +16,6 @@
package com.android.settings.notification.modes;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.anyInt;
@@ -27,13 +25,18 @@
import android.app.AutomaticZenRule;
import android.app.Flags;
+import android.content.ContentResolver;
import android.content.Context;
import android.net.Uri;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
-import android.service.notification.ZenPolicy;
+import android.provider.Settings;
import android.widget.Button;
+import androidx.fragment.app.Fragment;
+
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
import com.android.settingslib.widget.LayoutPreference;
import org.junit.Before;
@@ -45,6 +48,8 @@
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
+import java.time.Duration;
+
@EnableFlags(Flags.FLAG_MODES_UI)
@RunWith(RobolectricTestRunner.class)
public final class ZenModeButtonPreferenceControllerTest {
@@ -54,60 +59,56 @@
@Rule
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
-
private Context mContext;
+ private ContentResolver mContentResolver;
+
@Mock
private ZenModesBackend mBackend;
+ @Mock
+ private Fragment mParent;
+
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
mContext = RuntimeEnvironment.application;
+ mContentResolver = RuntimeEnvironment.application.getContentResolver();
mController = new ZenModeButtonPreferenceController(
- mContext, "something", mBackend);
+ mContext, "something", mParent, mBackend);
}
@Test
public void isAvailable_notIfAppOptsOut() {
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
+ ZenMode zenMode = new TestModeBuilder()
.setManualInvocationAllowed(false)
- .setEnabled(true)
- .build(), false);
+ .build();
mController.setZenMode(zenMode);
assertThat(mController.isAvailable()).isFalse();
}
@Test
public void isAvailable_notIfModeDisabled() {
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
- .setManualInvocationAllowed(true)
- .setEnabled(false)
- .build(), false);
+ ZenMode zenMode = new TestModeBuilder()
+ .setManualInvocationAllowed(true)
+ .setEnabled(false)
+ .build();
+
mController.setZenMode(zenMode);
+
assertThat(mController.isAvailable()).isFalse();
}
@Test
public void isAvailable_appOptedIn_modeEnabled() {
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
- .setManualInvocationAllowed(true)
- .setEnabled(true)
- .build(), false);
+ ZenMode zenMode = new TestModeBuilder()
+ .setManualInvocationAllowed(true)
+ .setEnabled(true)
+ .build();
+
mController.setZenMode(zenMode);
+
assertThat(mController.isAvailable()).isTrue();
}
@@ -116,15 +117,13 @@
Button button = new Button(mContext);
LayoutPreference pref = mock(LayoutPreference.class);
when(pref.findViewById(anyInt())).thenReturn(button);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
- .setManualInvocationAllowed(true)
- .setEnabled(true)
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setManualInvocationAllowed(true)
+ .setActive(true)
+ .build();
+
mController.updateZenMode(pref, zenMode);
+
assertThat(button.getText().toString()).contains("off");
assertThat(button.hasOnClickListeners()).isTrue();
}
@@ -134,15 +133,13 @@
Button button = new Button(mContext);
LayoutPreference pref = mock(LayoutPreference.class);
when(pref.findViewById(anyInt())).thenReturn(button);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
- .setManualInvocationAllowed(true)
- .setEnabled(true)
- .build(), false);
+ ZenMode zenMode = new TestModeBuilder()
+ .setManualInvocationAllowed(true)
+ .setActive(false)
+ .build();
+
mController.updateZenMode(pref, zenMode);
+
assertThat(button.getText().toString()).contains("on");
assertThat(button.hasOnClickListeners()).isTrue();
}
@@ -152,14 +149,11 @@
Button button = new Button(mContext);
LayoutPreference pref = mock(LayoutPreference.class);
when(pref.findViewById(anyInt())).thenReturn(button);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
- .setManualInvocationAllowed(true)
- .setEnabled(true)
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setManualInvocationAllowed(true)
+ .setActive(true)
+ .build();
+
mController.updateZenMode(pref, zenMode);
button.callOnClick();
@@ -171,17 +165,44 @@
Button button = new Button(mContext);
LayoutPreference pref = mock(LayoutPreference.class);
when(pref.findViewById(anyInt())).thenReturn(button);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
- .setManualInvocationAllowed(true)
- .setEnabled(true)
- .build(), false);
+ ZenMode zenMode = new TestModeBuilder()
+ .setManualInvocationAllowed(true)
+ .setActive(false)
+ .build();
+
mController.updateZenMode(pref, zenMode);
button.callOnClick();
verify(mBackend).activateMode(zenMode, null);
}
+
+ @Test
+ public void updateStateThenClick_withDuration() {
+ Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION,
+ 45 /* minutes */);
+ Button button = new Button(mContext);
+ LayoutPreference pref = mock(LayoutPreference.class);
+ when(pref.findViewById(anyInt())).thenReturn(button);
+ ZenMode zenMode = ZenMode.manualDndMode(
+ new AutomaticZenRule.Builder("manual", Uri.EMPTY).build(), false);
+
+ mController.updateZenMode(pref, zenMode);
+ button.callOnClick();
+ verify(mBackend).activateMode(zenMode, Duration.ofMinutes(45));
+ }
+
+ @Test
+ public void updateStateThenClick_durationForever() {
+ Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION,
+ Settings.Secure.ZEN_DURATION_FOREVER);
+ Button button = new Button(mContext);
+ LayoutPreference pref = mock(LayoutPreference.class);
+ when(pref.findViewById(anyInt())).thenReturn(button);
+ ZenMode zenMode = ZenMode.manualDndMode(
+ new AutomaticZenRule.Builder("manual", Uri.EMPTY).build(), false);
+
+ mController.updateZenMode(pref, zenMode);
+ button.callOnClick();
+ verify(mBackend).activateMode(zenMode, null);
+ }
}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceControllerTest.java
index 94c2d8a..e50d294 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeCallsLinkPreferenceControllerTest.java
@@ -16,19 +16,14 @@
package com.android.settings.notification.modes;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
-import android.app.AutomaticZenRule;
import android.app.Flags;
import android.content.Context;
-import android.net.Uri;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
-import android.service.notification.ZenPolicy;
import androidx.preference.Preference;
@@ -50,7 +45,6 @@
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
private Context mContext;
- @Mock private ZenModesBackend mBackend;
@Mock private ZenHelperBackend mHelperBackend;
@Before
@@ -60,20 +54,14 @@
mContext = RuntimeEnvironment.application;
mController = new ZenModeCallsLinkPreferenceController(
- mContext, "something", mBackend, mHelperBackend);
+ mContext, "something", mHelperBackend);
}
@Test
@EnableFlags(Flags.FLAG_MODES_UI)
public void testHasSummary() {
Preference pref = mock(Preference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
- .build(), true);
- mController.updateZenMode(pref, zenMode);
+ mController.updateZenMode(pref, TestModeBuilder.EXAMPLE);
verify(pref).setSummary(any());
}
}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeDisplayEffectPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeDisplayEffectPreferenceControllerTest.java
index 1a62b75..a735cd9 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeDisplayEffectPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeDisplayEffectPreferenceControllerTest.java
@@ -16,22 +16,22 @@
package com.android.settings.notification.modes;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-import static android.service.notification.ZenPolicy.STATE_ALLOW;
-import static android.service.notification.ZenPolicy.STATE_UNSET;
import static com.google.common.truth.Truth.assertThat;
+
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
-import android.app.AutomaticZenRule;
import android.app.Flags;
import android.content.Context;
-import android.net.Uri;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.service.notification.ZenDeviceEffects;
-import android.service.notification.ZenPolicy;
+
import androidx.preference.TwoStatePreference;
+
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -62,15 +62,11 @@
@Test
public void testUpdateState_grayscale() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowAlarms(true).build())
- .setDeviceEffects(new ZenDeviceEffects.Builder()
- .setShouldDisplayGrayscale(true)
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setDeviceEffects(new ZenDeviceEffects.Builder()
+ .setShouldDisplayGrayscale(true)
+ .build())
+ .build();
ZenModeDisplayEffectPreferenceController controller =
new ZenModeDisplayEffectPreferenceController(
@@ -84,15 +80,11 @@
@Test
public void testOnPreferenceChange_grayscale() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowAlarms(false).build())
- .setDeviceEffects(new ZenDeviceEffects.Builder()
- .setShouldDisplayGrayscale(true)
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setDeviceEffects(new ZenDeviceEffects.Builder()
+ .setShouldDisplayGrayscale(true)
+ .build())
+ .build();
ZenModeDisplayEffectPreferenceController controller =
new ZenModeDisplayEffectPreferenceController(mContext, "effect_greyscale", mBackend);
@@ -103,22 +95,18 @@
ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
verify(mBackend).updateMode(captor.capture());
- assertThat(captor.getValue().getRule().getDeviceEffects().shouldDisplayGrayscale())
+ assertThat(captor.getValue().getDeviceEffects().shouldDisplayGrayscale())
.isFalse();
}
@Test
public void testUpdateState_aod() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowMedia(true).build())
- .setDeviceEffects(new ZenDeviceEffects.Builder()
- .setShouldSuppressAmbientDisplay(true)
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setDeviceEffects(new ZenDeviceEffects.Builder()
+ .setShouldSuppressAmbientDisplay(true)
+ .build())
+ .build();
ZenModeDisplayEffectPreferenceController controller =
new ZenModeDisplayEffectPreferenceController(mContext, "effect_aod", mBackend);
@@ -131,15 +119,11 @@
@Test
public void testOnPreferenceChange_aod() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowMedia(false).build())
- .setDeviceEffects(new ZenDeviceEffects.Builder()
- .setShouldSuppressAmbientDisplay(true)
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setDeviceEffects(new ZenDeviceEffects.Builder()
+ .setShouldSuppressAmbientDisplay(true)
+ .build())
+ .build();
ZenModeDisplayEffectPreferenceController controller =
new ZenModeDisplayEffectPreferenceController(mContext, "effect_aod", mBackend);
@@ -150,22 +134,18 @@
ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
verify(mBackend).updateMode(captor.capture());
- assertThat(captor.getValue().getRule().getDeviceEffects().shouldSuppressAmbientDisplay())
+ assertThat(captor.getValue().getDeviceEffects().shouldSuppressAmbientDisplay())
.isFalse();
}
@Test
public void testUpdateState_wallpaper() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowSystem(true).build())
- .setDeviceEffects(new ZenDeviceEffects.Builder()
- .setShouldDimWallpaper(true)
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setDeviceEffects(new ZenDeviceEffects.Builder()
+ .setShouldDimWallpaper(true)
+ .build())
+ .build();
ZenModeDisplayEffectPreferenceController controller =
new ZenModeDisplayEffectPreferenceController(
@@ -179,15 +159,11 @@
@Test
public void testOnPreferenceChange_wallpaper() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowSystem(false).build())
- .setDeviceEffects(new ZenDeviceEffects.Builder()
- .setShouldDimWallpaper(true)
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setDeviceEffects(new ZenDeviceEffects.Builder()
+ .setShouldDimWallpaper(true)
+ .build())
+ .build();
ZenModeDisplayEffectPreferenceController controller =
new ZenModeDisplayEffectPreferenceController(
@@ -199,21 +175,17 @@
ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
verify(mBackend).updateMode(captor.capture());
- assertThat(captor.getValue().getRule().getDeviceEffects().shouldDimWallpaper()).isFalse();
+ assertThat(captor.getValue().getDeviceEffects().shouldDimWallpaper()).isFalse();
}
@Test
public void testUpdateState_darkTheme() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowReminders(true).build())
- .setDeviceEffects(new ZenDeviceEffects.Builder()
- .setShouldUseNightMode(true)
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setDeviceEffects(new ZenDeviceEffects.Builder()
+ .setShouldUseNightMode(true)
+ .build())
+ .build();
ZenModeDisplayEffectPreferenceController controller =
new ZenModeDisplayEffectPreferenceController(mContext, "effect_dark_theme",
@@ -227,15 +199,11 @@
@Test
public void testOnPreferenceChange_darkTheme() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowReminders(false).build())
- .setDeviceEffects(new ZenDeviceEffects.Builder()
- .setShouldUseNightMode(true)
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setDeviceEffects(new ZenDeviceEffects.Builder()
+ .setShouldUseNightMode(true)
+ .build())
+ .build();
ZenModeDisplayEffectPreferenceController controller =
new ZenModeDisplayEffectPreferenceController(mContext, "effect_dark_theme",
@@ -247,6 +215,6 @@
ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
verify(mBackend).updateMode(captor.capture());
- assertThat(captor.getValue().getRule().getDeviceEffects().shouldUseNightMode()).isFalse();
+ assertThat(captor.getValue().getDeviceEffects().shouldUseNightMode()).isFalse();
}
}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceControllerTest.java
index 62aa046..3ccfb9f 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeDisplayLinkPreferenceControllerTest.java
@@ -16,22 +16,19 @@
package com.android.settings.notification.modes;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
-import android.app.AutomaticZenRule;
import android.app.Flags;
import android.content.Context;
-import android.net.Uri;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
-import android.service.notification.ZenPolicy;
import androidx.preference.Preference;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -67,13 +64,7 @@
@EnableFlags(Flags.FLAG_MODES_UI)
public void testHasSummary() {
Preference pref = mock(Preference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
- .build(), true);
- mController.updateZenMode(pref, zenMode);
+ mController.updateZenMode(pref, TestModeBuilder.EXAMPLE);
verify(pref).setSummary(any());
}
}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeEditDonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeEditDonePreferenceControllerTest.java
new file mode 100644
index 0000000..a7163fe
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeEditDonePreferenceControllerTest.java
@@ -0,0 +1,93 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+
+import android.content.Context;
+import android.widget.Button;
+
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.widget.LayoutPreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeEditDonePreferenceControllerTest {
+
+ private ZenModeEditDonePreferenceController mController;
+ private LayoutPreference mPreference;
+ private Button mButton;
+ @Mock private Runnable mConfirmSave;
+
+ @Before
+ public void setup() {
+ MockitoAnnotations.initMocks(this);
+
+ Context context = RuntimeEnvironment.application;
+ PreferenceManager preferenceManager = new PreferenceManager(context);
+ PreferenceScreen preferenceScreen = preferenceManager.inflateFromResource(context,
+ R.xml.modes_edit_name_icon, null);
+ mPreference = preferenceScreen.findPreference("done");
+
+ mController = new ZenModeEditDonePreferenceController(context, "done", mConfirmSave);
+ mController.displayPreference(preferenceScreen);
+
+ mButton = mPreference.findViewById(R.id.done);
+ assertThat(mButton).isNotNull();
+ }
+
+ @Test
+ public void updateState_nameNonEmpty_buttonEnabled() {
+ ZenMode mode = new TestModeBuilder().setName("Such a nice name").build();
+
+ mController.updateState(mPreference, mode);
+
+ assertThat(mButton.isEnabled()).isTrue();
+ verifyNoMoreInteractions(mConfirmSave);
+ }
+
+ @Test
+ public void updateState_nameEmpty_buttonDisabled() {
+ ZenMode aModeHasNoName = new TestModeBuilder().setName("").build();
+
+ mController.updateState(mPreference, aModeHasNoName);
+
+ assertThat(mButton.isEnabled()).isFalse();
+ verifyNoMoreInteractions(mConfirmSave);
+ }
+
+ @Test
+ public void onButtonClick_callsConfirmSave() {
+ mButton.performClick();
+
+ verify(mConfirmSave).run();
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeEditNameIconFragmentTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeEditNameIconFragmentTest.java
new file mode 100644
index 0000000..b476b00
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeEditNameIconFragmentTest.java
@@ -0,0 +1,212 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+import androidx.annotation.Nullable;
+import androidx.fragment.app.testing.FragmentScenario;
+import androidx.lifecycle.Lifecycle;
+
+import com.android.internal.R;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeEditNameIconFragmentTest {
+
+ private static final ZenMode MODE = new TestModeBuilder().setId("id").setName("Mode").build();
+
+ private Activity mActivity;
+ private ZenModeEditNameIconFragment mFragment;
+ private FragmentScenario<ZenModeEditNameIconFragment> mScenario;
+
+ @Mock
+ private ZenModesBackend mBackend;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ // Note: Each test should call startFragment() to set mScenario, mFragment and mActivity.
+ }
+
+ @After
+ public void tearDown() {
+ if (mScenario != null) {
+ mScenario.close();
+ }
+ }
+
+ @Test
+ public void onCreate_loadsMode() {
+ when(mBackend.getMode(MODE.getId())).thenReturn(MODE);
+
+ startFragment(MODE.getId());
+
+ assertThat(mFragment.getZenMode()).isEqualTo(MODE);
+ assertThat(mActivity.isFinishing()).isFalse();
+ }
+
+ @Test
+ public void onCreate_noModeId_exits() {
+ when(mBackend.getMode(any())).thenReturn(MODE);
+
+ startFragment(null);
+
+ assertThat(mActivity.isFinishing()).isTrue();
+ verifyNoMoreInteractions(mBackend);
+ }
+ @Test
+ public void onCreate_missingMode_exits() {
+ when(mBackend.getMode(any())).thenReturn(null);
+
+ startFragment(MODE.getId());
+
+ assertThat(mActivity.isFinishing()).isTrue();
+ verify(mBackend).getMode(MODE.getId());
+ }
+
+ @Test
+ public void saveMode_appliesChangesAndFinishes() {
+ when(mBackend.getMode(MODE.getId())).thenReturn(MODE);
+ startFragment(MODE.getId());
+
+ mFragment.setModeName("A new name");
+ mFragment.setModeIcon(R.drawable.ic_zen_mode_type_theater);
+ mFragment.setModeName("A newer name");
+
+ mFragment.saveMode();
+
+ ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
+ verify(mBackend).updateMode(captor.capture());
+ ZenMode savedMode = captor.getValue();
+ assertThat(savedMode.getName()).isEqualTo("A newer name");
+ assertThat(savedMode.getRule().getIconResId()).isEqualTo(
+ R.drawable.ic_zen_mode_type_theater);
+
+ assertThat(mActivity.isFinishing()).isTrue();
+ }
+
+ @Test
+ public void saveMode_appliesOnyNameAndIconChanges() {
+ when(mBackend.getMode(MODE.getId())).thenReturn(MODE);
+ startFragment(MODE.getId());
+ mFragment.setModeName("A new name");
+ mFragment.setModeIcon(R.drawable.ic_zen_mode_type_theater);
+ // Before the user saves, something else about the mode was modified by someone else.
+ ZenMode newerMode = new TestModeBuilder(MODE).setTriggerDescription("Whenever").build();
+ when(mBackend.getMode(MODE.getId())).thenReturn(newerMode);
+
+ mFragment.saveMode();
+
+ // Verify that saving only wrote the mode name, and didn't accidentally stomp over
+ // unrelated fields of the mode.
+ ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
+ verify(mBackend).updateMode(captor.capture());
+ ZenMode savedMode = captor.getValue();
+ assertThat(savedMode.getName()).isEqualTo("A new name");
+ assertThat(savedMode.getTriggerDescription()).isEqualTo("Whenever");
+ }
+
+ @Test
+ public void saveMode_forModeThatDisappeared_ignoresSave() {
+ when(mBackend.getMode(MODE.getId())).thenReturn(MODE);
+ startFragment(MODE.getId());
+ mFragment.setModeName("A new name");
+ mFragment.setModeIcon(R.drawable.ic_zen_mode_type_theater);
+ // Before the user saves, the mode was removed by someone else.
+ when(mBackend.getMode(MODE.getId())).thenReturn(null);
+
+ mFragment.saveMode();
+
+ verify(mBackend, never()).updateMode(any());
+ assertThat(mActivity.isFinishing()).isTrue();
+ }
+
+ @Test
+ public void setModeFields_withoutSaveMode_doesNotSaveChanges() {
+ when(mBackend.getMode(MODE.getId())).thenReturn(MODE);
+ startFragment(MODE.getId());
+
+ mFragment.setModeName("Not a good idea");
+ mFragment.setModeIcon(R.drawable.emergency_icon);
+ mActivity.finish();
+
+ verify(mBackend, never()).updateMode(any());
+ }
+
+ @Test
+ public void onCreate_whenRecreating_preservesEdits() {
+ when(mBackend.getMode(MODE.getId())).thenReturn(MODE);
+ startFragment(MODE.getId());
+
+ mFragment.setModeName("A better name");
+ mScenario.recreate().onFragment(newFragment -> {
+ assertThat(newFragment).isNotSameInstanceAs(mFragment);
+ newFragment.setBackend(mBackend);
+ mActivity = newFragment.getActivity();
+ mFragment = newFragment;
+ });
+ mFragment.saveMode();
+
+ ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
+ verify(mBackend).updateMode(captor.capture());
+ ZenMode savedMode = captor.getValue();
+ assertThat(savedMode.getName()).isEqualTo("A better name");
+ assertThat(mActivity.isFinishing()).isTrue();
+ }
+
+ private void startFragment(@Nullable String modeId) {
+ Bundle fragmentArgs = null;
+ if (modeId != null) {
+ fragmentArgs = new Bundle();
+ fragmentArgs.putString(EXTRA_AUTOMATIC_ZEN_RULE_ID, modeId);
+ }
+
+ mScenario = FragmentScenario.launch(ZenModeEditNameIconFragment.class, fragmentArgs, 0,
+ Lifecycle.State.INITIALIZED);
+
+ mScenario.onFragment(fragment -> {
+ fragment.setBackend(mBackend); // Before onCreate().
+ mFragment = fragment;
+ });
+
+ mScenario.moveToState(Lifecycle.State.RESUMED).onFragment(fragment -> {
+ mActivity = fragment.requireActivity();
+ });
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeEditNamePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeEditNamePreferenceControllerTest.java
new file mode 100644
index 0000000..0c3f4e0
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeEditNamePreferenceControllerTest.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+
+import android.content.Context;
+import android.widget.EditText;
+
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.widget.LayoutPreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+import java.util.function.Consumer;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeEditNamePreferenceControllerTest {
+
+ private ZenModeEditNamePreferenceController mController;
+ private LayoutPreference mPreference;
+ private EditText mEditText;
+ @Mock private Consumer<String> mNameSetter;
+
+
+ @Before
+ public void setup() {
+ MockitoAnnotations.initMocks(this);
+
+ Context context = RuntimeEnvironment.application;
+ PreferenceManager preferenceManager = new PreferenceManager(context);
+ PreferenceScreen preferenceScreen = preferenceManager.inflateFromResource(context,
+ R.xml.modes_edit_name_icon, null);
+ mPreference = preferenceScreen.findPreference("name");
+
+ mController = new ZenModeEditNamePreferenceController(context, "name", mNameSetter);
+ mController.displayPreference(preferenceScreen);
+ mEditText = mPreference.findViewById(android.R.id.edit);
+ assertThat(mEditText).isNotNull();
+ }
+
+ @Test
+ public void updateState_showsName() {
+ ZenMode mode = new TestModeBuilder().setName("A fancy name").build();
+
+ mController.updateState(mPreference, mode);
+
+ assertThat(mEditText.getText().toString()).isEqualTo("A fancy name");
+ verifyNoMoreInteractions(mNameSetter);
+ }
+
+ @Test
+ public void onEditText_callsNameSetter() {
+ ZenMode mode = new TestModeBuilder().setName("A fancy name").build();
+ mController.updateState(mPreference, mode);
+ EditText editText = mPreference.findViewById(android.R.id.edit);
+
+ editText.setText("An even fancier name");
+
+ verify(mNameSetter).accept("An even fancier name");
+ verifyNoMoreInteractions(mNameSetter);
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeExitAtAlarmPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeExitAtAlarmPreferenceControllerTest.java
index c1c4d61..03c75fb 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeExitAtAlarmPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeExitAtAlarmPreferenceControllerTest.java
@@ -21,13 +21,15 @@
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
-import android.app.AutomaticZenRule;
import android.content.Context;
import android.service.notification.ZenModeConfig;
import androidx.preference.TwoStatePreference;
import androidx.test.core.app.ApplicationProvider;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -65,10 +67,9 @@
scheduleInfo.endHour = 2;
scheduleInfo.exitAtAlarm = false;
- ZenMode mode = new ZenMode("id",
- new AutomaticZenRule.Builder("name",
- ZenModeConfig.toScheduleConditionId(scheduleInfo)).build(),
- true); // is active
+ ZenMode mode = new TestModeBuilder()
+ .setConditionId(ZenModeConfig.toScheduleConditionId(scheduleInfo))
+ .build();
// need to call updateZenMode for the first call
mPrefController.updateZenMode(preference, mode);
@@ -94,10 +95,9 @@
scheduleInfo.endHour = 2;
scheduleInfo.exitAtAlarm = true;
- ZenMode mode = new ZenMode("id",
- new AutomaticZenRule.Builder("name",
- ZenModeConfig.toScheduleConditionId(scheduleInfo)).build(),
- true); // is active
+ ZenMode mode = new TestModeBuilder()
+ .setConditionId(ZenModeConfig.toScheduleConditionId(scheduleInfo))
+ .build();
mPrefController.updateZenMode(preference, mode);
// turn off exit at alarm
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeIconPickerListPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeIconPickerListPreferenceControllerTest.java
index ba9a6b8..4d30ce9 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeIconPickerListPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeIconPickerListPreferenceControllerTest.java
@@ -19,20 +19,20 @@
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-import android.app.AutomaticZenRule;
import android.content.Context;
-import android.net.Uri;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.FrameLayout;
import androidx.annotation.NonNull;
import androidx.preference.PreferenceScreen;
import androidx.recyclerview.widget.RecyclerView;
import com.android.settings.R;
-import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.notification.modes.ZenMode;
import com.android.settingslib.widget.LayoutPreference;
import com.google.common.collect.ImmutableList;
@@ -40,38 +40,34 @@
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
@RunWith(RobolectricTestRunner.class)
public class ZenModeIconPickerListPreferenceControllerTest {
- private static final ZenMode ZEN_MODE = new ZenMode(
- "mode_id",
- new AutomaticZenRule.Builder("mode name", Uri.parse("mode")).build(),
- /* isActive= */ false);
-
- private ZenModesBackend mBackend;
+ private Context mContext;
private ZenModeIconPickerListPreferenceController mController;
- private PreferenceScreen mPreferenceScreen;
+ @Mock private PreferenceScreen mPreferenceScreen;
+ private LayoutPreference mLayoutPreference;
private RecyclerView mRecyclerView;
+ @Mock private ZenModeIconPickerListPreferenceController.IconPickerListener mListener;
@Before
public void setUp() {
- Context context = RuntimeEnvironment.getApplication();
- mBackend = mock(ZenModesBackend.class);
+ MockitoAnnotations.initMocks(this);
+ mContext = RuntimeEnvironment.getApplication();
- DashboardFragment fragment = mock(DashboardFragment.class);
mController = new ZenModeIconPickerListPreferenceController(
- RuntimeEnvironment.getApplication(), "icon_list", fragment,
- new TestIconOptionsProvider(), mBackend);
+ RuntimeEnvironment.getApplication(), "icon_list", mListener,
+ new TestIconOptionsProvider());
- mRecyclerView = new RecyclerView(context);
+ mRecyclerView = new RecyclerView(mContext);
mRecyclerView.setId(R.id.icon_list);
- LayoutPreference layoutPreference = new LayoutPreference(context, mRecyclerView);
- mPreferenceScreen = mock(PreferenceScreen.class);
- when(mPreferenceScreen.findPreference(eq("icon_list"))).thenReturn(layoutPreference);
+ mLayoutPreference = new LayoutPreference(mContext, mRecyclerView);
+ when(mPreferenceScreen.findPreference(eq("icon_list"))).thenReturn(mLayoutPreference);
}
@Test
@@ -83,14 +79,32 @@
}
@Test
- public void selectIcon_updatesMode() {
- mController.setZenMode(ZEN_MODE);
+ public void updateState_highlightsCurrentIcon() {
+ ZenMode mode = new TestModeBuilder().setIconResId(R.drawable.ic_hearing).build();
+ mController.displayPreference(mPreferenceScreen);
- mController.onIconSelected(R.drawable.ic_android);
+ mController.updateZenMode(mLayoutPreference, mode);
- ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
- verify(mBackend).updateMode(captor.capture());
- assertThat(captor.getValue().getRule().getIconResId()).isEqualTo(R.drawable.ic_android);
+ assertThat(getItemViewAt(0).isSelected()).isFalse();
+ assertThat(getItemViewAt(1).isSelected()).isFalse();
+ assertThat(getItemViewAt(2).isSelected()).isTrue();
+ }
+
+ @Test
+ public void performClick_onIconItem_notifiesListener() {
+ mController.displayPreference(mPreferenceScreen);
+
+ getItemViewAt(1).performClick();
+
+ verify(mListener).onIconSelected(R.drawable.ic_info);
+ }
+
+ private View getItemViewAt(int position) {
+ ViewGroup fakeParent = new FrameLayout(mContext);
+ RecyclerView.ViewHolder viewHolder = mRecyclerView.getAdapter().onCreateViewHolder(
+ fakeParent, 0);
+ mRecyclerView.getAdapter().bindViewHolder(viewHolder, position);
+ return viewHolder.itemView;
}
private static class TestIconOptionsProvider implements IconOptionsProvider {
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceControllerTest.java
index 9400f83..dda58ae 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeMessagesLinkPreferenceControllerTest.java
@@ -16,19 +16,14 @@
package com.android.settings.notification.modes;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
-import android.app.AutomaticZenRule;
import android.app.Flags;
import android.content.Context;
-import android.net.Uri;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
-import android.service.notification.ZenPolicy;
import androidx.preference.Preference;
@@ -50,7 +45,6 @@
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
private Context mContext;
- @Mock private ZenModesBackend mBackend;
@Mock private ZenHelperBackend mHelperBackend;
@Before
@@ -60,20 +54,14 @@
mContext = RuntimeEnvironment.application;
mController = new ZenModeMessagesLinkPreferenceController(
- mContext, "something", mBackend, mHelperBackend);
+ mContext, "something", mHelperBackend);
}
@Test
@EnableFlags(Flags.FLAG_MODES_UI)
public void testHasSummary() {
Preference pref = mock(Preference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
- .build(), true);
- mController.updateZenMode(pref, zenMode);
+ mController.updateZenMode(pref, TestModeBuilder.EXAMPLE);
verify(pref).setSummary(any());
}
}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeNewCustomFragmentTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeNewCustomFragmentTest.java
new file mode 100644
index 0000000..b18ce21
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeNewCustomFragmentTest.java
@@ -0,0 +1,147 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
+
+import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT;
+import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+import static org.robolectric.Shadows.shadowOf;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+
+import androidx.fragment.app.testing.EmptyFragmentActivity;
+import androidx.fragment.app.testing.FragmentScenario;
+import androidx.lifecycle.Lifecycle;
+import androidx.test.ext.junit.rules.ActivityScenarioRule;
+
+import com.android.internal.R;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.stubbing.Answer;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeNewCustomFragmentTest {
+
+ @Rule
+ public ActivityScenarioRule<EmptyFragmentActivity> mActivityScenario =
+ new ActivityScenarioRule<>(EmptyFragmentActivity.class);
+
+ private Activity mActivity;
+ private ZenModeNewCustomFragment mFragment;
+ @Mock
+ private ZenModesBackend mBackend;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ mFragment = new ZenModeNewCustomFragment();
+ mFragment.setBackend(mBackend); // before onAttach()
+
+ mActivityScenario.getScenario().onActivity(activity -> {
+ mActivity = activity;
+ activity.getSupportFragmentManager().beginTransaction()
+ .add(mFragment, "tag").commitNow();
+ });
+ }
+
+ @Test
+ public void saveMode_addsCustomManualMode() {
+ mFragment.setModeName("The first name");
+ mFragment.setModeIcon(R.drawable.ic_zen_mode_type_theater);
+ mFragment.setModeName("Actually no, this name");
+
+ mFragment.saveMode();
+
+ verify(mBackend).addCustomManualMode("Actually no, this name",
+ R.drawable.ic_zen_mode_type_theater);
+ }
+
+ @Test
+ public void saveMode_withoutEdits_addsModeWithDefaultValues() {
+ mFragment.saveMode();
+
+ verify(mBackend).addCustomManualMode("Custom mode", 0);
+ }
+
+ @Test
+ public void saveMode_redirectsToModeView() {
+ when(mBackend.addCustomManualMode(any(), anyInt())).then(
+ (Answer<ZenMode>) invocationOnMock -> new TestModeBuilder()
+ .setId("Id of a mode named " + invocationOnMock.getArgument(0))
+ .setName(invocationOnMock.getArgument(0))
+ .setIconResId(invocationOnMock.getArgument(1))
+ .build());
+
+ mFragment.setModeName("something");
+ mFragment.setModeIcon(R.drawable.ic_zen_mode_type_immersive);
+ mFragment.saveMode();
+
+ Intent nextIntent = shadowOf(mActivity).getNextStartedActivity();
+ assertThat(nextIntent.getStringExtra(EXTRA_SHOW_FRAGMENT))
+ .isEqualTo(ZenModeFragment.class.getName());
+ Bundle fragmentArgs = nextIntent.getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS);
+ assertThat(fragmentArgs).isNotNull();
+ assertThat(fragmentArgs.getString(EXTRA_AUTOMATIC_ZEN_RULE_ID)).isEqualTo(
+ "Id of a mode named something");
+ }
+
+ @Test
+ public void onCreate_whenRecreating_preservesEdits() {
+ FragmentScenario<ZenModeNewCustomFragment> scenario =
+ FragmentScenario.launch(ZenModeNewCustomFragment.class, /* bundle= */ null, 0,
+ Lifecycle.State.INITIALIZED);
+ scenario.onFragment(first -> {
+ first.setBackend(mBackend);
+ mFragment = first;
+ });
+ scenario.moveToState(Lifecycle.State.RESUMED);
+
+ // Perform some edits in the first fragment.
+ mFragment.setModeName("Don't forget me!");
+ mFragment.setModeIcon(R.drawable.ic_zen_mode_type_immersive);
+
+ // Destroy the first fragment and creates a new one (which should restore state).
+ scenario.recreate().onFragment(second -> {
+ assertThat(second).isNotSameInstanceAs(mFragment);
+ second.setBackend(mBackend);
+ mFragment = second;
+ });
+
+ mFragment.saveMode();
+ verify(mBackend).addCustomManualMode("Don't forget me!",
+ R.drawable.ic_zen_mode_type_immersive);
+ scenario.close();
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceControllerTest.java
index 00a9fbe..bfa99a0 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisLinkPreferenceControllerTest.java
@@ -16,19 +16,14 @@
package com.android.settings.notification.modes;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
-import android.app.AutomaticZenRule;
import android.app.Flags;
import android.content.Context;
-import android.net.Uri;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
-import android.service.notification.ZenPolicy;
import androidx.preference.Preference;
@@ -50,7 +45,6 @@
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
private Context mContext;
- @Mock private ZenModesBackend mBackend;
@Mock private ZenHelperBackend mHelperBackend;
@Before
@@ -60,20 +54,14 @@
mContext = RuntimeEnvironment.application;
mController = new ZenModeNotifVisLinkPreferenceController(
- mContext, "something", mBackend, mHelperBackend);
+ mContext, "something", mHelperBackend);
}
@Test
@EnableFlags(Flags.FLAG_MODES_UI)
public void testHasSummary() {
Preference pref = mock(Preference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
- .build(), true);
- mController.updateZenMode(pref, zenMode);
+ mController.updateZenMode(pref, TestModeBuilder.EXAMPLE);
verify(pref).setSummary(any());
}
}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceControllerTest.java
index 54edaf4..b23d946 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeNotifVisPreferenceControllerTest.java
@@ -16,7 +16,6 @@
package com.android.settings.notification.modes;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
import static android.service.notification.ZenPolicy.STATE_ALLOW;
import static android.service.notification.ZenPolicy.STATE_DISALLOW;
import static android.service.notification.ZenPolicy.VISUAL_EFFECT_LIGHTS;
@@ -32,17 +31,18 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-import android.app.AutomaticZenRule;
import android.app.Flags;
import android.content.Context;
import android.content.res.Resources;
-import android.net.Uri;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.service.notification.ZenPolicy;
import androidx.preference.TwoStatePreference;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -96,15 +96,12 @@
@Test
public void updateState_notChecked() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowAlarms(true)
- .showAllVisualEffects()
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder()
+ .allowAlarms(true)
+ .showAllVisualEffects()
+ .build())
+ .build();
mController.updateZenMode(preference, zenMode);
@@ -115,15 +112,12 @@
@Test
public void updateState_checked() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowAlarms(true)
- .showVisualEffect(VISUAL_EFFECT_PEEK, false)
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder()
+ .allowAlarms(true)
+ .showVisualEffect(VISUAL_EFFECT_PEEK, false)
+ .build())
+ .build();
mController.updateZenMode(preference, zenMode);
@@ -138,16 +132,13 @@
"zen_effect_status", VISUAL_EFFECT_STATUS_BAR,
new int[]{VISUAL_EFFECT_NOTIFICATION_LIST}, mBackend);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowAlarms(true)
- .showVisualEffect(VISUAL_EFFECT_NOTIFICATION_LIST, false)
- .showVisualEffect(VISUAL_EFFECT_STATUS_BAR, true)
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder()
+ .allowAlarms(true)
+ .showVisualEffect(VISUAL_EFFECT_NOTIFICATION_LIST, false)
+ .showVisualEffect(VISUAL_EFFECT_STATUS_BAR, true)
+ .build())
+ .build();
mController.updateZenMode(preference, zenMode);
@@ -168,15 +159,12 @@
"zen_effect_status", VISUAL_EFFECT_STATUS_BAR,
new int[]{VISUAL_EFFECT_NOTIFICATION_LIST}, mBackend);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowAlarms(true)
- .showAllVisualEffects()
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder()
+ .allowAlarms(true)
+ .showAllVisualEffects()
+ .build())
+ .build();
mController.updateZenMode(preference, zenMode);
@@ -188,15 +176,12 @@
@Test
public void onPreferenceChanged_checkedFalse() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowAlarms(true)
- .hideAllVisualEffects()
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder()
+ .allowAlarms(true)
+ .hideAllVisualEffects()
+ .build())
+ .build();
mController.updateZenMode(preference, zenMode);
@@ -213,15 +198,12 @@
@Test
public void onPreferenceChanged_checkedTrue() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowAlarms(true)
- .showAllVisualEffects()
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder()
+ .allowAlarms(true)
+ .showAllVisualEffects()
+ .build())
+ .build();
mController.updateZenMode(preference, zenMode);
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceControllerTest.java
index 699762e..39ba9e8 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherLinkPreferenceControllerTest.java
@@ -16,19 +16,14 @@
package com.android.settings.notification.modes;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
-import android.app.AutomaticZenRule;
import android.app.Flags;
import android.content.Context;
-import android.net.Uri;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
-import android.service.notification.ZenPolicy;
import androidx.preference.Preference;
@@ -51,7 +46,6 @@
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
private Context mContext;
- @Mock private ZenModesBackend mBackend;
@Mock private ZenHelperBackend mHelperBackend;
@Before
@@ -61,20 +55,14 @@
mContext = RuntimeEnvironment.application;
mController = new ZenModeOtherLinkPreferenceController(
- mContext, "something", mBackend, mHelperBackend);
+ mContext, "something", mHelperBackend);
}
@Test
@EnableFlags(Flags.FLAG_MODES_UI)
public void testHasSummary() {
Preference pref = mock(Preference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
- .build(), true);
- mController.updateZenMode(pref, zenMode);
+ mController.updateZenMode(pref, TestModeBuilder.EXAMPLE);
verify(pref).setSummary(any());
}
}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherPreferenceControllerTest.java
index 4a4a6e4..c69a8a0 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeOtherPreferenceControllerTest.java
@@ -16,7 +16,6 @@
package com.android.settings.notification.modes;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
import static android.service.notification.ZenPolicy.STATE_ALLOW;
import static android.service.notification.ZenPolicy.STATE_UNSET;
@@ -25,16 +24,17 @@
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
-import android.app.AutomaticZenRule;
import android.app.Flags;
import android.content.Context;
-import android.net.Uri;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.service.notification.ZenPolicy;
import androidx.preference.TwoStatePreference;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -65,12 +65,9 @@
@Test
public void testUpdateState_alarms() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowAlarms(true).build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder().allowAlarms(true).build())
+ .build();
ZenModeOtherPreferenceController controller =
new ZenModeOtherPreferenceController(mContext, "modes_category_alarm", mBackend);
@@ -83,12 +80,9 @@
@Test
public void testOnPreferenceChange_alarms() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowAlarms(false).build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder().allowAlarms(false).build())
+ .build();
ZenModeOtherPreferenceController controller =
new ZenModeOtherPreferenceController(mContext, "modes_category_alarm", mBackend);
@@ -108,12 +102,9 @@
@Test
public void testUpdateState_media() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowMedia(true).build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder().allowMedia(true).build())
+ .build();
ZenModeOtherPreferenceController controller =
new ZenModeOtherPreferenceController(mContext, "modes_category_media", mBackend);
@@ -126,12 +117,9 @@
@Test
public void testOnPreferenceChange_media() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowMedia(false).build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder().allowMedia(false).build())
+ .build();
ZenModeOtherPreferenceController controller =
new ZenModeOtherPreferenceController(mContext, "modes_category_media", mBackend);
@@ -151,12 +139,9 @@
@Test
public void testUpdateState_system() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowSystem(true).build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder().allowSystem(true).build())
+ .build();
ZenModeOtherPreferenceController controller =
new ZenModeOtherPreferenceController(mContext, "modes_category_system", mBackend);
@@ -169,12 +154,9 @@
@Test
public void testOnPreferenceChange_system() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowSystem(false).build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder().allowSystem(false).build())
+ .build();
ZenModeOtherPreferenceController controller =
new ZenModeOtherPreferenceController(mContext, "modes_category_system", mBackend);
@@ -194,12 +176,9 @@
@Test
public void testUpdateState_reminders() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowReminders(true).build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder().allowReminders(true).build())
+ .build();
ZenModeOtherPreferenceController controller =
new ZenModeOtherPreferenceController(mContext, "modes_category_reminders",
@@ -213,12 +192,9 @@
@Test
public void testOnPreferenceChange_reminders() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowReminders(false).build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder().allowReminders(false).build())
+ .build();
ZenModeOtherPreferenceController controller =
new ZenModeOtherPreferenceController(mContext, "modes_category_reminders",
@@ -239,12 +215,9 @@
@Test
public void testUpdateState_events() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowEvents(true).build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder().allowEvents(true).build())
+ .build();
ZenModeOtherPreferenceController controller =
new ZenModeOtherPreferenceController(mContext, "modes_category_events", mBackend);
@@ -257,12 +230,9 @@
@Test
public void testOnPreferenceChange_events() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowEvents(false).build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder().allowEvents(false).build())
+ .build();
ZenModeOtherPreferenceController controller =
new ZenModeOtherPreferenceController(mContext, "modes_category_events", mBackend);
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceControllerTest.java
index a331318..9d9dd98 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModePeopleLinkPreferenceControllerTest.java
@@ -16,19 +16,14 @@
package com.android.settings.notification.modes;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
-import android.app.AutomaticZenRule;
import android.app.Flags;
import android.content.Context;
-import android.net.Uri;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
-import android.service.notification.ZenPolicy;
import androidx.preference.Preference;
@@ -51,8 +46,6 @@
private Context mContext;
@Mock
- private ZenModesBackend mBackend;
- @Mock
private ZenHelperBackend mHelperBackend;
@Before
@@ -62,20 +55,14 @@
mContext = RuntimeEnvironment.application;
mController = new ZenModePeopleLinkPreferenceController(
- mContext, "something", mBackend, mHelperBackend);
+ mContext, "something", mHelperBackend);
}
@Test
@EnableFlags(Flags.FLAG_MODES_UI)
public void testHasSummary() {
Preference pref = mock(Preference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
- .build(), true);
- mController.updateZenMode(pref, zenMode);
+ mController.updateZenMode(pref, TestModeBuilder.EXAMPLE);
verify(pref).setSummary(any());
}
}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceControllerTest.java
index 709af43..04df27e 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModePrioritySendersPreferenceControllerTest.java
@@ -16,7 +16,6 @@
package com.android.settings.notification.modes;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
import static android.service.notification.ZenPolicy.CONVERSATION_SENDERS_ANYONE;
import static android.service.notification.ZenPolicy.CONVERSATION_SENDERS_IMPORTANT;
import static android.service.notification.ZenPolicy.CONVERSATION_SENDERS_NONE;
@@ -40,11 +39,9 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-import android.app.AutomaticZenRule;
import android.app.Flags;
import android.content.Context;
import android.database.Cursor;
-import android.net.Uri;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.service.notification.ZenPolicy;
@@ -54,6 +51,8 @@
import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
import com.android.settingslib.widget.SelectorWithWidgetPreference;
import org.junit.Before;
@@ -439,20 +438,17 @@
@Test
public void testPreferenceClick_passesCorrectCheckedState_startingUnchecked_messages() {
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder()
- .disallowAllSounds()
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder()
+ .disallowAllSounds()
+ .build())
+ .build();
mMessagesController.displayPreference(mPreferenceScreen);
mMessagesController.updateZenMode(mMessagesPrefCategory, zenMode);
assertThat(((SelectorWithWidgetPreference) mMessagesPrefCategory.findPreference(KEY_NONE))
- .isChecked());
+ .isChecked()).isTrue();
mMessagesPrefCategory.findPreference(KEY_STARRED).performClick();
@@ -464,14 +460,11 @@
@Test
public void testPreferenceClick_passesCorrectCheckedState_startingChecked_messages() {
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowAllSounds()
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder()
+ .allowAllSounds()
+ .build())
+ .build();
mMessagesController.displayPreference(mPreferenceScreen);
mMessagesController.updateZenMode(mMessagesPrefCategory, zenMode);
@@ -490,14 +483,11 @@
@Test
public void testPreferenceClick_passesCorrectCheckedState_startingUnchecked_calls() {
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder()
- .disallowAllSounds()
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder()
+ .disallowAllSounds()
+ .build())
+ .build();
mCallsController.displayPreference(mPreferenceScreen);
mCallsController.updateZenMode(mCallsPrefCategory, zenMode);
@@ -515,14 +505,11 @@
@Test
public void testPreferenceClick_passesCorrectCheckedState_startingChecked_calls() {
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder()
- .disallowAllSounds()
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder()
+ .disallowAllSounds()
+ .build())
+ .build();
mCallsController.displayPreference(mPreferenceScreen);
mCallsController.updateZenMode(mCallsPrefCategory, zenMode);
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeRepeatCallersPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeRepeatCallersPreferenceControllerTest.java
index 7bbb042..c1b99e5 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeRepeatCallersPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeRepeatCallersPreferenceControllerTest.java
@@ -16,24 +16,27 @@
package com.android.settings.notification.modes;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
import static android.service.notification.ZenPolicy.PEOPLE_TYPE_ANYONE;
import static android.service.notification.ZenPolicy.PEOPLE_TYPE_STARRED;
-import static android.service.notification.ZenPolicy.STATE_ALLOW;
import static android.service.notification.ZenPolicy.STATE_DISALLOW;
import static android.service.notification.ZenPolicy.STATE_UNSET;
+
import static com.google.common.truth.Truth.assertThat;
+
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
-import android.app.AutomaticZenRule;
import android.app.Flags;
import android.content.Context;
-import android.net.Uri;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.service.notification.ZenPolicy;
+
import androidx.preference.TwoStatePreference;
+
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -64,14 +67,11 @@
@Test
public void testUpdateState_allCalls() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowCalls(PEOPLE_TYPE_ANYONE)
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder()
+ .allowCalls(PEOPLE_TYPE_ANYONE)
+ .build())
+ .build();
ZenModeRepeatCallersPreferenceController controller =
new ZenModeRepeatCallersPreferenceController(mContext, "repeat", mBackend, 1);
@@ -85,15 +85,12 @@
@Test
public void testUpdateState_someCalls() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowCalls(PEOPLE_TYPE_STARRED)
- .allowRepeatCallers(true)
- .build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder()
+ .allowCalls(PEOPLE_TYPE_STARRED)
+ .allowRepeatCallers(true)
+ .build())
+ .build();
ZenModeRepeatCallersPreferenceController controller =
new ZenModeRepeatCallersPreferenceController(mContext, "repeat", mBackend, 1);
@@ -107,12 +104,9 @@
@Test
public void testOnPreferenceChange() {
TwoStatePreference preference = mock(TwoStatePreference.class);
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowRepeatCallers(true).build())
- .build(), true);
+ ZenMode zenMode = new TestModeBuilder()
+ .setZenPolicy(new ZenPolicy.Builder().allowRepeatCallers(true).build())
+ .build();
ZenModeRepeatCallersPreferenceController controller =
new ZenModeRepeatCallersPreferenceController(mContext, "repeat", mBackend, 1);
@@ -130,4 +124,4 @@
assertThat(captor.getValue().getPolicy().getPriorityCallSenders())
.isEqualTo(STATE_UNSET);
}
-}
\ No newline at end of file
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceControllerTest.java
index 6b24fa2..cc6a497 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetCalendarPreferenceControllerTest.java
@@ -28,18 +28,20 @@
import static org.mockito.Mockito.when;
-import android.app.AutomaticZenRule;
import android.app.Flags;
import android.content.Context;
-import android.net.Uri;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
+import android.service.notification.SystemZenRules;
import android.service.notification.ZenModeConfig;
import androidx.preference.DropDownPreference;
import androidx.preference.PreferenceCategory;
import androidx.test.core.app.ApplicationProvider;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -84,9 +86,9 @@
@Test
@EnableFlags({Flags.FLAG_MODES_API, Flags.FLAG_MODES_UI})
public void updateEventMode_updatesConditionAndTriggerDescription() {
- ZenMode mode = new ZenMode("id",
- new AutomaticZenRule.Builder("name", Uri.parse("condition")).build(),
- true); // is active
+ ZenMode mode = new TestModeBuilder()
+ .setPackage(SystemZenRules.PACKAGE_ANDROID)
+ .build();
// Explicitly update preference controller with mode info first, which will also call
// updateState()
@@ -99,6 +101,7 @@
// apply event mode updater to existing mode
ZenMode out = mPrefController.updateEventMode(eventInfo).apply(mode);
+ assertThat(out.getRule().getOwner()).isEqualTo(ZenModeConfig.getEventConditionProvider());
assertThat(out.getRule().getConditionId()).isEqualTo(
ZenModeConfig.toEventConditionId(eventInfo));
assertThat(out.getRule().getTriggerDescription()).isEqualTo("My events");
@@ -111,10 +114,9 @@
eventInfo.calName = "Definitely A Calendar";
eventInfo.reply = REPLY_YES;
- ZenMode mode = new ZenMode("id",
- new AutomaticZenRule.Builder("name",
- ZenModeConfig.toEventConditionId(eventInfo)).build(),
- true); // is active
+ ZenMode mode = new TestModeBuilder()
+ .setConditionId(ZenModeConfig.toEventConditionId(eventInfo))
+ .build();
mPrefController.updateZenMode(mPrefCategory, mode);
// We should see mCalendar, mReply have their values set
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceControllerTest.java
index 7cf327c..7dbc802 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetSchedulePreferenceControllerTest.java
@@ -23,12 +23,11 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-import android.app.AutomaticZenRule;
import android.app.Flags;
import android.content.Context;
-import android.net.Uri;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
+import android.service.notification.SystemZenRules;
import android.service.notification.ZenModeConfig;
import android.view.ViewGroup;
import android.widget.ToggleButton;
@@ -37,6 +36,8 @@
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.R;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
import org.junit.Before;
import org.junit.Rule;
@@ -80,9 +81,9 @@
@Test
@EnableFlags({Flags.FLAG_MODES_API, Flags.FLAG_MODES_UI})
public void updateScheduleRule_updatesConditionAndTriggerDescription() {
- ZenMode mode = new ZenMode("id",
- new AutomaticZenRule.Builder("name", Uri.parse("condition")).build(),
- true); // is active
+ ZenMode mode = new TestModeBuilder()
+ .setPackage(SystemZenRules.PACKAGE_ANDROID)
+ .build();
ZenModeConfig.ScheduleInfo scheduleInfo = new ZenModeConfig.ScheduleInfo();
scheduleInfo.days = new int[] { Calendar.MONDAY };
@@ -93,6 +94,8 @@
assertThat(out.getRule().getConditionId())
.isEqualTo(ZenModeConfig.toScheduleConditionId(scheduleInfo));
assertThat(out.getRule().getTriggerDescription()).isNotEmpty();
+ assertThat(out.getRule().getOwner()).isEqualTo(
+ ZenModeConfig.getScheduleConditionProvider());
}
@Test
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetTriggerLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetTriggerLinkPreferenceControllerTest.java
index 91de4ea..ffd239b 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetTriggerLinkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeSetTriggerLinkPreferenceControllerTest.java
@@ -16,6 +16,7 @@
package com.android.settings.notification.modes;
+import static android.app.AutomaticZenRule.TYPE_OTHER;
import static android.app.AutomaticZenRule.TYPE_SCHEDULE_CALENDAR;
import static android.app.AutomaticZenRule.TYPE_SCHEDULE_TIME;
import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
@@ -25,6 +26,8 @@
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -32,18 +35,22 @@
import android.app.Flags;
import android.content.Context;
import android.content.Intent;
+import android.content.pm.PackageManager;
import android.net.Uri;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
+import android.service.notification.SystemZenRules;
import android.service.notification.ZenModeConfig;
-import android.service.notification.ZenPolicy;
import androidx.preference.PreferenceCategory;
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
+import com.android.settings.dashboard.DashboardFragment;
import com.android.settingslib.PrimarySwitchPreference;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
import org.junit.Before;
import org.junit.Rule;
@@ -57,6 +64,7 @@
import java.util.Calendar;
@RunWith(RobolectricTestRunner.class)
+@EnableFlags(Flags.FLAG_MODES_UI)
public class ZenModeSetTriggerLinkPreferenceControllerTest {
@Rule
public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(DEVICE_DEFAULT);
@@ -65,10 +73,18 @@
private ZenModesBackend mBackend;
private Context mContext;
+ private PrimarySwitchPreference mPreference;
+
+ @Mock
+ private PackageManager mPm;
+ @Mock
+ private ConfigurationActivityHelper mConfigurationActivityHelper;
+
@Mock
private PreferenceCategory mPrefCategory;
@Mock
- private PrimarySwitchPreference mPreference;
+ private DashboardFragment mFragment;
+
private ZenModeSetTriggerLinkPreferenceController mPrefController;
@Before
@@ -77,63 +93,47 @@
mContext = ApplicationProvider.getApplicationContext();
mPrefController = new ZenModeSetTriggerLinkPreferenceController(mContext,
- "zen_automatic_trigger_category", mBackend);
+ "zen_automatic_trigger_category", mFragment, mBackend,
+ mConfigurationActivityHelper,
+ mock(ZenServiceListing.class));
+ mPreference = new PrimarySwitchPreference(mContext);
+
when(mPrefCategory.findPreference(AUTOMATIC_TRIGGER_PREF_KEY)).thenReturn(mPreference);
}
@Test
- @EnableFlags(Flags.FLAG_MODES_UI)
public void testIsAvailable() {
// should not be available for manual DND
ZenMode manualMode = ZenMode.manualDndMode(new AutomaticZenRule.Builder("Do Not Disturb",
- Uri.parse("manual"))
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .build(), true);
+ Uri.parse("manual"))
+ .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ .build(), true);
mPrefController.updateZenMode(mPrefCategory, manualMode);
assertThat(mPrefController.isAvailable()).isFalse();
// should be available for other modes
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowAlarms(true).build())
- .setEnabled(false)
- .build(), false);
- mPrefController.updateZenMode(mPrefCategory, zenMode);
+ mPrefController.updateZenMode(mPrefCategory, TestModeBuilder.EXAMPLE);
assertThat(mPrefController.isAvailable()).isTrue();
}
@Test
public void testUpdateState() {
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowAlarms(true).build())
- .setEnabled(false)
- .build(), false);
+ ZenMode zenMode = new TestModeBuilder().setEnabled(false).build();
// Update preference controller with a zen mode that is not enabled
mPrefController.updateZenMode(mPrefCategory, zenMode);
- verify(mPreference).setChecked(false);
+ assertThat(mPreference.getCheckedState()).isFalse();
// Now with the rule enabled
zenMode.getRule().setEnabled(true);
mPrefController.updateZenMode(mPrefCategory, zenMode);
- verify(mPreference).setChecked(true);
+ assertThat(mPreference.getCheckedState()).isTrue();
}
@Test
public void testOnPreferenceChange() {
- ZenMode zenMode = new ZenMode("id",
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowAlarms(true).build())
- .setEnabled(false)
- .build(), false);
+ ZenMode zenMode = new TestModeBuilder().setEnabled(false).build();
// start with disabled rule
mPrefController.updateZenMode(mPrefCategory, zenMode);
@@ -152,47 +152,135 @@
ZenModeConfig.EventInfo eventInfo = new ZenModeConfig.EventInfo();
eventInfo.calendarId = 1L;
eventInfo.calName = "My events";
- ZenMode mode = new ZenMode("id", new AutomaticZenRule.Builder("name",
- ZenModeConfig.toEventConditionId(eventInfo))
+ ZenMode mode = new TestModeBuilder()
+ .setPackage(SystemZenRules.PACKAGE_ANDROID)
+ .setConditionId(ZenModeConfig.toEventConditionId(eventInfo))
.setType(TYPE_SCHEDULE_CALENDAR)
.setTriggerDescription("My events")
- .build(),
- true); // is active
+ .build();
mPrefController.updateZenMode(mPrefCategory, mode);
- verify(mPreference).setTitle(R.string.zen_mode_set_calendar_link);
- verify(mPreference).setSummary(mode.getRule().getTriggerDescription());
+ assertThat(mPreference.getTitle()).isNotNull();
+ assertThat(mPreference.getTitle().toString()).isEqualTo(
+ mContext.getString(R.string.zen_mode_set_calendar_link));
+ assertThat(mPreference.getSummary()).isNotNull();
+ assertThat(mPreference.getSummary().toString()).isEqualTo(
+ mode.getRule().getTriggerDescription());
+ assertThat(mPreference.getIcon()).isNull();
- ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
- verify(mPreference).setIntent(captor.capture());
// Destination as written into the intent by SubSettingLauncher
- assertThat(
- captor.getValue().getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT)).isEqualTo(
- ZenModeSetCalendarFragment.class.getName());
+ assertThat(mPreference.getIntent().getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+ .isEqualTo(ZenModeSetCalendarFragment.class.getName());
}
@Test
public void testRuleLink_schedule() {
ZenModeConfig.ScheduleInfo scheduleInfo = new ZenModeConfig.ScheduleInfo();
- scheduleInfo.days = new int[] { Calendar.MONDAY, Calendar.TUESDAY, Calendar.THURSDAY };
+ scheduleInfo.days = new int[]{Calendar.MONDAY, Calendar.TUESDAY, Calendar.THURSDAY};
scheduleInfo.startHour = 1;
scheduleInfo.endHour = 15;
- ZenMode mode = new ZenMode("id", new AutomaticZenRule.Builder("name",
- ZenModeConfig.toScheduleConditionId(scheduleInfo))
+ ZenMode mode = new TestModeBuilder()
+ .setConditionId(ZenModeConfig.toScheduleConditionId(scheduleInfo))
+ .setPackage(SystemZenRules.PACKAGE_ANDROID)
.setType(TYPE_SCHEDULE_TIME)
.setTriggerDescription("some schedule")
- .build(),
- true); // is active
+ .build();
mPrefController.updateZenMode(mPrefCategory, mode);
- verify(mPreference).setTitle(R.string.zen_mode_set_schedule_link);
- verify(mPreference).setSummary(mode.getRule().getTriggerDescription());
+ assertThat(mPreference.getTitle()).isNotNull();
+ assertThat(mPreference.getTitle().toString()).isEqualTo(
+ mContext.getString(R.string.zen_mode_set_schedule_link));
+ assertThat(mPreference.getSummary()).isNotNull();
+ assertThat(mPreference.getSummary().toString()).isEqualTo(
+ mode.getRule().getTriggerDescription());
+ assertThat(mPreference.getIcon()).isNull();
- ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
- verify(mPreference).setIntent(captor.capture());
// Destination as written into the intent by SubSettingLauncher
- assertThat(
- captor.getValue().getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT)).isEqualTo(
- ZenModeSetScheduleFragment.class.getName());
+ assertThat(mPreference.getIntent().getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+ .isEqualTo(ZenModeSetScheduleFragment.class.getName());
+ }
+
+ @Test
+ public void testRuleLink_manual() {
+ ZenMode mode = new TestModeBuilder()
+ .setConditionId(ZenModeConfig.toCustomManualConditionId())
+ .setPackage(SystemZenRules.PACKAGE_ANDROID)
+ .setType(TYPE_OTHER)
+ .setTriggerDescription("Will not be shown")
+ .build();
+ mPrefController.updateZenMode(mPrefCategory, mode);
+
+ assertThat(mPreference.getTitle()).isNotNull();
+ assertThat(mPreference.getTitle().toString()).isEqualTo(
+ mContext.getString(R.string.zen_mode_select_schedule));
+ assertThat(mPreference.getIcon()).isNotNull();
+ assertThat(mPreference.getSummary()).isNotNull();
+ assertThat(mPreference.getSummary().toString()).isEqualTo("");
+
+ // Set up a click listener to open the dialog.
+ assertThat(mPreference.getOnPreferenceClickListener()).isNotNull();
+ }
+
+ @Test
+ public void testRuleLink_appWithConfigActivity_linksToConfigActivity() {
+ ZenMode mode = new TestModeBuilder()
+ .setPackage("some.package")
+ .setTriggerDescription("When The Music's Over")
+ .build();
+ Intent configurationIntent = new Intent("configure the mode");
+ when(mConfigurationActivityHelper.getConfigurationActivityIntentForMode(any(), any()))
+ .thenReturn(configurationIntent);
+
+ mPrefController.updateZenMode(mPrefCategory, mode);
+
+ assertThat(mPreference.getTitle()).isNotNull();
+ assertThat(mPreference.getTitle().toString()).isEqualTo(
+ mContext.getString(R.string.zen_mode_configuration_link_title));
+ assertThat(mPreference.getSummary()).isNotNull();
+ assertThat(mPreference.getSummary().toString()).isEqualTo("When The Music's Over");
+ assertThat(mPreference.getIntent()).isEqualTo(configurationIntent);
+ }
+
+ @Test
+ public void testRuleLink_appWithoutConfigActivity_hidden() {
+ ZenMode mode = new TestModeBuilder()
+ .setPackage("some.package")
+ .setTriggerDescription("Will not be shown :(")
+ .build();
+ when(mConfigurationActivityHelper.getConfigurationActivityIntentForMode(any(), any()))
+ .thenReturn(null);
+
+ mPrefController.updateZenMode(mPrefCategory, mode);
+
+ assertThat(mPrefCategory.isVisible()).isFalse();
+ }
+
+ @Test
+ public void onScheduleChosen_updatesMode() {
+ ZenMode originalMode = new TestModeBuilder()
+ .setConditionId(ZenModeConfig.toCustomManualConditionId())
+ .setPackage(SystemZenRules.PACKAGE_ANDROID)
+ .setType(TYPE_OTHER)
+ .setTriggerDescription("")
+ .build();
+ mPrefController.updateZenMode(mPrefCategory, originalMode);
+
+ ZenModeConfig.ScheduleInfo scheduleInfo = new ZenModeConfig.ScheduleInfo();
+ scheduleInfo.days = new int[] { Calendar.MONDAY };
+ scheduleInfo.startHour = 12;
+ scheduleInfo.endHour = 15;
+ Uri scheduleUri = ZenModeConfig.toScheduleConditionId(scheduleInfo);
+
+ mPrefController.mOnScheduleOptionListener.onScheduleSelected(scheduleUri);
+
+ // verify the backend got asked to update the mode to be schedule-based.
+ ArgumentCaptor<ZenMode> captor = ArgumentCaptor.forClass(ZenMode.class);
+ verify(mBackend).updateMode(captor.capture());
+ ZenMode updatedMode = captor.getValue();
+ assertThat(updatedMode.getType()).isEqualTo(TYPE_SCHEDULE_TIME);
+ assertThat(updatedMode.getRule().getConditionId()).isEqualTo(scheduleUri);
+ assertThat(updatedMode.getRule().getTriggerDescription()).isNotEmpty();
+ assertThat(updatedMode.getRule().getOwner()).isEqualTo(
+ ZenModeConfig.getScheduleConditionProvider());
}
}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeTest.java
deleted file mode 100644
index 0528621..0000000
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeTest.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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.settings.notification.modes;
-
-import static android.app.NotificationManager.INTERRUPTION_FILTER_ALARMS;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_ALL;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_NONE;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.AutomaticZenRule;
-import android.net.Uri;
-import android.service.notification.ZenPolicy;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.RobolectricTestRunner;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeTest {
-
- private static final ZenPolicy ZEN_POLICY = new ZenPolicy.Builder().allowAllSounds().build();
-
- private static final AutomaticZenRule ZEN_RULE =
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(ZEN_POLICY)
- .build();
-
- @Test
- public void testBasicMethods() {
- ZenMode zenMode = new ZenMode("id", ZEN_RULE, true);
-
- assertThat(zenMode.getId()).isEqualTo("id");
- assertThat(zenMode.getRule()).isEqualTo(ZEN_RULE);
- assertThat(zenMode.isManualDnd()).isFalse();
- assertThat(zenMode.canBeDeleted()).isTrue();
- assertThat(zenMode.isActive()).isTrue();
-
- ZenMode manualMode = ZenMode.manualDndMode(ZEN_RULE, false);
- assertThat(manualMode.getId()).isEqualTo(ZenMode.MANUAL_DND_MODE_ID);
- assertThat(manualMode.isManualDnd()).isTrue();
- assertThat(manualMode.canBeDeleted()).isFalse();
- assertThat(manualMode.isActive()).isFalse();
- }
-
- @Test
- public void getPolicy_interruptionFilterPriority_returnsZenPolicy() {
- ZenMode zenMode = new ZenMode("id", new AutomaticZenRule.Builder("Rule", Uri.EMPTY)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(ZEN_POLICY)
- .build(), false);
-
- assertThat(zenMode.getPolicy()).isEqualTo(ZEN_POLICY);
- }
-
- @Test
- public void getPolicy_interruptionFilterAll_returnsPolicyAllowingAll() {
- ZenMode zenMode = new ZenMode("id", new AutomaticZenRule.Builder("Rule", Uri.EMPTY)
- .setInterruptionFilter(INTERRUPTION_FILTER_ALL)
- .setZenPolicy(ZEN_POLICY) // should be ignored
- .build(), false);
-
- assertThat(zenMode.getPolicy()).isEqualTo(
- new ZenPolicy.Builder().allowChannels(ZenMode.CHANNEL_POLICY_ALL)
- .allowAllSounds().showAllVisualEffects().build());
- }
-
- @Test
- public void getPolicy_interruptionFilterAlarms_returnsPolicyAllowingAlarms() {
- ZenMode zenMode = new ZenMode("id", new AutomaticZenRule.Builder("Rule", Uri.EMPTY)
- .setInterruptionFilter(INTERRUPTION_FILTER_ALARMS)
- .setZenPolicy(ZEN_POLICY) // should be ignored
- .build(), false);
-
- assertThat(zenMode.getPolicy()).isEqualTo(
- new ZenPolicy.Builder()
- .disallowAllSounds()
- .allowAlarms(true)
- .allowMedia(true)
- .allowPriorityChannels(false)
- .build());
- }
-
- @Test
- public void getPolicy_interruptionFilterNone_returnsPolicyAllowingNothing() {
- ZenMode zenMode = new ZenMode("id", new AutomaticZenRule.Builder("Rule", Uri.EMPTY)
- .setInterruptionFilter(INTERRUPTION_FILTER_NONE)
- .setZenPolicy(ZEN_POLICY) // should be ignored
- .build(), false);
-
- assertThat(zenMode.getPolicy()).isEqualTo(
- new ZenPolicy.Builder()
- .disallowAllSounds()
- .hideAllVisualEffects()
- .allowPriorityChannels(false)
- .build());
- }
-
- @Test
- public void setPolicy_setsInterruptionFilterPriority() {
- ZenMode zenMode = new ZenMode("id", new AutomaticZenRule.Builder("Rule", Uri.EMPTY)
- .setInterruptionFilter(INTERRUPTION_FILTER_ALARMS)
- .build(), false);
-
- zenMode.setPolicy(ZEN_POLICY);
-
- assertThat(zenMode.getRule().getInterruptionFilter()).isEqualTo(
- INTERRUPTION_FILTER_PRIORITY);
- assertThat(zenMode.getPolicy()).isEqualTo(ZEN_POLICY);
- assertThat(zenMode.getRule().getZenPolicy()).isEqualTo(ZEN_POLICY);
- }
-
- @Test
- public void setPolicy_withAllChannelsAllowed_setsInterruptionFilterAll() {
- ZenMode zenMode = new ZenMode("id", new AutomaticZenRule.Builder("Rule", Uri.EMPTY)
- .setInterruptionFilter(INTERRUPTION_FILTER_ALARMS)
- .setZenPolicy(ZEN_POLICY)
- .build(), false);
-
- zenMode.setPolicy(
- new ZenPolicy.Builder().allowChannels(ZenMode.CHANNEL_POLICY_ALL).build());
-
- assertThat(zenMode.getRule().getInterruptionFilter()).isEqualTo(INTERRUPTION_FILTER_ALL);
- assertThat(zenMode.getPolicy()).isEqualTo(
- new ZenPolicy.Builder().allowChannels(ZenMode.CHANNEL_POLICY_ALL)
- .allowAllSounds().showAllVisualEffects().build());
- }
-
- @Test
- public void setPolicy_priorityToAllChannelsAndBack_restoresOldPolicy() {
- ZenMode zenMode = new ZenMode("id", new AutomaticZenRule.Builder("Rule", Uri.EMPTY)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(ZEN_POLICY)
- .build(), false);
-
- zenMode.setPolicy(
- new ZenPolicy.Builder().allowChannels(ZenMode.CHANNEL_POLICY_ALL).build());
- assertThat(zenMode.getRule().getInterruptionFilter()).isEqualTo(INTERRUPTION_FILTER_ALL);
- assertThat(zenMode.getPolicy()).isEqualTo(
- new ZenPolicy.Builder().allowChannels(ZenMode.CHANNEL_POLICY_ALL)
- .allowAllSounds().showAllVisualEffects().build());
-
- zenMode.setPolicy(
- new ZenPolicy.Builder().allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY).build());
-
- assertThat(zenMode.getRule().getInterruptionFilter()).isEqualTo(
- INTERRUPTION_FILTER_PRIORITY);
- assertThat(zenMode.getPolicy()).isEqualTo(ZEN_POLICY);
- assertThat(zenMode.getRule().getZenPolicy()).isEqualTo(ZEN_POLICY);
- }
-
- @Test
- public void setPolicy_alarmsOnlyToAllChannelsAndBack_restoresPolicySimilarToAlarmsOnly() {
- ZenMode zenMode = new ZenMode("id", new AutomaticZenRule.Builder("Rule", Uri.EMPTY)
- .setInterruptionFilter(INTERRUPTION_FILTER_ALARMS)
- .build(), false);
-
- zenMode.setPolicy(
- new ZenPolicy.Builder().allowChannels(ZenMode.CHANNEL_POLICY_ALL).build());
- assertThat(zenMode.getRule().getInterruptionFilter()).isEqualTo(INTERRUPTION_FILTER_ALL);
- assertThat(zenMode.getPolicy()).isEqualTo(
- new ZenPolicy.Builder().allowChannels(ZenMode.CHANNEL_POLICY_ALL)
- .allowAllSounds().showAllVisualEffects().build());
-
- zenMode.setPolicy(
- new ZenPolicy.Builder().allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY).build());
-
- // We don't go back to ALARMS, but the policy must be the one the user was seeing before.
- ZenPolicy alarmsOnlyLikePolicy = new ZenPolicy.Builder().disallowAllSounds()
- .allowAlarms(true).allowMedia(true).allowPriorityChannels(false)
- .build();
- assertThat(zenMode.getRule().getInterruptionFilter()).isEqualTo(
- INTERRUPTION_FILTER_PRIORITY);
- assertThat(zenMode.getPolicy()).isEqualTo(alarmsOnlyLikePolicy);
- assertThat(zenMode.getRule().getZenPolicy()).isEqualTo(alarmsOnlyLikePolicy);
- }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModesBackendTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModesBackendTest.java
deleted file mode 100644
index 9483683..0000000
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModesBackendTest.java
+++ /dev/null
@@ -1,363 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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.settings.notification.modes;
-
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
-import static android.provider.Settings.Global.ZEN_MODE_OFF;
-import static android.service.notification.Condition.SOURCE_UNKNOWN;
-import static android.service.notification.Condition.STATE_FALSE;
-import static android.service.notification.Condition.STATE_TRUE;
-import static android.service.notification.ZenPolicy.STATE_ALLOW;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.junit.Assert.assertThrows;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.AutomaticZenRule;
-import android.app.Flags;
-import android.app.NotificationManager;
-import android.app.NotificationManager.Policy;
-import android.content.Context;
-import android.net.Uri;
-import android.platform.test.annotations.EnableFlags;
-import android.platform.test.flag.junit.SetFlagsRule;
-import android.provider.Settings;
-import android.service.notification.Condition;
-import android.service.notification.ZenAdapters;
-import android.service.notification.ZenDeviceEffects;
-import android.service.notification.ZenModeConfig;
-import android.service.notification.ZenPolicy;
-
-import com.android.settings.R;
-
-import com.google.common.collect.ImmutableMap;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowApplication;
-
-import java.time.Duration;
-import java.util.List;
-
-@RunWith(RobolectricTestRunner.class)
-@EnableFlags(Flags.FLAG_MODES_UI)
-public class ZenModesBackendTest {
-
- private static final String ZEN_RULE_ID = "rule";
- private static final AutomaticZenRule ZEN_RULE =
- new AutomaticZenRule.Builder("Driving", Uri.parse("drive"))
- .setType(AutomaticZenRule.TYPE_DRIVING)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
- .build();
-
- private static final AutomaticZenRule MANUAL_DND_RULE =
- new AutomaticZenRule.Builder("Do Not Disturb", Uri.EMPTY)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
- .build();
-
- @Mock
- private NotificationManager mNm;
-
- private Context mContext;
- private ZenModesBackend mBackend;
-
- @Rule
- public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(
- SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT);
-
- // Helper methods to add active/inactive rule state to a config. Returns a copy.
- private ZenModeConfig configWithManualRule(ZenModeConfig base, boolean active) {
- ZenModeConfig out = base.copy();
-
- if (active) {
- out.manualRule.zenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS;
- out.manualRule.condition =
- new Condition(out.manualRule.conditionId, "", STATE_TRUE, SOURCE_UNKNOWN);
- } else {
- out.manualRule.zenMode = ZEN_MODE_OFF;
- out.manualRule.condition =
- new Condition(out.manualRule.conditionId, "", STATE_FALSE, SOURCE_UNKNOWN);
- }
- return out;
- }
-
- private ZenModeConfig configWithRule(ZenModeConfig base, String ruleId, AutomaticZenRule rule,
- boolean active) {
- ZenModeConfig out = base.copy();
-
- // Note that there are many other fields of zenRule, but here we only set the ones
- // relevant to determining whether or not it is active.
- ZenModeConfig.ZenRule zenRule = new ZenModeConfig.ZenRule();
- zenRule.pkg = "package";
- zenRule.enabled = active;
- zenRule.snoozing = false;
- zenRule.condition = new Condition(rule.getConditionId(), "",
- active ? Condition.STATE_TRUE : Condition.STATE_FALSE,
- Condition.SOURCE_USER_ACTION);
- out.automaticRules.put(ruleId, zenRule);
-
- return out;
- }
-
- @Before
- public void setup() {
- MockitoAnnotations.initMocks(this);
- ShadowApplication shadowApplication = ShadowApplication.getInstance();
- shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
-
- mContext = RuntimeEnvironment.application;
- mBackend = new ZenModesBackend(mContext);
-
- // Default catch-all case with no data. This isn't realistic, but tests below that rely
- // on the config to get data on rules active will create those individually.
- when(mNm.getZenModeConfig()).thenReturn(new ZenModeConfig());
- }
-
- @Test
- public void getModes_containsManualDndAndZenRules() {
- AutomaticZenRule rule2 = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().disallowAllSounds().build())
- .build();
- Policy dndPolicy = new Policy(Policy.PRIORITY_CATEGORY_ALARMS,
- Policy.PRIORITY_SENDERS_CONTACTS, Policy.PRIORITY_SENDERS_CONTACTS);
- when(mNm.getAutomaticZenRules()).thenReturn(
- ImmutableMap.of("rule1", ZEN_RULE, "rule2", rule2));
- ZenModeConfig config = new ZenModeConfig();
- config.applyNotificationPolicy(dndPolicy);
- assertThat(config.manualRule.zenPolicy.getPriorityCategoryAlarms()).isEqualTo(STATE_ALLOW);
- when(mNm.getZenModeConfig()).thenReturn(config);
-
- List<ZenMode> modes = mBackend.getModes();
-
- // all modes exist, but none of them are currently active
- assertThat(modes).containsExactly(
- ZenMode.manualDndMode(
- new AutomaticZenRule.Builder(
- mContext.getString(R.string.zen_mode_settings_title), Uri.EMPTY)
- .setType(AutomaticZenRule.TYPE_OTHER)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(ZenAdapters.notificationPolicyToZenPolicy(dndPolicy))
- .setManualInvocationAllowed(true)
- .build(),
- false),
- new ZenMode("rule2", rule2, false),
- new ZenMode("rule1", ZEN_RULE, false))
- .inOrder();
- }
-
- @Test
- public void getMode_manualDnd_returnsMode() {
- Policy dndPolicy = new Policy(Policy.PRIORITY_CATEGORY_ALARMS,
- Policy.PRIORITY_SENDERS_CONTACTS, Policy.PRIORITY_SENDERS_CONTACTS);
- ZenModeConfig config = new ZenModeConfig();
- config.applyNotificationPolicy(dndPolicy);
- when(mNm.getZenModeConfig()).thenReturn(config);
-
- ZenMode mode = mBackend.getMode(ZenMode.MANUAL_DND_MODE_ID);
-
- assertThat(mode).isEqualTo(
- ZenMode.manualDndMode(
- new AutomaticZenRule.Builder(
- mContext.getString(R.string.zen_mode_settings_title), Uri.EMPTY)
- .setType(AutomaticZenRule.TYPE_OTHER)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(ZenAdapters.notificationPolicyToZenPolicy(dndPolicy))
- .setManualInvocationAllowed(true)
- .build(), false));
- }
-
- @Test
- public void getMode_zenRule_returnsMode() {
- when(mNm.getAutomaticZenRule(eq(ZEN_RULE_ID))).thenReturn(ZEN_RULE);
-
- ZenMode mode = mBackend.getMode(ZEN_RULE_ID);
-
- assertThat(mode).isEqualTo(new ZenMode(ZEN_RULE_ID, ZEN_RULE, false));
- }
-
- @Test
- public void getMode_missingRule_returnsNull() {
- when(mNm.getAutomaticZenRule(any())).thenReturn(null);
-
- ZenMode mode = mBackend.getMode(ZEN_RULE_ID);
-
- assertThat(mode).isNull();
- verify(mNm).getAutomaticZenRule(eq(ZEN_RULE_ID));
- }
-
- @Test
- public void getMode_manualDnd_returnsCorrectActiveState() {
- // Set up a base config with an active rule to make sure we're looking at the correct info
- ZenModeConfig configWithActiveRule = configWithRule(new ZenModeConfig(), ZEN_RULE_ID,
- ZEN_RULE, true);
-
- // Equivalent to disallowAllSounds()
- Policy dndPolicy = new Policy(0, 0, 0);
- configWithActiveRule.applyNotificationPolicy(dndPolicy);
- when(mNm.getZenModeConfig()).thenReturn(configWithActiveRule);
-
- ZenMode mode = mBackend.getMode(ZenMode.MANUAL_DND_MODE_ID);
-
- // By default, manual rule is inactive
- assertThat(mode.isActive()).isFalse();
-
- // Now the returned config will represent the manual rule being active
- when(mNm.getZenModeConfig()).thenReturn(configWithManualRule(configWithActiveRule, true));
- ZenMode activeMode = mBackend.getMode(ZenMode.MANUAL_DND_MODE_ID);
- assertThat(activeMode.isActive()).isTrue();
- }
-
- @Test
- public void getMode_zenRule_returnsCorrectActiveState() {
- // Set up a base config that has an active manual rule and "rule2", to make sure we're
- // looking at the correct rule's info.
- ZenModeConfig configWithActiveRules = configWithRule(
- configWithManualRule(new ZenModeConfig(), true), // active manual rule
- "rule2", ZEN_RULE, true); // active rule 2
-
- when(mNm.getAutomaticZenRule(eq(ZEN_RULE_ID))).thenReturn(ZEN_RULE);
- when(mNm.getZenModeConfig()).thenReturn(
- configWithRule(configWithActiveRules, ZEN_RULE_ID, ZEN_RULE, false));
-
- // Round 1: the current config should indicate that the rule is not active
- ZenMode mode = mBackend.getMode(ZEN_RULE_ID);
- assertThat(mode.isActive()).isFalse();
-
- when(mNm.getZenModeConfig()).thenReturn(
- configWithRule(configWithActiveRules, ZEN_RULE_ID, ZEN_RULE, true));
- ZenMode activeMode = mBackend.getMode(ZEN_RULE_ID);
- assertThat(activeMode.isActive()).isTrue();
- }
-
- @Test
- public void updateMode_manualDnd_setsDeviceEffects() throws Exception {
- ZenMode manualDnd = ZenMode.manualDndMode(
- new AutomaticZenRule.Builder("DND", Uri.EMPTY)
- .setZenPolicy(new ZenPolicy())
- .setDeviceEffects(new ZenDeviceEffects.Builder()
- .setShouldDimWallpaper(true)
- .build())
- .build(), false);
-
- mBackend.updateMode(manualDnd);
-
- verify(mNm).setManualZenRuleDeviceEffects(new ZenDeviceEffects.Builder()
- .setShouldDimWallpaper(true)
- .build());
- }
-
- @Test
- public void updateMode_manualDnd_setsNotificationPolicy() {
- ZenMode manualDnd = ZenMode.manualDndMode(
- new AutomaticZenRule.Builder("DND", Uri.EMPTY)
- .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
- .build(), false);
-
- mBackend.updateMode(manualDnd);
-
- verify(mNm).setNotificationPolicy(eq(new ZenModeConfig().toNotificationPolicy(
- new ZenPolicy.Builder().allowAllSounds().build())), eq(true));
- }
-
- @Test
- public void updateMode_zenRule_updatesRule() {
- ZenMode ruleMode = new ZenMode("rule", ZEN_RULE, false);
-
- mBackend.updateMode(ruleMode);
-
- verify(mNm).updateAutomaticZenRule(eq("rule"), eq(ZEN_RULE), eq(true));
- }
-
- @Test
- public void activateMode_manualDnd_setsZenModeImportant() {
- mBackend.activateMode(ZenMode.manualDndMode(MANUAL_DND_RULE, false), null);
-
- verify(mNm).setZenMode(eq(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS), eq(null),
- any(), eq(true));
- }
-
- @Test
- public void activateMode_manualDndWithDuration_setsZenModeImportantWithCondition() {
- mBackend.activateMode(ZenMode.manualDndMode(MANUAL_DND_RULE, false),
- Duration.ofMinutes(30));
-
- verify(mNm).setZenMode(eq(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS),
- eq(ZenModeConfig.toTimeCondition(mContext, 30, 0, true).id),
- any(),
- eq(true));
- }
-
- @Test
- public void activateMode_zenRule_setsRuleStateActive() {
- mBackend.activateMode(new ZenMode(ZEN_RULE_ID, ZEN_RULE, false), null);
-
- verify(mNm).setAutomaticZenRuleState(eq(ZEN_RULE_ID),
- eq(new Condition(ZEN_RULE.getConditionId(), "", Condition.STATE_TRUE,
- Condition.SOURCE_USER_ACTION)));
- }
-
- @Test
- public void activateMode_zenRuleWithDuration_fails() {
- assertThrows(IllegalArgumentException.class,
- () -> mBackend.activateMode(new ZenMode(ZEN_RULE_ID, ZEN_RULE, false),
- Duration.ofMinutes(30)));
- }
-
- @Test
- public void deactivateMode_manualDnd_setsZenModeOff() {
- mBackend.deactivateMode(ZenMode.manualDndMode(MANUAL_DND_RULE, true));
-
- verify(mNm).setZenMode(eq(ZEN_MODE_OFF), eq(null), any(), eq(true));
- }
-
- @Test
- public void deactivateMode_zenRule_setsRuleStateInactive() {
- mBackend.deactivateMode(new ZenMode(ZEN_RULE_ID, ZEN_RULE, false));
-
- verify(mNm).setAutomaticZenRuleState(eq(ZEN_RULE_ID),
- eq(new Condition(ZEN_RULE.getConditionId(), "", Condition.STATE_FALSE,
- Condition.SOURCE_USER_ACTION)));
- }
-
- @Test
- public void removeMode_zenRule_deletesRule() {
- mBackend.removeMode(new ZenMode(ZEN_RULE_ID, ZEN_RULE, false));
-
- verify(mNm).removeAutomaticZenRule(ZEN_RULE_ID, true);
- }
-
- @Test
- public void removeMode_manualDnd_fails() {
- assertThrows(IllegalArgumentException.class,
- () -> mBackend.removeMode(ZenMode.manualDndMode(MANUAL_DND_RULE, false)));
- }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModesListAddModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModesListAddModePreferenceControllerTest.java
new file mode 100644
index 0000000..fe530c1
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModesListAddModePreferenceControllerTest.java
@@ -0,0 +1,225 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import static android.app.NotificationManager.META_DATA_AUTOMATIC_RULE_TYPE;
+import static android.app.NotificationManager.META_DATA_RULE_INSTANCE_LIMIT;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.pm.ActivityInfo;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.ComponentInfo;
+import android.content.pm.PackageManager;
+import android.graphics.drawable.ColorDrawable;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+
+import com.android.settings.notification.modes.ZenModesListAddModePreferenceController.ModeType;
+
+import com.google.common.collect.ImmutableSet;
+import com.google.common.util.concurrent.MoreExecutors;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.stubbing.Answer;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+import java.util.List;
+import java.util.function.Function;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModesListAddModePreferenceControllerTest {
+
+ private Context mContext;
+ private ZenModesListAddModePreferenceController mController;
+
+ @Mock private ZenModesListAddModePreferenceController.OnAddModeListener mListener;
+ @Mock private ZenServiceListing mZenServiceListing;
+ @Mock private ConfigurationActivityHelper mConfigurationActivityHelper;
+ @Mock private NotificationManager mNm;
+ @Mock private PackageManager mPm;
+
+ @Captor private ArgumentCaptor<List<ModeType>> mListenerCaptor;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ mContext = RuntimeEnvironment.getApplication();
+ Function<ApplicationInfo, Drawable> appIconRetriever = appInfo -> new ColorDrawable();
+
+ mController = new ZenModesListAddModePreferenceController(mContext, mListener,
+ mZenServiceListing, mConfigurationActivityHelper, mNm, mPm, appIconRetriever,
+ MoreExecutors.newDirectExecutorService(), MoreExecutors.directExecutor());
+
+ when(mConfigurationActivityHelper.getConfigurationActivityFromApprovedComponent(any()))
+ .thenAnswer((Answer<ComponentName>) invocationOnMock -> {
+ // By default, assume the ComponentInfo is also the configurationActivity.
+ ComponentInfo ci = invocationOnMock.getArgument(0);
+ return ci != null ? ci.getComponentName() : null;
+ });
+ }
+
+ @Test
+ public void onClickAddMode_noAppProviders_onlyOptionIsCustom() {
+ when(mZenServiceListing.loadApprovedComponents()).thenReturn(ImmutableSet.of());
+
+ mController.onClickAddMode();
+
+ verify(mListener).onAvailableModeTypesForAdd(mListenerCaptor.capture());
+ List<ModeType> options = mListenerCaptor.getValue();
+ assertThat(options).hasSize(1);
+ assertThat(options.get(0).name()).isEqualTo("Custom");
+ assertThat(options.get(0).summary()).isNull();
+ assertThat(options.get(0).icon()).isNotNull();
+ assertThat(options.get(0).creationActivityIntent()).isNull();
+ }
+
+ @Test
+ public void onClickAddMode_someAppProviders_includedInOptions() {
+ ImmutableSet<ComponentInfo> approvedComponents = ImmutableSet.of(
+ newComponentInfoWithValidMetadata("pkg1"),
+ newComponentInfoWithValidMetadata("pkg2"));
+ when(mZenServiceListing.loadApprovedComponents()).thenReturn(approvedComponents);
+
+ mController.onClickAddMode();
+
+ verify(mListener).onAvailableModeTypesForAdd(mListenerCaptor.capture());
+ List<ModeType> options = mListenerCaptor.getValue();
+ assertThat(options).hasSize(3);
+
+ assertThat(options.get(1).name()).isEqualTo("Rule by pkg1");
+ assertThat(options.get(1).summary()).isEqualTo("A package called pkg1");
+ assertThat(options.get(1).icon()).isNotNull();
+ assertThat(options.get(1).creationActivityIntent()).isNotNull();
+ assertThat(options.get(1).creationActivityIntent().getComponent()).isEqualTo(
+ new ComponentName("pkg1", "pkg1.activity"));
+
+ assertThat(options.get(0).name()).isEqualTo("Custom");
+ assertThat(options.get(2).name()).isEqualTo("Rule by pkg2");
+ }
+
+ @Test
+ public void onClickAddMode_someAppProviders_optionsAreSorted() {
+ ImmutableSet<ComponentInfo> approvedComponents = ImmutableSet.of(
+ newComponentInfoWithValidMetadata("pkg_Z"),
+ newComponentInfoWithValidMetadata("pkg_A"),
+ newComponentInfoWithValidMetadata("pkg_F"),
+ newComponentInfoWithValidMetadata("pkg_C"));
+ when(mZenServiceListing.loadApprovedComponents()).thenReturn(approvedComponents);
+
+ mController.onClickAddMode();
+
+ verify(mListener).onAvailableModeTypesForAdd(mListenerCaptor.capture());
+ List<ModeType> options = mListenerCaptor.getValue();
+ assertThat(options).hasSize(5);
+ assertThat(options.stream().map(o -> o.name()).toList())
+ .containsExactly("Custom", "Rule by pkg_A", "Rule by pkg_C", "Rule by pkg_F",
+ "Rule by pkg_Z")
+ .inOrder();
+ }
+
+ @Test
+ public void onClickAddMode_appProviderWithMissingMetadata_notAnOption() {
+ ComponentInfo componentWithoutRuleType = newComponentInfoWithValidMetadata("pkg1");
+ componentWithoutRuleType.metaData.remove(META_DATA_AUTOMATIC_RULE_TYPE);
+ ImmutableSet<ComponentInfo> approvedComponents = ImmutableSet.of(
+ componentWithoutRuleType, newComponentInfoWithValidMetadata("pkg2"));
+ when(mZenServiceListing.loadApprovedComponents()).thenReturn(approvedComponents);
+
+ mController.onClickAddMode();
+
+ verify(mListener).onAvailableModeTypesForAdd(mListenerCaptor.capture());
+ List<ModeType> options = mListenerCaptor.getValue();
+ assertThat(options).hasSize(2);
+ assertThat(options.get(0).name()).isEqualTo("Custom");
+ assertThat(options.get(1).name()).isEqualTo("Rule by pkg2");
+ }
+
+ @Test
+ public void onClickAddMode_appProviderWithRuleLimitExceeded_notAnOption() {
+ ComponentInfo componentWithLimitThreeRules = newComponentInfoWithValidMetadata("pkg1");
+ componentWithLimitThreeRules.metaData.putInt(META_DATA_RULE_INSTANCE_LIMIT, 3);
+ ImmutableSet<ComponentInfo> approvedComponents = ImmutableSet.of(
+ componentWithLimitThreeRules, newComponentInfoWithValidMetadata("pkg2"));
+ when(mZenServiceListing.loadApprovedComponents()).thenReturn(approvedComponents);
+ when(mNm.getRuleInstanceCount(any())).thenReturn(3); // Already 3 created rules.
+
+ mController.onClickAddMode();
+
+ verify(mListener).onAvailableModeTypesForAdd(mListenerCaptor.capture());
+ List<ModeType> options = mListenerCaptor.getValue();
+ assertThat(options).hasSize(2);
+ assertThat(options.get(0).name()).isEqualTo("Custom");
+ assertThat(options.get(1).name()).isEqualTo("Rule by pkg2");
+ verify(mNm).getRuleInstanceCount(eq(componentWithLimitThreeRules.getComponentName()));
+ }
+
+ @Test
+ public void onClickAddMode_appProviderWithoutConfigurationActivity_notAnOption() {
+ ComponentInfo componentWithoutConfigActivity = newComponentInfoWithValidMetadata("pkg2");
+ ImmutableSet<ComponentInfo> approvedComponents = ImmutableSet.of(
+ newComponentInfoWithValidMetadata("pkg1"), componentWithoutConfigActivity);
+ when(mZenServiceListing.loadApprovedComponents()).thenReturn(approvedComponents);
+ when(mConfigurationActivityHelper.getConfigurationActivityFromApprovedComponent(any()))
+ .thenAnswer((Answer<ComponentName>) invocationOnMock -> {
+ ComponentInfo ci = invocationOnMock.getArgument(0);
+ if (ci == componentWithoutConfigActivity) {
+ return null;
+ } else {
+ return ci.getComponentName();
+ }
+ });
+
+ mController.onClickAddMode();
+
+ verify(mListener).onAvailableModeTypesForAdd(mListenerCaptor.capture());
+ List<ModeType> options = mListenerCaptor.getValue();
+ assertThat(options).hasSize(2);
+ assertThat(options.get(0).name()).isEqualTo("Custom");
+ assertThat(options.get(1).name()).isEqualTo("Rule by pkg1");
+ }
+
+ private ComponentInfo newComponentInfoWithValidMetadata(String pkg) {
+ ComponentInfo ci = new ActivityInfo();
+
+ ci.applicationInfo = mock(ApplicationInfo.class);
+ when(ci.applicationInfo.loadLabel(any())).thenReturn("A package called " + pkg);
+ when(ci.applicationInfo.loadUnbadgedIcon(any())).thenReturn(new ColorDrawable());
+ ci.packageName = pkg;
+ ci.name = pkg + ".activity";
+ ci.metaData = new Bundle();
+ ci.metaData.putString(META_DATA_AUTOMATIC_RULE_TYPE, "Rule by " + pkg);
+
+ return ci;
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModesListFragmentTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModesListFragmentTest.java
new file mode 100644
index 0000000..4703b8e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModesListFragmentTest.java
@@ -0,0 +1,162 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import static android.provider.Settings.EXTRA_AUTOMATIC_ZEN_RULE_ID;
+
+import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT;
+import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS;
+import static com.android.settings.notification.modes.ZenModesListFragment.REQUEST_NEW_MODE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.when;
+import static org.robolectric.Shadows.shadowOf;
+
+import android.content.ComponentName;
+import android.content.Intent;
+import android.graphics.drawable.ColorDrawable;
+import android.os.Bundle;
+
+import androidx.fragment.app.FragmentActivity;
+import androidx.fragment.app.testing.EmptyFragmentActivity;
+import androidx.test.ext.junit.rules.ActivityScenarioRule;
+
+import com.android.settings.notification.modes.ZenModesListAddModePreferenceController.ModeType;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
+
+import com.google.common.collect.ImmutableList;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.shadows.ShadowActivity.IntentForResult;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModesListFragmentTest {
+
+ private static final ModeType APP_PROVIDED_MODE_TYPE = new ModeType("Mode", new ColorDrawable(),
+ "Details", new Intent().setComponent(new ComponentName("pkg", "configActivity")));
+
+ private static final ModeType CUSTOM_MANUAL_TYPE = new ModeType("Custom", new ColorDrawable(),
+ null, null); // null creationActivityIntent means custom_manual.
+
+ private static final ImmutableList<ZenMode> EXISTING_MODES = ImmutableList.of(
+ new TestModeBuilder().setId("A").build(),
+ new TestModeBuilder().setId("B").build(),
+ new TestModeBuilder().setId("C").build());
+
+ @Rule
+ public ActivityScenarioRule<EmptyFragmentActivity> mActivityScenario =
+ new ActivityScenarioRule<>(EmptyFragmentActivity.class);
+
+ private FragmentActivity mActivity;
+ private ZenModesListFragment mFragment;
+ @Mock private ZenModesBackend mBackend;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ mFragment = new ZenModesListFragment();
+ mActivityScenario.getScenario().onActivity(activity -> {
+ activity.getSupportFragmentManager().beginTransaction()
+ .add(mFragment, "tag").commitNow();
+ mActivity = activity;
+ });
+
+ mFragment.setBackend(mBackend); // after onAttach()
+ }
+
+ @Test
+ public void onChosenModeTypeForAdd_appProvidedMode_startsCreationActivity() {
+ when(mBackend.getModes()).thenReturn(EXISTING_MODES);
+
+ mFragment.onChosenModeTypeForAdd(APP_PROVIDED_MODE_TYPE);
+
+ IntentForResult intent = shadowOf(mActivity).getNextStartedActivityForResult();
+ assertThat(intent).isNotNull();
+ assertThat(intent.intent).isEqualTo(APP_PROVIDED_MODE_TYPE.creationActivityIntent());
+ }
+
+ @Test
+ public void onChosenModeTypeForAdd_customManualMode_startsNameAndIconPicker() {
+ mFragment.onChosenModeTypeForAdd(CUSTOM_MANUAL_TYPE);
+
+ Intent nextIntent = shadowOf(mActivity).getNextStartedActivity();
+ assertThat(nextIntent).isNotNull();
+ assertThat(nextIntent.getStringExtra(EXTRA_SHOW_FRAGMENT))
+ .isEqualTo(ZenModeNewCustomFragment.class.getName());
+ }
+
+ @Test
+ public void onActivityResult_modeWasCreated_opensIt() {
+ when(mBackend.getModes()).thenReturn(EXISTING_MODES);
+ mFragment.onChosenModeTypeForAdd(APP_PROVIDED_MODE_TYPE);
+
+ // App creates the new mode.
+ ZenMode createdMode = new TestModeBuilder().setId("new_id").setPackage("pkg").build();
+ when(mBackend.getModes()).thenReturn(new ImmutableList.Builder<ZenMode>()
+ .addAll(EXISTING_MODES)
+ .add(createdMode)
+ .build());
+ mFragment.onActivityResult(REQUEST_NEW_MODE, 0, new Intent());
+
+ Intent openModePageIntent = shadowOf(mActivity).getNextStartedActivity();
+ assertThat(openModePageIntent.getStringExtra(EXTRA_SHOW_FRAGMENT))
+ .isEqualTo(ZenModeFragment.class.getName());
+ Bundle fragmentArgs = openModePageIntent.getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS);
+ assertThat(fragmentArgs).isNotNull();
+ assertThat(fragmentArgs.getString(EXTRA_AUTOMATIC_ZEN_RULE_ID)).isEqualTo("new_id");
+ }
+
+ @Test
+ public void onActivityResult_secondTime_doesNothing() {
+ when(mBackend.getModes()).thenReturn(EXISTING_MODES);
+ mFragment.onChosenModeTypeForAdd(APP_PROVIDED_MODE_TYPE);
+ // App creates a new mode, we redirect to its page when coming back.
+ ZenMode createdMode = new TestModeBuilder().setId("new_id").setPackage("pkg").build();
+ when(mBackend.getModes()).thenReturn(new ImmutableList.Builder<ZenMode>()
+ .addAll(EXISTING_MODES)
+ .add(createdMode)
+ .build());
+ mFragment.onActivityResult(REQUEST_NEW_MODE, 0, new Intent());
+ shadowOf(mActivity).clearNextStartedActivities();
+
+ mFragment.onActivityResult(REQUEST_NEW_MODE, 0, new Intent());
+
+ Intent nextIntent = shadowOf(mActivity).getNextStartedActivity();
+ assertThat(nextIntent).isNull();
+ }
+
+ @Test
+ public void onActivityResult_modeWasNotCreated_doesNothing() {
+ when(mBackend.getModes()).thenReturn(EXISTING_MODES);
+ mFragment.onChosenModeTypeForAdd(APP_PROVIDED_MODE_TYPE);
+ shadowOf(mActivity).clearNextStartedActivities();
+
+ // Returning to settings without creating a new mode.
+ mFragment.onActivityResult(REQUEST_NEW_MODE, 0, new Intent());
+
+ Intent nextIntent = shadowOf(mActivity).getNextStartedActivity();
+ assertThat(nextIntent).isNull();
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModesListItemPreferenceTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModesListItemPreferenceTest.java
new file mode 100644
index 0000000..aaf7059
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModesListItemPreferenceTest.java
@@ -0,0 +1,126 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.notification.modes;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.service.notification.ZenModeConfig;
+
+import com.android.settingslib.notification.modes.ZenMode;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowLooper;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModesListItemPreferenceTest {
+
+ private Context mContext;
+
+ @Before
+ public void setup() {
+ MockitoAnnotations.initMocks(this);
+ mContext = RuntimeEnvironment.application;
+ }
+
+ @Test
+ public void constructor_setsMode() {
+ ZenModesListItemPreference preference = new ZenModesListItemPreference(mContext,
+ TestModeBuilder.EXAMPLE);
+
+ assertThat(preference.getKey()).isEqualTo(TestModeBuilder.EXAMPLE.getId());
+ assertThat(preference.getZenMode()).isEqualTo(TestModeBuilder.EXAMPLE);
+ }
+
+ @Test
+ public void setZenMode_modeEnabled() {
+ ZenMode mode = new TestModeBuilder()
+ .setName("Enabled mode")
+ .setTriggerDescription("When the thrush knocks")
+ .setEnabled(true)
+ .build();
+
+ ZenModesListItemPreference preference = new ZenModesListItemPreference(mContext, mode);
+ ShadowLooper.idleMainLooper(); // To load icon.
+
+ assertThat(preference.getTitle()).isEqualTo("Enabled mode");
+ assertThat(preference.getSummary()).isEqualTo("When the thrush knocks");
+ assertThat(preference.getIcon()).isNotNull();
+ }
+
+ @Test
+ public void setZenMode_modeActive() {
+ ZenMode mode = new TestModeBuilder()
+ .setName("Active mode")
+ .setTriggerDescription("When Birnam forest comes to Dunsinane")
+ .setEnabled(true)
+ .setActive(true)
+ .build();
+
+ ZenModesListItemPreference preference = new ZenModesListItemPreference(mContext, mode);
+ ShadowLooper.idleMainLooper();
+
+ assertThat(preference.getTitle()).isEqualTo("Active mode");
+ assertThat(preference.getSummary()).isEqualTo("ON • When Birnam forest comes to Dunsinane");
+ assertThat(preference.getIcon()).isNotNull();
+ }
+
+ @Test
+ public void setZenMode_modeDisabledByApp() {
+ ZenModeConfig.ZenRule configRule = new ZenModeConfig.ZenRule();
+ configRule.enabled = false;
+ configRule.disabledOrigin = ZenModeConfig.UPDATE_ORIGIN_APP;
+ ZenMode mode = new TestModeBuilder()
+ .setName("Mode disabled by app")
+ .setTriggerDescription("When the cat's away")
+ .setEnabled(false)
+ .setConfigZenRule(configRule)
+ .build();
+
+ ZenModesListItemPreference preference = new ZenModesListItemPreference(mContext, mode);
+ ShadowLooper.idleMainLooper();
+
+ assertThat(preference.getTitle()).isEqualTo("Mode disabled by app");
+ assertThat(preference.getSummary()).isEqualTo("Not set");
+ assertThat(preference.getIcon()).isNotNull();
+ }
+
+ @Test
+ public void setZenMode_modeDisabledByUser() {
+ ZenModeConfig.ZenRule configRule = new ZenModeConfig.ZenRule();
+ configRule.enabled = false;
+ configRule.disabledOrigin = ZenModeConfig.UPDATE_ORIGIN_USER;
+ ZenMode mode = new TestModeBuilder()
+ .setName("Mode disabled by user")
+ .setTriggerDescription("When the Levee Breaks")
+ .setEnabled(false)
+ .setConfigZenRule(configRule)
+ .build();
+
+ ZenModesListItemPreference preference = new ZenModesListItemPreference(mContext, mode);
+ ShadowLooper.idleMainLooper();
+
+ assertThat(preference.getTitle()).isEqualTo("Mode disabled by user");
+ assertThat(preference.getSummary()).isEqualTo("Disabled");
+ assertThat(preference.getIcon()).isNotNull();
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModesListPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModesListPreferenceControllerTest.java
index 9a4de60..c0f96be 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModesListPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModesListPreferenceControllerTest.java
@@ -37,6 +37,8 @@
import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen;
+import com.android.settingslib.notification.modes.ZenMode;
+import com.android.settingslib.notification.modes.ZenModesBackend;
import com.android.settingslib.search.SearchIndexableRaw;
import com.google.common.collect.ImmutableList;
@@ -58,14 +60,15 @@
public class ZenModesListPreferenceControllerTest {
private static final String TEST_MODE_ID = "test_mode";
private static final String TEST_MODE_NAME = "Test Mode";
- private static final ZenMode TEST_MODE = new ZenMode(
- TEST_MODE_ID,
- new AutomaticZenRule.Builder(TEST_MODE_NAME, Uri.parse("test_uri"))
+
+ private static final ZenMode TEST_MODE = new TestModeBuilder()
+ .setId(TEST_MODE_ID)
+ .setAzr(new AutomaticZenRule.Builder(TEST_MODE_NAME, Uri.parse("test_uri"))
.setType(AutomaticZenRule.TYPE_BEDTIME)
.setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
.setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
- .build(),
- false);
+ .build())
+ .build();
private static final ZenMode TEST_MANUAL_MODE = ZenMode.manualDndMode(
new AutomaticZenRule.Builder("Do Not Disturb", Uri.EMPTY)
@@ -96,7 +99,7 @@
PreferenceScreen preferenceScreen = preferenceManager.createPreferenceScreen(mContext);
preferenceScreen.addPreference(mPreference);
- mPrefController = new ZenModesListPreferenceController(mContext, null, mBackend);
+ mPrefController = new ZenModesListPreferenceController(mContext, mBackend);
}
@Test
@@ -110,14 +113,9 @@
assertThat(mPreference.getPreferenceCount()).isEqualTo(5);
List<ZenModesListItemPreference> itemPreferences = getModeListItems(mPreference);
- assertThat(itemPreferences.stream().map(pref -> pref.mZenMode).toList())
+ assertThat(itemPreferences.stream().map(ZenModesListItemPreference::getZenMode).toList())
.containsExactlyElementsIn(modes)
.inOrder();
-
- for (int i = 0; i < modes.size(); i++) {
- assertThat(((ZenModesListItemPreference) (mPreference.getPreference(i))).mZenMode)
- .isEqualTo(modes.get(i));
- }
}
@Test
@@ -138,7 +136,7 @@
mPrefController.updateState(mPreference);
List<ZenModesListItemPreference> newPreferences = getModeListItems(mPreference);
- assertThat(newPreferences.stream().map(pref -> pref.mZenMode).toList())
+ assertThat(newPreferences.stream().map(ZenModesListItemPreference::getZenMode).toList())
.containsExactlyElementsIn(updatedModes)
.inOrder();
@@ -194,7 +192,7 @@
assertThat(newData).hasSize(1);
SearchIndexableRaw newItem = newData.get(0);
- assertThat(newItem.key).isEqualTo(ZenMode.MANUAL_DND_MODE_ID);
+ assertThat(newItem.key).isEqualTo(TEST_MANUAL_MODE.getId());
assertThat(newItem.title).isEqualTo("Do Not Disturb"); // set above
}
@@ -209,7 +207,7 @@
// Should keep the order presented by getModes()
SearchIndexableRaw item0 = data.get(0);
- assertThat(item0.key).isEqualTo(ZenMode.MANUAL_DND_MODE_ID);
+ assertThat(item0.key).isEqualTo(TEST_MANUAL_MODE.getId());
assertThat(item0.title).isEqualTo("Do Not Disturb"); // set above
SearchIndexableRaw item1 = data.get(1);
@@ -218,13 +216,7 @@
}
private static ZenMode newMode(String id) {
- return new ZenMode(
- id,
- new AutomaticZenRule.Builder("Mode " + id, Uri.parse("test_uri"))
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder().allowAllSounds().build())
- .build(),
- false);
+ return new TestModeBuilder().setId(id).setName("Mode " + id).build();
}
/**
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModesSummaryHelperTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModesSummaryHelperTest.java
index 13ae4eb..308650f 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModesSummaryHelperTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModesSummaryHelperTest.java
@@ -16,7 +16,10 @@
package com.android.settings.notification.modes;
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
+import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
+import static android.provider.Settings.Global.ZEN_MODE_OFF;
+import static android.service.notification.Condition.SOURCE_UNKNOWN;
+import static android.service.notification.Condition.STATE_TRUE;
import static android.service.notification.ZenPolicy.CONVERSATION_SENDERS_ANYONE;
import static android.service.notification.ZenPolicy.PEOPLE_TYPE_ANYONE;
import static android.service.notification.ZenPolicy.PEOPLE_TYPE_CONTACTS;
@@ -25,13 +28,21 @@
import static com.google.common.truth.Truth.assertThat;
-import android.app.AutomaticZenRule;
+import android.app.Flags;
+import android.content.ComponentName;
import android.content.Context;
import android.net.Uri;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.service.notification.Condition;
import android.service.notification.ZenDeviceEffects;
+import android.service.notification.ZenModeConfig;
import android.service.notification.ZenPolicy;
+import com.android.settingslib.notification.modes.ZenMode;
+
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.MockitoAnnotations;
@@ -40,7 +51,6 @@
import java.util.LinkedHashSet;
import java.util.Set;
-
@RunWith(RobolectricTestRunner.class)
public class ZenModesSummaryHelperTest {
private Context mContext;
@@ -48,6 +58,10 @@
private ZenModeSummaryHelper mSummaryHelper;
+ @Rule
+ public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(
+ SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT);
+
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
@@ -58,50 +72,38 @@
@Test
public void getPeopleSummary_noOne() {
- AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ ZenMode zenMode = new TestModeBuilder()
.setZenPolicy(new ZenPolicy.Builder().disallowAllSounds().build())
.build();
- ZenMode zenMode = new ZenMode("id", rule, true);
assertThat(mSummaryHelper.getPeopleSummary(zenMode)).isEqualTo("No one can interrupt");
}
@Test
public void getPeopleSummary_some() {
- AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ ZenMode zenMode = new TestModeBuilder()
.setZenPolicy(new ZenPolicy.Builder().allowCalls(PEOPLE_TYPE_CONTACTS).build())
.build();
- ZenMode zenMode = new ZenMode("id", rule, true);
assertThat(mSummaryHelper.getPeopleSummary(zenMode)).isEqualTo("Some people can interrupt");
}
@Test
public void getPeopleSummary_all() {
- AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ ZenMode zenMode = new TestModeBuilder()
.setZenPolicy(new ZenPolicy.Builder().allowCalls(PEOPLE_TYPE_ANYONE).
allowConversations(CONVERSATION_SENDERS_ANYONE)
.allowMessages(PEOPLE_TYPE_ANYONE).build())
.build();
- ZenMode zenMode = new ZenMode("id", rule, true);
assertThat(mSummaryHelper.getPeopleSummary(zenMode)).isEqualTo("All people can interrupt");
}
@Test
public void getOtherSoundCategoriesSummary_single() {
- AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ ZenMode zenMode = new TestModeBuilder()
.setZenPolicy(new ZenPolicy.Builder().allowAlarms(true).build())
.build();
- ZenMode zenMode = new ZenMode("id", rule, true);
assertThat(mSummaryHelper.getOtherSoundCategoriesSummary(zenMode)).isEqualTo(
"Alarms can interrupt");
@@ -109,12 +111,9 @@
@Test
public void getOtherSoundCategoriesSummary_duo() {
- AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ ZenMode zenMode = new TestModeBuilder()
.setZenPolicy(new ZenPolicy.Builder().allowAlarms(true).allowMedia(true).build())
.build();
- ZenMode zenMode = new ZenMode("id", rule, true);
assertThat(mSummaryHelper.getOtherSoundCategoriesSummary(zenMode)).isEqualTo(
"Alarms and media can interrupt");
@@ -122,16 +121,13 @@
@Test
public void getOtherSoundCategoriesSummary_trio() {
- AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ ZenMode zenMode = new TestModeBuilder()
.setZenPolicy(new ZenPolicy.Builder()
.allowAlarms(true)
.allowMedia(true)
.allowSystem(true)
.build())
.build();
- ZenMode zenMode = new ZenMode("id", rule, true);
assertThat(mSummaryHelper.getOtherSoundCategoriesSummary(zenMode)).isEqualTo(
"Alarms, media, and touch sounds can interrupt");
@@ -139,9 +135,7 @@
@Test
public void getOtherSoundCategoriesSummary_quad() {
- AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ ZenMode zenMode = new TestModeBuilder()
.setZenPolicy(new ZenPolicy.Builder()
.allowAlarms(true)
.allowMedia(true)
@@ -149,7 +143,6 @@
.allowReminders(true)
.build())
.build();
- ZenMode zenMode = new ZenMode("id", rule, true);
assertThat(mSummaryHelper.getOtherSoundCategoriesSummary(zenMode)).isEqualTo(
"Alarms, media, and 2 more can interrupt");
@@ -157,9 +150,7 @@
@Test
public void getOtherSoundCategoriesSummary_all() {
- AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ ZenMode zenMode = new TestModeBuilder()
.setZenPolicy(new ZenPolicy.Builder()
.allowAlarms(true)
.allowMedia(true)
@@ -168,7 +159,6 @@
.allowEvents(true)
.build())
.build();
- ZenMode zenMode = new ZenMode("id", rule, true);
assertThat(mSummaryHelper.getOtherSoundCategoriesSummary(zenMode)).isEqualTo(
"Alarms, media, and 3 more can interrupt");
@@ -176,61 +166,52 @@
@Test
public void getBlockedEffectsSummary_none() {
- AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ ZenMode zenMode = new TestModeBuilder()
.setZenPolicy(new ZenPolicy.Builder()
.showAllVisualEffects()
.allowAlarms(true)
.build())
.build();
- ZenMode zenMode = new ZenMode("id", rule, true);
+
assertThat(mSummaryHelper.getBlockedEffectsSummary(zenMode))
.isEqualTo("Notifications shown");
}
@Test
public void getBlockedEffectsSummary_some() {
- AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ ZenMode zenMode = new TestModeBuilder()
.setZenPolicy(new ZenPolicy.Builder()
.allowAlarms(true)
.showAllVisualEffects()
.showVisualEffect(VISUAL_EFFECT_AMBIENT, false)
.build())
.build();
- ZenMode zenMode = new ZenMode("id", rule, true);
+
assertThat(mSummaryHelper.getBlockedEffectsSummary(zenMode))
.isEqualTo("Notifications partially hidden");
}
@Test
public void getBlockedEffectsSummary_all() {
- AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ ZenMode zenMode = new TestModeBuilder()
.setZenPolicy(new ZenPolicy.Builder()
.allowAlarms(true)
.hideAllVisualEffects()
.build())
.build();
- ZenMode zenMode = new ZenMode("id", rule, true);
+
assertThat(mSummaryHelper.getBlockedEffectsSummary(zenMode))
.isEqualTo("Notifications hidden");
}
@Test
public void getDisplayEffectsSummary_single_notifVis() {
- AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ ZenMode zenMode = new TestModeBuilder()
.setZenPolicy(new ZenPolicy.Builder()
.showAllVisualEffects()
.showVisualEffect(VISUAL_EFFECT_AMBIENT, false)
.build())
.build();
- ZenMode zenMode = new ZenMode("id", rule, true);
assertThat(mSummaryHelper.getDisplayEffectsSummary(zenMode)).isEqualTo(
"Notifications partially hidden");
@@ -238,15 +219,12 @@
@Test
public void getDisplayEffectsSummary_single_notifVis_unusedEffect() {
- AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ ZenMode zenMode = new TestModeBuilder()
.setZenPolicy(new ZenPolicy.Builder()
.showAllVisualEffects()
.showVisualEffect(VISUAL_EFFECT_LIGHTS, false)
.build())
.build();
- ZenMode zenMode = new ZenMode("id", rule, true);
assertThat(mSummaryHelper.getDisplayEffectsSummary(zenMode)).isEqualTo(
"Notifications shown");
@@ -254,15 +232,12 @@
@Test
public void getDisplayEffectsSummary_single_displayEffect() {
- AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ ZenMode zenMode = new TestModeBuilder()
.setZenPolicy(new ZenPolicy.Builder().showAllVisualEffects().build())
.setDeviceEffects(new ZenDeviceEffects.Builder()
.setShouldDimWallpaper(true)
.build())
.build();
- ZenMode zenMode = new ZenMode("id", rule, true);
assertThat(mSummaryHelper.getDisplayEffectsSummary(zenMode)).isEqualTo(
"Dim the wallpaper");
@@ -270,16 +245,13 @@
@Test
public void getDisplayEffectsSummary_duo() {
- AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ ZenMode zenMode = new TestModeBuilder()
.setZenPolicy(new ZenPolicy.Builder().showAllVisualEffects().build())
.setDeviceEffects(new ZenDeviceEffects.Builder()
.setShouldDimWallpaper(true)
.setShouldDisplayGrayscale(true)
.build())
.build();
- ZenMode zenMode = new ZenMode("id", rule, true);
assertThat(mSummaryHelper.getDisplayEffectsSummary(zenMode)).isEqualTo(
"Grayscale and dim the wallpaper");
@@ -287,9 +259,7 @@
@Test
public void getDisplayEffectsSummary_trio() {
- AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ ZenMode zenMode = new TestModeBuilder()
.setZenPolicy(new ZenPolicy.Builder()
.hideAllVisualEffects()
.allowAlarms(true)
@@ -301,7 +271,6 @@
.setShouldDimWallpaper(true)
.build())
.build();
- ZenMode zenMode = new ZenMode("id", rule, true);
assertThat(mSummaryHelper.getDisplayEffectsSummary(zenMode)).isEqualTo(
"Notifications hidden, grayscale, and dim the wallpaper");
@@ -309,9 +278,7 @@
@Test
public void getDisplayEffectsSummary_quad() {
- AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ ZenMode zenMode = new TestModeBuilder()
.setZenPolicy(new ZenPolicy.Builder()
.showAllVisualEffects()
.showVisualEffect(VISUAL_EFFECT_AMBIENT, false)
@@ -325,50 +292,29 @@
.setShouldUseNightMode(true)
.build())
.build();
- ZenMode zenMode = new ZenMode("id", rule, true);
assertThat(mSummaryHelper.getDisplayEffectsSummary(zenMode)).isEqualTo(
"Notifications partially hidden, grayscale, and 2 more");
}
@Test
- public void getAppsSummary_all() {
- AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
- .setZenPolicy(new ZenPolicy.Builder()
- .allowChannels(ZenMode.CHANNEL_POLICY_ALL)
- .build())
- .build();
- ZenMode zenMode = new ZenMode("id", rule, true);
-
- assertThat(mSummaryHelper.getAppsSummary(zenMode, new LinkedHashSet<>())).isEqualTo("All");
- }
-
- @Test
public void getAppsSummary_none() {
- AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ ZenMode zenMode = new TestModeBuilder()
.setZenPolicy(new ZenPolicy.Builder()
.allowChannels(ZenPolicy.CHANNEL_POLICY_NONE)
.build())
.build();
- ZenMode zenMode = new ZenMode("id", rule, true);
assertThat(mSummaryHelper.getAppsSummary(zenMode, new LinkedHashSet<>())).isEqualTo("None");
}
@Test
public void getAppsSummary_priorityAppsNoList() {
- AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ ZenMode zenMode = new TestModeBuilder()
.setZenPolicy(new ZenPolicy.Builder()
.allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY)
.build())
.build();
- ZenMode zenMode = new ZenMode("id", rule, true);
assertThat(mSummaryHelper.getAppsSummary(zenMode, null)).isEqualTo("Selected apps");
}
@@ -410,14 +356,11 @@
@Test
public void getAppsSummary_priorityApps() {
- AutomaticZenRule rule = new AutomaticZenRule.Builder("Bedtime", Uri.parse("bed"))
- .setType(AutomaticZenRule.TYPE_BEDTIME)
- .setInterruptionFilter(INTERRUPTION_FILTER_PRIORITY)
+ ZenMode zenMode = new TestModeBuilder()
.setZenPolicy(new ZenPolicy.Builder()
.allowChannels(ZenPolicy.CHANNEL_POLICY_PRIORITY)
.build())
.build();
- ZenMode zenMode = new ZenMode("id", rule, true);
Set<String> apps = Set.of("My App", "SecondApp", "ThirdApp", "FourthApp",
"FifthApp", "SixthApp");
@@ -425,4 +368,86 @@
+ "and 4 more can interrupt");
}
+ @Test
+ @EnableFlags(Flags.FLAG_MODES_UI)
+ public void getSoundSummary_off_noRules() {
+ ZenModeConfig config = new ZenModeConfig();
+
+ assertThat(mSummaryHelper.getSoundSummary(ZEN_MODE_OFF, config)).isEqualTo("Off");
+ }
+
+ @Test
+ @EnableFlags(Flags.FLAG_MODES_UI)
+ public void getSoundSummary_off_oneRule() {
+ ZenModeConfig config = new ZenModeConfig();
+ ZenModeConfig.ZenRule rule = new ZenModeConfig.ZenRule();
+ rule.enabled = true;
+ config.automaticRules.put("key", rule);
+
+ assertThat(mSummaryHelper.getSoundSummary(ZEN_MODE_OFF, config))
+ .isEqualTo("Off / 1 mode can turn on automatically");
+ }
+
+ @Test
+ @EnableFlags(Flags.FLAG_MODES_UI)
+ public void getSoundSummary_off_twoRules() {
+ ZenModeConfig config = new ZenModeConfig();
+ ZenModeConfig.ZenRule rule = new ZenModeConfig.ZenRule();
+ rule.enabled = true;
+ ZenModeConfig.ZenRule rule2 = new ZenModeConfig.ZenRule();
+ rule2.enabled = true;
+ config.automaticRules.put("key", rule);
+ config.automaticRules.put("key2", rule2);
+
+ assertThat(mSummaryHelper.getSoundSummary(ZEN_MODE_OFF, config))
+ .isEqualTo("Off / 2 modes can turn on automatically");
+ }
+
+ @Test
+ @EnableFlags(Flags.FLAG_MODES_UI)
+ public void getSoundSummary_on_noDescription() {
+ ZenModeConfig config = new ZenModeConfig();
+ config.manualRule.conditionId = Uri.EMPTY;
+ config.manualRule.pkg = "android";
+ config.manualRule.zenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS;
+ config.manualRule.condition = new Condition(Uri.EMPTY, "", STATE_TRUE, SOURCE_UNKNOWN);
+ assertThat(mSummaryHelper.getSoundSummary(ZEN_MODE_IMPORTANT_INTERRUPTIONS, config))
+ .isEqualTo("On");
+ }
+
+ @Test
+ @EnableFlags(Flags.FLAG_MODES_UI)
+ public void getSoundSummary_on_manualDescription() {
+ ZenModeConfig config = new ZenModeConfig();
+ config.manualRule.conditionId = ZenModeConfig.toCountdownConditionId(
+ System.currentTimeMillis() + 10000, false);
+ config.manualRule.pkg = "android";
+ config.manualRule.zenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS;
+ config.manualRule.condition = new Condition(Uri.EMPTY, "", STATE_TRUE, SOURCE_UNKNOWN);
+ assertThat(mSummaryHelper.getSoundSummary(ZEN_MODE_IMPORTANT_INTERRUPTIONS, config))
+ .startsWith("On /");
+ }
+
+ @Test
+ @EnableFlags(Flags.FLAG_MODES_UI)
+ public void getSoundSummary_on_automatic() {
+ ZenModeConfig config = new ZenModeConfig();
+ ZenModeConfig.ZenRule rule = new ZenModeConfig.ZenRule();
+ rule.configurationActivity = new ComponentName("a", "a");
+ rule.component = new ComponentName("b", "b");
+ rule.conditionId = new Uri.Builder().scheme("hello").build();
+ rule.condition = new Condition(rule.conditionId, "", STATE_TRUE);
+ rule.enabled = true;
+ rule.creationTime = 123;
+ rule.id = "id";
+ rule.zenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS;
+ rule.modified = true;
+ rule.name = "name";
+ rule.snoozing = false;
+ rule.pkg = "b";
+ config.automaticRules.put("key", rule);
+
+ assertThat(mSummaryHelper.getSoundSummary(ZEN_MODE_IMPORTANT_INTERRUPTIONS, config))
+ .startsWith("On /");
+ }
}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModePreferenceControllerTest.java
index f611c9b..8d551e5 100644
--- a/tests/robotests/src/com/android/settings/notification/zen/ZenModePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModePreferenceControllerTest.java
@@ -109,20 +109,4 @@
verify(mPreference, never()).setSummary(anyString());
}
-
- @Test
- @EnableFlags(Flags.FLAG_MODES_UI)
- public void updateState_modesUi_resetsTitleAndFragment() {
- mController.updateState(mPreference);
- verify(mPreference).setTitle(anyInt()); // Resource IDs are ints
- verify(mPreference).setFragment(ZenModesListFragment.class.getCanonicalName());
- }
-
- @Test
- @DisableFlags(Flags.FLAG_MODES_UI)
- public void updateState_noModesUi_doesNotSetTitleAndFragment() {
- mController.updateState(mPreference);
- verify(mPreference, never()).setTitle(anyInt());
- verify(mPreference, never()).setFragment(anyString());
- }
}
diff --git a/tests/robotests/src/com/android/settings/search/SearchFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/search/SearchFeatureProviderImplTest.java
index 8a7419b..599649b 100644
--- a/tests/robotests/src/com/android/settings/search/SearchFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/search/SearchFeatureProviderImplTest.java
@@ -124,8 +124,8 @@
}
@Test(expected = IllegalArgumentException.class)
- public void verifyLaunchSearchResultPageCaller_nullCaller_shouldCrash() {
- mProvider.verifyLaunchSearchResultPageCaller(mActivity, null /* caller */);
+ public void verifyLaunchSearchResultPageCaller_emptyCaller_shouldCrash() {
+ mProvider.verifyLaunchSearchResultPageCaller(mActivity, "");
}
@Test(expected = SecurityException.class)
diff --git a/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java b/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java
index e408cd0..b555f00 100644
--- a/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java
+++ b/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java
@@ -29,6 +29,7 @@
import android.text.TextUtils;
import com.android.settings.network.NetworkProviderSettings;
+import com.android.settings.spa.search.SearchablePage;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.FakeIndexProvider;
import com.android.settingslib.search.SearchIndexableData;
@@ -117,8 +118,10 @@
public void testAllClassNamesHaveProviders() {
for (SearchIndexableData data :
mSearchProvider.getSearchIndexableResources().getProviderValues()) {
- if (DatabaseIndexingUtils.getSearchIndexProvider(data.getTargetClass()) == null) {
- fail(data.getTargetClass().getName() + "is not an index provider");
+ Class<?> targetClass = data.getTargetClass();
+ if (DatabaseIndexingUtils.getSearchIndexProvider(targetClass) == null
+ && !SearchablePage.class.isAssignableFrom(targetClass)) {
+ fail(targetClass.getName() + " is not an index provider");
}
}
}
diff --git a/tests/robotests/src/com/android/settings/security/trustagent/TrustAgentsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/trustagent/TrustAgentsPreferenceControllerTest.java
index 8339798..766855c 100644
--- a/tests/robotests/src/com/android/settings/security/trustagent/TrustAgentsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/trustagent/TrustAgentsPreferenceControllerTest.java
@@ -21,14 +21,10 @@
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.Context;
-import android.content.Intent;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
-import android.content.pm.ServiceInfo;
+import android.content.IntentFilter;
+import android.content.pm.PackageInfo;
import android.service.trust.TrustAgentService;
-import android.text.TextUtils;
import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen;
@@ -38,34 +34,30 @@
import com.android.settings.testutils.shadow.ShadowRestrictedLockUtilsInternal;
import com.android.settingslib.RestrictedSwitchPreference;
-import org.junit.After;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.Shadows;
import org.robolectric.annotation.Config;
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
import org.robolectric.shadows.ShadowApplicationPackageManager;
-import java.util.ArrayList;
-import java.util.List;
-
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
ShadowLockPatternUtils.class,
ShadowRestrictedLockUtilsInternal.class,
- ShadowDevicePolicyManager.class,
- ShadowApplicationPackageManager.class,
- TrustAgentsPreferenceControllerTest.ShadowTrustAgentManager.class
+ ShadowDevicePolicyManager.class, ShadowApplicationPackageManager.class
})
public class TrustAgentsPreferenceControllerTest {
-
- private static final Intent TEST_INTENT =
- new Intent(TrustAgentService.SERVICE_INTERFACE);
+ private static final ComponentName TRUST_AGENT_A = new ComponentName(
+ "test.data.packageA", "clzAAA");
+ private static final ComponentName TRUST_AGENT_B = new ComponentName(
+ "test.data.packageB", "clzBBB");
+ private static final ComponentName TRUST_AGENT_C = new ComponentName(
+ "test.data.packageC", "clzCCC");
+ private static final ComponentName TRUST_AGENT_D = new ComponentName(
+ "test.data.packageD", "clzDDD");
private Context mContext;
private ShadowApplicationPackageManager mPackageManager;
@@ -84,11 +76,6 @@
mPreferenceScreen.setKey("pref_key");
}
- @After
- public void tearDown() {
- ShadowTrustAgentManager.clearPermissionGrantedList();
- }
-
@Test
public void getAvailabilityStatus_byDefault_shouldBeShown() {
assertThat(mController.getAvailabilityStatus())
@@ -97,8 +84,7 @@
@Test
public void onStart_noTrustAgent_shouldNotAddPreference() {
- final List<ResolveInfo> availableAgents = createFakeAvailableAgents();
- mPackageManager.setResolveInfosForIntent(TEST_INTENT, availableAgents);
+ installFakeAvailableAgents(/* grantPermission= */ false);
mController.displayPreference(mPreferenceScreen);
mController.onStart();
@@ -106,57 +92,34 @@
assertThat(mPreferenceScreen.getPreferenceCount()).isEqualTo(0);
}
- @Ignore("b/313612480")
@Test
- public void
- onStart_hasAUninstalledTrustAgent_shouldRemoveOnePreferenceAndLeaveTwoPreferences() {
- final List<ResolveInfo> availableAgents = createFakeAvailableAgents();
- final ResolveInfo uninstalledTrustAgent = availableAgents.get(0);
-
- for (ResolveInfo rInfo : availableAgents) {
- ShadowTrustAgentManager.grantPermissionToResolveInfo(rInfo);
- }
- mPackageManager.setResolveInfosForIntent(TEST_INTENT, availableAgents);
+ public void onStart_uninstalledTrustAgent_shouldRemoveOnePreferenceAndLeaveTwoPreferences() {
+ installFakeAvailableAgents(/* grantPermission= */ true);
mController.displayPreference(mPreferenceScreen);
mController.onStart();
- availableAgents.remove(uninstalledTrustAgent);
+ uninstallAgent(TRUST_AGENT_A);
- mPackageManager.setResolveInfosForIntent(TEST_INTENT, availableAgents);
mController.onStart();
assertThat(mPreferenceScreen.getPreferenceCount()).isEqualTo(2);
}
- @Ignore("b/313612480")
@Test
public void onStart_hasANewTrustAgent_shouldAddOnePreferenceAndHaveFourPreferences() {
- final List<ResolveInfo> availableAgents = createFakeAvailableAgents();
- final ComponentName newComponentName = new ComponentName("test.data.packageD", "clzDDD");
- final ResolveInfo newTrustAgent = createFakeResolveInfo(newComponentName);
- for (ResolveInfo rInfo : availableAgents) {
- ShadowTrustAgentManager.grantPermissionToResolveInfo(rInfo);
- }
- mPackageManager.setResolveInfosForIntent(TEST_INTENT, availableAgents);
+ installFakeAvailableAgents(/* grantPermission= */ true);
mController.displayPreference(mPreferenceScreen);
mController.onStart();
- availableAgents.add(newTrustAgent);
- ShadowTrustAgentManager.grantPermissionToResolveInfo(newTrustAgent);
+ installFakeAvailableAgent(TRUST_AGENT_D, /* grantPermission= */ true);
- mPackageManager.setResolveInfosForIntent(TEST_INTENT, availableAgents);
mController.onStart();
assertThat(mPreferenceScreen.getPreferenceCount()).isEqualTo(4);
}
- @Ignore("b/313612480")
@Test
public void onStart_hasUnrestrictedTrustAgent_shouldAddThreeChangeablePreferences() {
ShadowRestrictedLockUtilsInternal.setKeyguardDisabledFeatures(0);
- final List<ResolveInfo> availableAgents = createFakeAvailableAgents();
- for (ResolveInfo rInfo : availableAgents) {
- ShadowTrustAgentManager.grantPermissionToResolveInfo(rInfo);
- }
- mPackageManager.setResolveInfosForIntent(TEST_INTENT, availableAgents);
+ installFakeAvailableAgents(/* grantPermission= */ true);
mController.displayPreference(mPreferenceScreen);
mController.onStart();
@@ -169,14 +132,9 @@
}
}
- @Ignore("b/313612480")
@Test
- public void onStart_hasRestrictedTructAgent_shouldAddThreeUnchangeablePreferences() {
- final List<ResolveInfo> availableAgents = createFakeAvailableAgents();
- for (ResolveInfo rInfo : availableAgents) {
- ShadowTrustAgentManager.grantPermissionToResolveInfo(rInfo);
- }
- mPackageManager.setResolveInfosForIntent(TEST_INTENT, availableAgents);
+ public void onStart_hasRestrictedTrustAgent_shouldAddThreeUnchangeablePreferences() {
+ installFakeAvailableAgents(/* grantPermission= */ true);
ShadowRestrictedLockUtilsInternal.setKeyguardDisabledFeatures(
DevicePolicyManager.KEYGUARD_DISABLE_TRUST_AGENTS);
@@ -191,51 +149,30 @@
}
}
- private List<ResolveInfo> createFakeAvailableAgents() {
- final List<ComponentName> componentNames = new ArrayList<>();
- componentNames.add(new ComponentName("test.data.packageA", "clzAAA"));
- componentNames.add(new ComponentName("test.data.packageB", "clzBBB"));
- componentNames.add(new ComponentName("test.data.packageC", "clzCCC"));
- final List<ResolveInfo> result = new ArrayList<>();
- for (ComponentName cn : componentNames) {
- final ResolveInfo ri = createFakeResolveInfo(cn);
- result.add(ri);
- }
- return result;
+ private void installFakeAvailableAgents(boolean grantPermission) {
+ installFakeAvailableAgent(TRUST_AGENT_A, grantPermission);
+ installFakeAvailableAgent(TRUST_AGENT_B, grantPermission);
+ installFakeAvailableAgent(TRUST_AGENT_C, grantPermission);
}
- private ResolveInfo createFakeResolveInfo(ComponentName cn) {
- final ResolveInfo ri = new ResolveInfo();
- ri.serviceInfo = new ServiceInfo();
- ri.serviceInfo.packageName = cn.getPackageName();
- ri.serviceInfo.name = cn.getClassName();
- ri.serviceInfo.applicationInfo = new ApplicationInfo();
- ri.serviceInfo.applicationInfo.packageName = cn.getPackageName();
- ri.serviceInfo.applicationInfo.name = cn.getClassName();
- return ri;
+ private void installFakeAvailableAgent(ComponentName name,
+ boolean grantPermission) {
+ mPackageManager.addServiceIfNotPresent(name);
+ mPackageManager.addIntentFilterForService(name,
+ new IntentFilter(TrustAgentService.SERVICE_INTERFACE));
+ if (!grantPermission) {
+ return;
+ }
+ PackageInfo pkgInfo = mPackageManager.getInternalMutablePackageInfo(
+ name.getPackageName());
+ pkgInfo.requestedPermissions =
+ new String[]{android.Manifest.permission.PROVIDE_TRUST_AGENT};
+ pkgInfo.requestedPermissionsFlags =
+ new int[]{PackageInfo.REQUESTED_PERMISSION_GRANTED};
}
- @Implements(TrustAgentManager.class)
- public static class ShadowTrustAgentManager {
- private final static List<ResolveInfo> sPermissionGrantedList = new ArrayList<>();
-
- @Implementation
- protected boolean shouldProvideTrust(ResolveInfo resolveInfo, PackageManager pm) {
- for (ResolveInfo info : sPermissionGrantedList) {
- if (info.serviceInfo.equals(resolveInfo.serviceInfo)) {
- return true;
- }
- }
-
- return false;
- }
-
- private static void grantPermissionToResolveInfo(ResolveInfo rInfo) {
- sPermissionGrantedList.add(rInfo);
- }
-
- private static void clearPermissionGrantedList() {
- sPermissionGrantedList.clear();
- }
+ private void uninstallAgent(ComponentName name) {
+ mPackageManager.removeService(name);
+ mPackageManager.removePackage(name.getPackageName());
}
}
diff --git a/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java
index 7bc66c8..fe88148 100644
--- a/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java
@@ -39,7 +39,6 @@
import org.junit.After;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@@ -126,7 +125,6 @@
BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
}
- @Ignore("b/313530297")
@Test
public void getAvailabilityStatus_isCurrentlyMainUser_returnDisabledForUser() {
when(mUserManager.getMainUser()).thenReturn(UserHandle.CURRENT);
@@ -136,7 +134,6 @@
BasePreferenceController.DISABLED_FOR_USER);
}
- @Ignore("b/313530297")
@Test
public void getAvailabilityStatus_featureAndMultiUserEnabledAndNonMainUser_returnAvailable() {
when(mUserManager.isUserForeground()).thenReturn(true);
diff --git a/tests/robotests/src/com/android/settings/users/UserDetailsSettingsTest.java b/tests/robotests/src/com/android/settings/users/UserDetailsSettingsTest.java
index 7f27324..e035274 100644
--- a/tests/robotests/src/com/android/settings/users/UserDetailsSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/users/UserDetailsSettingsTest.java
@@ -22,7 +22,7 @@
import static com.google.common.truth.Truth.assertThat;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assume.assumeTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyString;
@@ -42,9 +42,13 @@
import android.content.Context;
import android.content.Intent;
import android.content.pm.UserInfo;
+import android.multiuser.Flags;
import android.os.Bundle;
import android.os.UserHandle;
import android.os.UserManager;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
import android.telephony.TelephonyManager;
import androidx.fragment.app.FragmentActivity;
@@ -63,7 +67,7 @@
import org.junit.After;
import org.junit.Before;
-import org.junit.Ignore;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@@ -124,6 +128,8 @@
private Bundle mArguments;
private UserInfo mUserInfo;
+ @Rule
+ public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
@@ -222,8 +228,8 @@
}
@Test
- @Ignore("b/313530297")
public void onResume_canSwitch_shouldEnableSwitchPref() {
+ setupSelectedUser();
mUserManager.setSwitchabilityStatus(SWITCHABILITY_STATUS_OK);
mFragment.mSwitchUserPref = mSwitchUserPref;
mFragment.onAttach(mContext);
@@ -234,8 +240,8 @@
}
@Test
- @Ignore("b/313530297")
public void onResume_userInCall_shouldDisableSwitchPref() {
+ setupSelectedUser();
mUserManager.setSwitchabilityStatus(SWITCHABILITY_STATUS_USER_IN_CALL);
mFragment.mSwitchUserPref = mSwitchUserPref;
mFragment.onAttach(mContext);
@@ -246,8 +252,21 @@
}
@Test
- @Ignore("b/313530297")
+ @RequiresFlagsEnabled({Flags.FLAG_NEW_MULTIUSER_SETTINGS_UX})
+ public void onResume_UserSwitcherDisabled_shouldDisableSwitchPref() {
+ setupSelectedUser();
+ mUserCapabilities.mUserSwitcherEnabled = false;
+ mFragment.mSwitchUserPref = mSwitchUserPref;
+ mFragment.onAttach(mContext);
+
+ mFragment.onResume();
+
+ verify(mSwitchUserPref).setEnabled(false);
+ }
+
+ @Test
public void onResume_switchDisallowed_shouldDisableSwitchPref() {
+ setupSelectedUser();
mUserManager.setSwitchabilityStatus(SWITCHABILITY_STATUS_USER_SWITCH_DISALLOWED);
mFragment.mSwitchUserPref = mSwitchUserPref;
mFragment.onAttach(mContext);
@@ -258,8 +277,8 @@
}
@Test
- @Ignore("b/313530297")
public void onResume_systemUserLocked_shouldDisableSwitchPref() {
+ setupSelectedUser();
mUserManager.setSwitchabilityStatus(UserManager.SWITCHABILITY_STATUS_SYSTEM_USER_LOCKED);
mFragment.mSwitchUserPref = mSwitchUserPref;
mFragment.onAttach(mContext);
@@ -269,7 +288,6 @@
verify(mSwitchUserPref).setEnabled(false);
}
- @Ignore("b/313530297")
@Test
public void initialize_adminWithTelephony_shouldShowPhonePreference() {
setupSelectedUser();
@@ -315,7 +333,6 @@
verify(mFragment).removePreference(KEY_APP_AND_CONTENT_ACCESS);
}
- @Ignore("b/313530297")
@Test
public void initialize_adminSelectsSecondaryUser_shouldShowRemovePreference() {
setupSelectedUser();
@@ -328,7 +345,6 @@
verify(mFragment, never()).removePreference(KEY_REMOVE_USER);
}
- @Ignore("b/313530297")
@Test
public void initialize_adminSelectsNewRestrictedUser_shouldOpenAppContentScreen() {
setupSelectedRestrictedUser();
@@ -351,7 +367,6 @@
.isEqualTo(true);
}
- @Ignore("b/313530297")
@Test
public void initialize_adminSelectsRestrictedUser_shouldSetupPreferences() {
setupSelectedRestrictedUser();
@@ -381,7 +396,6 @@
verify(mActivity, never()).startActivity(any(Intent.class));
}
- @Ignore("b/313530297")
@Test
public void initialize_adminSelectsGuest_shouldShowRemovePreference() {
setupSelectedGuest();
@@ -425,7 +439,6 @@
verify(mFragment).removePreference(KEY_REMOVE_USER);
}
- @Ignore("b/313530297")
@Test
public void initialize_userHasCallRestriction_shouldSetPhoneSwitchUnChecked() {
setupSelectedUser();
@@ -438,7 +451,6 @@
verify(mPhonePref).setChecked(false);
}
- @Ignore("b/313530297")
@Test
public void initialize_noCallRestriction_shouldSetPhoneSwitchChecked() {
setupSelectedUser();
@@ -537,7 +549,6 @@
verify(mFragment, never()).switchUser();
}
- @Ignore("b/313530297")
@Test
public void onPreferenceClick_removeGuestClicked_canDelete_shouldShowDialog() {
setupSelectedGuest();
@@ -555,7 +566,6 @@
verify(mFragment).showDialog(DIALOG_CONFIRM_RESET_GUEST);
}
- @Ignore("b/313530297")
@Test
public void onPreferenceClick_removeRestrictedClicked_canDelete_shouldShowDialog() {
setupSelectedRestrictedUser();
@@ -574,7 +584,6 @@
verify(mFragment).showDialog(DIALOG_CONFIRM_REMOVE);
}
- @Ignore("b/313530297")
@Test
public void onPreferenceClick_removeClicked_canDelete_shouldShowDialog() {
setupSelectedUser();
@@ -666,7 +675,6 @@
assertThat(result).isFalse();
}
- @Ignore("b/313530297")
@Test
public void canDeleteUser_adminSelectsUser_noRestrictions_shouldReturnTrue() {
setupSelectedUser();
@@ -700,17 +708,16 @@
assertThat(result).isFalse();
}
- @Ignore("b/313530297")
@Test
public void initialize_userSelected_shouldShowGrantAdminPref_MultipleAdminEnabled() {
+ assumeTrue(UserManager.isHeadlessSystemUserMode());
setupSelectedUser();
+ mUserManager.setIsAdminUser(true);
ShadowUserManager.setIsMultipleAdminEnabled(true);
mFragment.initialize(mActivity, mArguments);
- assertTrue(UserManager.isMultipleAdminEnabled());
verify(mFragment, never()).removePreference(KEY_GRANT_ADMIN);
}
- @Ignore("b/313530297")
@Test
public void initialize_userSelected_shouldNotShowGrantAdminPref() {
setupSelectedUser();
@@ -718,7 +725,6 @@
verify(mFragment).removePreference(KEY_GRANT_ADMIN);
}
- @Ignore("b/313530297")
@Test
public void initialize_restrictUserSelected_shouldNotShowGrantAdminPref_MultipleAdminEnabled() {
setupSelectedUser();
@@ -729,7 +735,6 @@
verify(mFragment).removePreference(KEY_GRANT_ADMIN);
}
- @Ignore("b/313530297")
@Test
public void initialize_mainUserSelected_shouldShowGrantAdminPref_MultipleAdminEnabled() {
setupSelectedMainUser();
@@ -738,7 +743,6 @@
verify(mFragment).removePreference(KEY_GRANT_ADMIN);
}
- @Ignore("b/313530297")
@Test
public void initialize_guestSelected_shouldNotShowGrantAdminPref_MultipleAdminEnabled() {
setupSelectedGuest();
@@ -778,7 +782,7 @@
mUserInfo = new UserInfo(1, "Tom", null,
UserInfo.FLAG_FULL | UserInfo.FLAG_INITIALIZED,
UserManager.USER_TYPE_FULL_SECONDARY);
-
+ mFragment.mUserInfo = mUserInfo;
mUserManager.addProfile(mUserInfo);
}
@@ -787,7 +791,7 @@
mUserInfo = new UserInfo(11, "Jerry", null,
UserInfo.FLAG_FULL | UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_MAIN,
UserManager.USER_TYPE_FULL_SECONDARY);
-
+ mFragment.mUserInfo = mUserInfo;
mUserManager.addProfile(mUserInfo);
}
@@ -796,7 +800,7 @@
mUserInfo = new UserInfo(12, "Andy", null,
UserInfo.FLAG_FULL | UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_ADMIN,
UserManager.USER_TYPE_FULL_SECONDARY);
-
+ mFragment.mUserInfo = mUserInfo;
mUserManager.addProfile(mUserInfo);
}
@@ -805,7 +809,7 @@
mUserInfo = new UserInfo(23, "Guest", null,
UserInfo.FLAG_FULL | UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_GUEST,
UserManager.USER_TYPE_FULL_GUEST);
-
+ mFragment.mUserInfo = mUserInfo;
mUserManager.addProfile(mUserInfo);
}
@@ -814,7 +818,7 @@
mUserInfo = new UserInfo(21, "Bob", null,
UserInfo.FLAG_FULL | UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_RESTRICTED,
UserManager.USER_TYPE_FULL_RESTRICTED);
-
+ mFragment.mUserInfo = mUserInfo;
mUserManager.addProfile(mUserInfo);
}
}
diff --git a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
index 5826ca2..85db0bd 100644
--- a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
@@ -34,6 +34,7 @@
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
import static org.robolectric.Shadows.shadowOf;
import android.app.settings.SettingsEnums;
@@ -46,10 +47,15 @@
import android.content.pm.UserInfo;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
+import android.multiuser.Flags;
import android.os.Bundle;
import android.os.Looper;
import android.os.UserHandle;
import android.os.UserManager;
+import android.platform.test.annotations.RequiresFlagsDisabled;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
import android.provider.Settings;
import android.text.SpannableStringBuilder;
import android.view.Menu;
@@ -75,6 +81,7 @@
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.AdditionalMatchers;
@@ -142,6 +149,9 @@
private UserSettings mFragment;
private UserCapabilities mUserCapabilities;
+ @Rule
+ public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
@@ -359,6 +369,7 @@
}
@Test
+ @RequiresFlagsDisabled({Flags.FLAG_NEW_MULTIUSER_SETTINGS_UX})
public void updateUserList_cannotSwitchUser_shouldDisableAddUser() {
mUserCapabilities.mCanAddUser = true;
doReturn(true).when(mUserManager).canAddMoreUsers(anyString());
@@ -375,6 +386,20 @@
}
@Test
+ @RequiresFlagsEnabled({Flags.FLAG_NEW_MULTIUSER_SETTINGS_UX})
+ public void updateUserList_disallowAddUser_shouldDisableAddUserAndAddGuest() {
+ mUserCapabilities.mDisallowAddUserSetByAdmin = true;
+ doReturn(true).when(mUserManager).canAddMoreUsers(anyString());
+ doReturn(SWITCHABILITY_STATUS_OK)
+ .when(mUserManager).getUserSwitchability();
+
+ mFragment.updateUserList();
+
+ verify(mAddUserPreference).setVisible(true);
+ verify(mAddUserPreference).setDisabledByAdmin(any());
+ }
+
+ @Test
public void updateUserList_canNotAddMoreUsers_shouldDisableAddUserWithSummary() {
mUserCapabilities.mCanAddUser = true;
doReturn(false).when(mUserManager).canAddMoreUsers(anyString());
@@ -392,6 +417,7 @@
}
@Test
+ @RequiresFlagsDisabled({Flags.FLAG_NEW_MULTIUSER_SETTINGS_UX})
public void updateUserList_cannotSwitchUser_shouldDisableAddGuest() {
mUserCapabilities.mCanAddGuest = true;
doReturn(true)
@@ -406,6 +432,54 @@
}
@Test
+ @RequiresFlagsEnabled({Flags.FLAG_NEW_MULTIUSER_SETTINGS_UX})
+ public void updateUserList_cannotSwitchUser_shouldKeepPreferencesVisibleAndEnabled() {
+ givenUsers(getAdminUser(true));
+ mUserCapabilities.mCanAddGuest = true;
+ mUserCapabilities.mCanAddUser = true;
+ mUserCapabilities.mDisallowSwitchUser = true;
+ doReturn(true)
+ .when(mUserManager).canAddMoreUsers(eq(UserManager.USER_TYPE_FULL_GUEST));
+ doReturn(true)
+ .when(mUserManager).canAddMoreUsers(eq(UserManager.USER_TYPE_FULL_SECONDARY));
+
+ mFragment.updateUserList();
+
+ verify(mAddGuestPreference).setVisible(true);
+ verify(mAddGuestPreference).setEnabled(true);
+ verify(mAddUserPreference).setVisible(true);
+ verify(mAddUserPreference).setEnabled(true);
+ }
+
+ @Test
+ @RequiresFlagsEnabled({Flags.FLAG_NEW_MULTIUSER_SETTINGS_UX})
+ public void updateUserList_disallowAddUser_shouldShowButDisableAddActions() {
+ givenUsers(getAdminUser(true));
+ mUserCapabilities.mCanAddGuest = true;
+ mUserCapabilities.mCanAddUser = false;
+ mUserCapabilities.mDisallowAddUser = true;
+ mUserCapabilities.mDisallowAddUserSetByAdmin = false;
+ List<UserManager.EnforcingUser> enforcingUsers = new ArrayList<>();
+ enforcingUsers.add(new UserManager.EnforcingUser(UserHandle.myUserId(),
+ UserManager.RESTRICTION_SOURCE_SYSTEM));
+ when(mUserManager.getUserRestrictionSources(UserManager.DISALLOW_ADD_USER,
+ UserHandle.of(UserHandle.myUserId()))).thenReturn(enforcingUsers);
+
+ doReturn(true)
+ .when(mUserManager).canAddMoreUsers(eq(UserManager.USER_TYPE_FULL_GUEST));
+ doReturn(true)
+ .when(mUserManager).canAddMoreUsers(eq(UserManager.USER_TYPE_FULL_SECONDARY));
+
+ mFragment.updateUserList();
+
+ verify(mAddGuestPreference).setVisible(true);
+ verify(mAddGuestPreference).setEnabled(false);
+ verify(mAddUserPreference).setVisible(true);
+ verify(mAddUserPreference).setEnabled(false);
+ }
+
+ @Test
+ @RequiresFlagsDisabled({Flags.FLAG_NEW_MULTIUSER_SETTINGS_UX})
public void updateUserList_addUserDisallowedByAdmin_shouldNotShowAddUser() {
RestrictedLockUtils.EnforcedAdmin enforcedAdmin = mock(
RestrictedLockUtils.EnforcedAdmin.class);
@@ -421,6 +495,22 @@
}
@Test
+ @RequiresFlagsEnabled({Flags.FLAG_NEW_MULTIUSER_SETTINGS_UX})
+ public void updateUserList_addUserDisallowedByAdmin_shouldShowPrefDisabledByAdmin() {
+ RestrictedLockUtils.EnforcedAdmin enforcedAdmin = mock(
+ RestrictedLockUtils.EnforcedAdmin.class);
+
+ mUserCapabilities.mEnforcedAdmin = enforcedAdmin;
+ mUserCapabilities.mCanAddUser = false;
+ mUserCapabilities.mDisallowAddUser = true;
+ mUserCapabilities.mDisallowAddUserSetByAdmin = true;
+ doReturn(true).when(mAddUserPreference).isEnabled();
+
+ mFragment.updateUserList();
+
+ verify(mAddUserPreference).setDisabledByAdmin(enforcedAdmin);
+ }
+ @Test
public void updateUserList_cannotAddUserButCanSwitchUser_shouldNotShowAddUser() {
mUserCapabilities.mCanAddUser = false;
@@ -461,18 +551,31 @@
}
@Test
- public void updateUserList_userSwitcherDisabled_shouldNotShowAddUser() {
+ public void updateUserList_userSwitcherDisabled_shouldShowAddUser() {
givenUsers(getAdminUser(true));
mUserCapabilities.mCanAddUser = true;
mUserCapabilities.mUserSwitcherEnabled = false;
mFragment.updateUserList();
- verify(mAddUserPreference).setVisible(false);
+ verify(mAddUserPreference).setVisible(true);
}
@Test
- public void updateUserList_userSwitcherDisabled_shouldNotShowAddGuest() {
+ public void updateUserList_userSwitcherDisabled_shouldShowAddGuest() {
+ givenUsers(getAdminUser(true));
+ mUserCapabilities.mCanAddGuest = true;
+ mUserCapabilities.mUserSwitcherEnabled = false;
+ doReturn(true)
+ .when(mUserManager).canAddMoreUsers(eq(UserManager.USER_TYPE_FULL_GUEST));
+
+ mFragment.updateUserList();
+
+ verify(mAddGuestPreference).setVisible(true);
+ }
+
+ @Test
+ public void updateUserList_userSwitcherDisabledCannotAddMoreGuests_shouldNotShowAddGuest() {
givenUsers(getAdminUser(true));
mUserCapabilities.mCanAddGuest = true;
mUserCapabilities.mUserSwitcherEnabled = false;
@@ -533,18 +636,18 @@
}
@Test
- public void updateUserList_existingSecondaryUser_shouldAddOnlyCurrUser_MultiUserIsDisabled() {
+ public void updateUserList_existingSecondaryUser_shouldAddAllUsers_MultiUserIsDisabled() {
givenUsers(getAdminUser(true), getSecondaryUser(false));
mUserCapabilities.mUserSwitcherEnabled = false;
mFragment.updateUserList();
ArgumentCaptor<UserPreference> captor = ArgumentCaptor.forClass(UserPreference.class);
- verify(mFragment.mUserListCategory, times(1))
+ verify(mFragment.mUserListCategory, times(2))
.addPreference(captor.capture());
List<UserPreference> userPrefs = captor.getAllValues();
- assertThat(userPrefs.size()).isEqualTo(1);
+ assertThat(userPrefs.size()).isEqualTo(2);
assertThat(userPrefs.get(0)).isSameInstanceAs(mMePreference);
}
@@ -631,6 +734,7 @@
}
@Test
+ @RequiresFlagsDisabled({Flags.FLAG_NEW_MULTIUSER_SETTINGS_UX})
public void updateUserList_uninitializedUserAndCanNotSwitchUser_shouldDisablePref() {
UserInfo uninitializedUser = getSecondaryUser(false);
removeFlag(uninitializedUser, UserInfo.FLAG_INITIALIZED);
diff --git a/tests/robotests/src/com/android/settings/wifi/AddWifiNetworkPreferenceTest.java b/tests/robotests/src/com/android/settings/wifi/AddWifiNetworkPreferenceTest.java
index 5f88eb2..c0adaf3 100644
--- a/tests/robotests/src/com/android/settings/wifi/AddWifiNetworkPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/AddWifiNetworkPreferenceTest.java
@@ -15,19 +15,23 @@
*/
package com.android.settings.wifi;
+import static android.os.UserManager.DISALLOW_ADD_WIFI_CONFIG;
+
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
import android.content.Context;
import android.os.UserManager;
import androidx.test.core.app.ApplicationProvider;
-import com.android.settingslib.RestrictedLockUtils;
-
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.Mock;
import org.mockito.Spy;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
@@ -42,31 +46,44 @@
public final MockitoRule mMockitoRule = MockitoJUnit.rule();
@Spy
Context mContext = ApplicationProvider.getApplicationContext();
+ @Mock
+ private UserManager mUserManager;
private AddWifiNetworkPreference mPreference;
@Before
public void setUp() {
- mPreference = new AddWifiNetworkPreference(mContext);
+ when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
+
+ mPreference = spy(new AddWifiNetworkPreference(mContext));
}
@Test
- public void updatePreferenceForRestriction_isAddWifiConfigAllowed_prefIsEnabled() {
- // If the user is allowed to add Wi-Fi configuration then the EnforcedAdmin will be null.
- RestrictedLockUtils.EnforcedAdmin enforcedAdmin = null;
+ public void checkRestrictionAndSetDisabled_disabledByAdmin_keepEnabledForClicks() {
+ when(mPreference.isDisabledByAdmin()).thenReturn(true);
- mPreference.setDisabledByAdmin(enforcedAdmin);
+ mPreference.checkRestrictionAndSetDisabled();
assertThat(mPreference.isEnabled()).isTrue();
}
@Test
- public void updatePreferenceForRestriction_isAddWifiConfigNotAllowed_prefIsDisabled() {
- RestrictedLockUtils.EnforcedAdmin enforcedAdmin = new RestrictedLockUtils.EnforcedAdmin(
- null /* component */, UserManager.DISALLOW_ADD_WIFI_CONFIG, null /* user */);
+ public void checkRestrictionAndSetDisabled_notDisabledByAdmin_setDisabled() {
+ when(mPreference.isDisabledByAdmin()).thenReturn(false);
+ when(mUserManager.hasUserRestriction(DISALLOW_ADD_WIFI_CONFIG)).thenReturn(true);
- mPreference.setDisabledByAdmin(enforcedAdmin);
+ mPreference.checkRestrictionAndSetDisabled();
assertThat(mPreference.isEnabled()).isFalse();
}
+
+ @Test
+ public void checkRestrictionAndSetDisabled_noRestriction_setEnabled() {
+ when(mPreference.isDisabledByAdmin()).thenReturn(false);
+ when(mUserManager.hasUserRestriction(DISALLOW_ADD_WIFI_CONFIG)).thenReturn(false);
+
+ mPreference.checkRestrictionAndSetDisabled();
+
+ assertThat(mPreference.isEnabled()).isTrue();
+ }
}
diff --git a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java
index 4497a0a..4440bc9 100644
--- a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java
@@ -48,6 +48,8 @@
import android.telephony.ims.ImsMmTelManager;
import android.view.View;
+import androidx.annotation.NonNull;
+import androidx.lifecycle.LifecycleOwner;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
@@ -56,10 +58,14 @@
import com.android.settings.SettingsActivity;
import com.android.settings.network.ims.MockWifiCallingQueryImsState;
import com.android.settings.network.ims.WifiCallingQueryImsState;
+import com.android.settings.network.telephony.wificalling.IWifiCallingRepository;
import com.android.settings.testutils.shadow.ShadowFragment;
import com.android.settings.widget.SettingsMainSwitchBar;
import com.android.settings.widget.SettingsMainSwitchPreference;
+import kotlin.Unit;
+import kotlin.jvm.functions.Function1;
+
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -183,36 +189,25 @@
}
@Test
- public void onResume_provisioningAllowed_shouldNotFinish() {
- // Call onResume while provisioning is allowed.
- mFragment.onResume();
+ public void onViewCreated_provisioningAllowed_shouldNotFinish() {
+ // Call onViewCreated while provisioning is allowed.
+ mFragment.onViewCreated(mView, null);
// Verify that finish() is not called.
verify(mFragment, never()).finish();
}
@Test
- public void onResume_provisioningDisallowed_shouldFinish() {
- // Call onResume while provisioning is disallowed.
- mQueryImsState.setIsProvisionedOnDevice(false);
- mFragment.onResume();
+ public void onViewCreated_provisioningDisallowed_shouldFinish() {
+ // Call onViewCreated while provisioning is disallowed.
+ mFragment.mIsWifiCallingReady = false;
+ mFragment.onViewCreated(mView, null);
// Verify that finish() is called
verify(mFragment).finish();
}
@Test
- public void onResumeOnPause_provisioningCallbackRegistration() throws Exception {
- // Verify that provisioning callback is registered after call to onResume().
- mFragment.onResume();
- verify(mFragment).registerProvisioningChangedCallback();
-
- // Verify that provisioning callback is unregistered after call to onPause.
- mFragment.onPause();
- verify(mFragment).unregisterProvisioningChangedCallback();
- }
-
- @Test
public void onResume_useWfcHomeModeConfigFalseAndEditable_shouldShowWfcRoaming() {
// Call onResume to update the WFC roaming preference.
mFragment.onResume();
@@ -377,6 +372,7 @@
protected class TestFragment extends WifiCallingSettingsForSub {
private SettingsMainSwitchPreference mSwitchPref;
+ protected boolean mIsWifiCallingReady = true;
protected void setSwitchBar(SettingsMainSwitchPreference switchPref) {
mSwitchPref = switchPref;
@@ -422,6 +418,25 @@
}
@Override
+ @NonNull
+ IWifiCallingRepository getWifiCallingRepository() {
+ return new IWifiCallingRepository() {
+ @Override
+ public void collectIsWifiCallingReadyFlow(
+ @NonNull LifecycleOwner lifecycleOwner,
+ @NonNull Function1<? super Boolean, Unit> action) {
+ action.invoke(mIsWifiCallingReady);
+ }
+ };
+ }
+
+ @NonNull
+ @Override
+ LifecycleOwner getLifecycleOwner() {
+ return this;
+ }
+
+ @Override
void showAlert(Intent intent) {
}
}
diff --git a/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowUserManager.java b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowUserManager.java
index 417b102..02ed03c 100644
--- a/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowUserManager.java
+++ b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowUserManager.java
@@ -363,6 +363,10 @@
}
@Implementation
+ protected boolean isAdminUser() {
+ return getUserInfo(UserHandle.myUserId()).isAdmin();
+ }
+ @Implementation
protected boolean isGuestUser() {
return mIsGuestUser;
}
diff --git a/tests/spa_unit/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogRepositoryTest.kt
index 01f32bf..1c1d9df 100644
--- a/tests/spa_unit/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogRepositoryTest.kt
+++ b/tests/spa_unit/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogRepositoryTest.kt
@@ -17,65 +17,65 @@
package com.android.settings.deviceinfo.simstatus
import android.content.Context
-import android.os.PersistableBundle
import android.telephony.CarrierConfigManager
import androidx.lifecycle.testing.TestLifecycleOwner
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settings.deviceinfo.simstatus.SimStatusDialogRepository.SimStatusDialogInfo
+import com.android.settings.network.telephony.CarrierConfigRepository
import com.android.settings.network.telephony.SimSlotRepository
import com.android.settings.network.telephony.ims.ImsMmTelRepository
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.runBlocking
+import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import org.mockito.kotlin.anyVararg
import org.mockito.kotlin.doReturn
-import org.mockito.kotlin.eq
import org.mockito.kotlin.mock
-import org.mockito.kotlin.spy
@RunWith(AndroidJUnit4::class)
class SimStatusDialogRepositoryTest {
- private val carrierConfig = PersistableBundle().apply {
- putBoolean(CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL, true)
- }
+ private val context: Context = ApplicationProvider.getApplicationContext()
- private val mockCarrierConfigManager = mock<CarrierConfigManager> {
- on { getConfigForSubId(eq(SUB_ID), anyVararg()) } doReturn carrierConfig
- }
+ private val mockSimSlotRepository =
+ mock<SimSlotRepository> {
+ on { subIdInSimSlotFlow(SIM_SLOT_INDEX) } doReturn flowOf(SUB_ID)
+ }
- private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
- on { getSystemService(CarrierConfigManager::class.java) } doReturn mockCarrierConfigManager
- }
+ private val mockSignalStrengthRepository =
+ mock<SignalStrengthRepository> {
+ on { signalStrengthDisplayFlow(SUB_ID) } doReturn flowOf(SIGNAL_STRENGTH)
+ }
- private val mockSimSlotRepository = mock<SimSlotRepository> {
- on { subIdInSimSlotFlow(SIM_SLOT_INDEX) } doReturn flowOf(SUB_ID)
- }
+ private val mockImsMmTelRepository =
+ mock<ImsMmTelRepository> { on { imsRegisteredFlow() } doReturn flowOf(true) }
- private val mockSignalStrengthRepository = mock<SignalStrengthRepository> {
- on { signalStrengthDisplayFlow(SUB_ID) } doReturn flowOf(SIGNAL_STRENGTH)
- }
+ private val controller =
+ SimStatusDialogRepository(
+ context = context,
+ simSlotRepository = mockSimSlotRepository,
+ signalStrengthRepository = mockSignalStrengthRepository,
+ imsMmTelRepositoryFactory = { subId ->
+ assertThat(subId).isEqualTo(SUB_ID)
+ mockImsMmTelRepository
+ },
+ )
- private val mockImsMmTelRepository = mock<ImsMmTelRepository> {
- on { imsRegisteredFlow() } doReturn flowOf(true)
+ @Before
+ fun setUp() {
+ CarrierConfigRepository.resetForTest()
}
- private val controller = SimStatusDialogRepository(
- context = context,
- simSlotRepository = mockSimSlotRepository,
- signalStrengthRepository = mockSignalStrengthRepository,
- imsMmTelRepositoryFactory = { subId ->
- assertThat(subId).isEqualTo(SUB_ID)
- mockImsMmTelRepository
- },
- )
-
@Test
fun collectSimStatusDialogInfo() = runBlocking {
+ CarrierConfigRepository.setBooleanForTest(
+ subId = SUB_ID,
+ key = CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL,
+ value = true,
+ )
var simStatusDialogInfo = SimStatusDialogInfo()
controller.collectSimStatusDialogInfo(TestLifecycleOwner(), SIM_SLOT_INDEX) {
@@ -83,19 +83,20 @@
}
delay(100)
- assertThat(simStatusDialogInfo).isEqualTo(
- SimStatusDialogInfo(
- signalStrength = SIGNAL_STRENGTH,
- imsRegistered = true,
- )
- )
+ assertThat(simStatusDialogInfo)
+ .isEqualTo(
+ SimStatusDialogInfo(
+ signalStrength = SIGNAL_STRENGTH,
+ imsRegistered = true,
+ ))
}
@Test
fun collectSimStatusDialogInfo_doNotShowSignalStrength() = runBlocking {
- carrierConfig.putBoolean(
- CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL,
- false
+ CarrierConfigRepository.setBooleanForTest(
+ subId = SUB_ID,
+ key = CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL,
+ value = false,
)
var simStatusDialogInfo = SimStatusDialogInfo()
@@ -109,7 +110,11 @@
@Test
fun collectSimStatusDialogInfo_doNotShowImsRegistration() = runBlocking {
- carrierConfig.putBoolean(CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL, false)
+ CarrierConfigRepository.setBooleanForTest(
+ subId = SUB_ID,
+ key = CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL,
+ value = false,
+ )
var simStatusDialogInfo = SimStatusDialogInfo()
controller.collectSimStatusDialogInfo(TestLifecycleOwner(), SIM_SLOT_INDEX) {
diff --git a/tests/spa_unit/src/com/android/settings/network/MobileDataEnabledFlowTest.kt b/tests/spa_unit/src/com/android/settings/network/MobileDataEnabledFlowTest.kt
deleted file mode 100644
index c4611ac..0000000
--- a/tests/spa_unit/src/com/android/settings/network/MobileDataEnabledFlowTest.kt
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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.settings.network
-
-import android.content.Context
-import android.provider.Settings
-import android.telephony.SubscriptionManager
-import androidx.test.core.app.ApplicationProvider
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull
-import com.android.settingslib.spa.testutils.toListWithTimeout
-import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalBoolean
-import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.async
-import kotlinx.coroutines.delay
-import kotlinx.coroutines.runBlocking
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@RunWith(AndroidJUnit4::class)
-class MobileDataEnabledFlowTest {
- private val context: Context = ApplicationProvider.getApplicationContext()
-
- @Test
- fun mobileDataEnabledFlow_notified(): Unit = runBlocking {
- val flow = context.mobileDataEnabledFlow(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
-
- assertThat(flow.firstWithTimeoutOrNull()).isNotNull()
- }
-
- @Test
- fun mobileDataEnabledFlow_changed_notified(): Unit = runBlocking {
- var mobileDataEnabled by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA)
- mobileDataEnabled = false
-
- val flow = context.mobileDataEnabledFlow(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
- mobileDataEnabled = true
-
- assertThat(flow.firstWithTimeoutOrNull()).isNotNull()
- }
-
- @Test
- fun mobileDataEnabledFlow_forSubIdNotChanged(): Unit = runBlocking {
- var mobileDataEnabled by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA)
- mobileDataEnabled = false
- var mobileDataEnabledForSubId
- by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA + SUB_ID)
- mobileDataEnabledForSubId = false
-
- val listDeferred = async {
- context.mobileDataEnabledFlow(SUB_ID).toListWithTimeout()
- }
-
- assertThat(listDeferred.await()).hasSize(1)
- }
-
- @Test
- fun mobileDataEnabledFlow_forSubIdChanged(): Unit = runBlocking {
- var mobileDataEnabled by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA)
- mobileDataEnabled = false
- var mobileDataEnabledForSubId
- by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA + SUB_ID)
- mobileDataEnabledForSubId = false
-
- val listDeferred = async {
- context.mobileDataEnabledFlow(SUB_ID).toListWithTimeout()
- }
- delay(100)
- mobileDataEnabledForSubId = true
-
- assertThat(listDeferred.await().size).isAtLeast(2)
- }
-
- private companion object {
- const val SUB_ID = 123
- }
-}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/CallStateRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/CallStateRepositoryTest.kt
index 55d520f..d192eb4 100644
--- a/tests/spa_unit/src/com/android/settings/network/telephony/CallStateRepositoryTest.kt
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/CallStateRepositoryTest.kt
@@ -17,7 +17,6 @@
package com.android.settings.network.telephony
import android.content.Context
-import android.telephony.SubscriptionManager
import android.telephony.TelephonyCallback
import android.telephony.TelephonyManager
import androidx.test.core.app.ApplicationProvider
@@ -27,6 +26,7 @@
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.async
import kotlinx.coroutines.delay
+import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.runBlocking
import org.junit.Test
import org.junit.runner.RunWith
@@ -49,20 +49,15 @@
}
}
- private val mockSubscriptionManager = mock<SubscriptionManager> {
- on { activeSubscriptionIdList } doReturn intArrayOf(SUB_ID)
- on { addOnSubscriptionsChangedListener(any(), any()) } doAnswer {
- val listener = it.arguments[1] as SubscriptionManager.OnSubscriptionsChangedListener
- listener.onSubscriptionsChanged()
- }
+ private val mockSubscriptionRepository = mock<SubscriptionRepository> {
+ on { activeSubscriptionIdListFlow() } doReturn flowOf(listOf(SUB_ID))
}
private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
- on { subscriptionManager } doReturn mockSubscriptionManager
}
- private val repository = CallStateRepository(context)
+ private val repository = CallStateRepository(context, mockSubscriptionRepository)
@Test
fun callStateFlow_initial_sendInitialState() = runBlocking {
@@ -89,8 +84,8 @@
@Test
fun isInCallFlow_noActiveSubscription() = runBlocking {
- mockSubscriptionManager.stub {
- on { activeSubscriptionIdList } doReturn intArrayOf()
+ mockSubscriptionRepository.stub {
+ on { activeSubscriptionIdListFlow() } doReturn flowOf(emptyList())
}
val isInCall = repository.isInCallFlow().firstWithTimeoutOrNull()
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/CarrierConfigRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/CarrierConfigRepositoryTest.kt
new file mode 100644
index 0000000..8c54751
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/CarrierConfigRepositoryTest.kt
@@ -0,0 +1,138 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.network.telephony
+
+import android.content.Context
+import android.telephony.CarrierConfigManager
+import androidx.core.os.persistableBundleOf
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.anyVararg
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.doThrow
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.stub
+import org.mockito.kotlin.times
+import org.mockito.kotlin.verify
+
+@RunWith(AndroidJUnit4::class)
+class CarrierConfigRepositoryTest {
+
+ private val mockCarrierConfigManager = mock<CarrierConfigManager>()
+
+ private val context =
+ mock<Context> {
+ on { applicationContext } doReturn mock
+ on { getSystemService(CarrierConfigManager::class.java) } doReturn
+ mockCarrierConfigManager
+ }
+
+ private val repository = CarrierConfigRepository(context)
+
+ @Before
+ fun setUp() {
+ CarrierConfigRepository.resetForTest()
+ }
+
+ @Test
+ fun getBoolean_returnValue() {
+ val key = CarrierConfigManager.KEY_CARRIER_CONFIG_APPLIED_BOOL
+ mockCarrierConfigManager.stub {
+ on { getConfigForSubId(any(), eq(key)) } doReturn persistableBundleOf(key to true)
+ }
+
+ val value = repository.getBoolean(SUB_ID, key)
+
+ assertThat(value).isTrue()
+ }
+
+ @Test
+ fun getInt_returnValue() {
+ val key = CarrierConfigManager.KEY_GBA_MODE_INT
+ mockCarrierConfigManager.stub {
+ on { getConfigForSubId(any(), eq(key)) } doReturn persistableBundleOf(key to 99)
+ }
+
+ val value = repository.getInt(SUB_ID, key)
+
+ assertThat(value).isEqualTo(99)
+ }
+
+ @Test
+ fun getString_returnValue() {
+ val key = CarrierConfigManager.KEY_CARRIER_NAME_STRING
+ mockCarrierConfigManager.stub {
+ on { getConfigForSubId(any(), eq(key)) } doReturn
+ persistableBundleOf(key to STRING_VALUE)
+ }
+
+ val value = repository.getString(SUB_ID, key)
+
+ assertThat(value).isEqualTo(STRING_VALUE)
+ }
+
+ @Test
+ fun transformConfig_managerThrowIllegalStateException_returnDefaultValue() {
+ mockCarrierConfigManager.stub {
+ on { getConfigForSubId(any(), anyVararg()) } doThrow IllegalStateException()
+ }
+
+ val carrierName =
+ repository.transformConfig(SUB_ID) {
+ getInt(CarrierConfigManager.KEY_CARRIER_DEFAULT_WFC_IMS_MODE_INT)
+ }
+
+ assertThat(carrierName)
+ .isEqualTo(
+ CarrierConfigManager.getDefaultConfig()
+ .getInt(CarrierConfigManager.KEY_CARRIER_DEFAULT_WFC_IMS_MODE_INT))
+ }
+
+ @Test
+ fun transformConfig_getValueTwice_cached() {
+ val key = CarrierConfigManager.KEY_CARRIER_NAME_STRING
+ mockCarrierConfigManager.stub {
+ on { getConfigForSubId(any(), eq(key)) } doReturn
+ persistableBundleOf(key to STRING_VALUE)
+ }
+
+ repository.transformConfig(SUB_ID) { getString(key) }
+ repository.transformConfig(SUB_ID) { getString(key) }
+
+ verify(mockCarrierConfigManager, times(1)).getConfigForSubId(any(), anyVararg())
+ }
+
+ @Test
+ fun transformConfig_registerCarrierConfigChangeListener() {
+ val key = CarrierConfigManager.KEY_CARRIER_NAME_STRING
+
+ repository.transformConfig(SUB_ID) { getString(key) }
+ repository.transformConfig(SUB_ID) { getString(key) }
+
+ verify(mockCarrierConfigManager, times(1)).registerCarrierConfigChangeListener(any(), any())
+ }
+
+ private companion object {
+ const val SUB_ID = 123
+ const val STRING_VALUE = "value"
+ }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/MobileDataRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/MobileDataRepositoryTest.kt
new file mode 100644
index 0000000..fc762fa
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/MobileDataRepositoryTest.kt
@@ -0,0 +1,188 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.network.telephony
+
+import android.content.Context
+import android.provider.Settings
+import android.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull
+import com.android.settingslib.spa.testutils.toListWithTimeout
+import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalBoolean
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.async
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.runBlocking
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.stub
+import org.mockito.kotlin.verify
+
+@RunWith(AndroidJUnit4::class)
+class MobileDataRepositoryTest {
+ private val mockTelephonyManager =
+ mock<TelephonyManager> { on { createForSubscriptionId(SUB_ID) } doReturn mock }
+
+ private val context: Context =
+ spy(ApplicationProvider.getApplicationContext()) {
+ on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
+ }
+
+ private val repository = MobileDataRepository(context, flowOf(Unit))
+
+ @Test
+ fun isMobileDataPolicyEnabledFlow_invalidSub_returnFalse() = runBlocking {
+ val flow =
+ repository.isMobileDataPolicyEnabledFlow(
+ subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+ policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
+ )
+
+ assertThat(flow.firstWithTimeoutOrNull()).isFalse()
+ }
+
+ @Test
+ fun isMobileDataPolicyEnabledFlow_validSub_returnPolicyState() = runBlocking {
+ mockTelephonyManager.stub {
+ on {
+ isMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH)
+ } doReturn true
+ }
+
+ val flow =
+ repository.isMobileDataPolicyEnabledFlow(
+ subId = SUB_ID,
+ policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
+ )
+
+ assertThat(flow.firstWithTimeoutOrNull()).isTrue()
+ }
+
+ @Test
+ fun setMobileDataPolicyEnabled() = runBlocking {
+ repository.setMobileDataPolicyEnabled(
+ subId = SUB_ID,
+ policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
+ enabled = true)
+
+ verify(mockTelephonyManager)
+ .setMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH, true)
+ }
+
+ @Test
+ fun mobileDataEnabledChangedFlow_notified(): Unit = runBlocking {
+ val flow =
+ repository.mobileDataEnabledChangedFlow(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+
+ assertThat(flow.firstWithTimeoutOrNull()).isNotNull()
+ }
+
+ @Test
+ fun mobileDataEnabledChangedFlow_changed_notified(): Unit = runBlocking {
+ var mobileDataEnabled by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA)
+ mobileDataEnabled = false
+
+ val flow =
+ repository.mobileDataEnabledChangedFlow(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+ mobileDataEnabled = true
+
+ assertThat(flow.firstWithTimeoutOrNull()).isNotNull()
+ }
+
+ @Test
+ fun mobileDataEnabledChangedFlow_forSubIdNotChanged(): Unit = runBlocking {
+ var mobileDataEnabled by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA)
+ mobileDataEnabled = false
+ var mobileDataEnabledForSubId by
+ context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA + SUB_ID)
+ mobileDataEnabledForSubId = false
+
+ val listDeferred = async {
+ repository.mobileDataEnabledChangedFlow(SUB_ID).toListWithTimeout()
+ }
+
+ assertThat(listDeferred.await()).hasSize(1)
+ }
+
+ @Test
+ fun mobileDataEnabledChangedFlow_forSubIdChanged(): Unit = runBlocking {
+ var mobileDataEnabled by context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA)
+ mobileDataEnabled = false
+ var mobileDataEnabledForSubId by
+ context.settingsGlobalBoolean(Settings.Global.MOBILE_DATA + SUB_ID)
+ mobileDataEnabledForSubId = false
+
+ val listDeferred = async {
+ repository.mobileDataEnabledChangedFlow(SUB_ID).toListWithTimeout()
+ }
+ delay(100)
+ mobileDataEnabledForSubId = true
+
+ assertThat(listDeferred.await().size).isAtLeast(2)
+ }
+
+ @Test
+ fun isMobileDataEnabledFlow_invalidSub_returnFalse() = runBlocking {
+ val state =
+ repository.isMobileDataEnabledFlow(
+ subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+ )
+
+ assertThat(state.firstWithTimeoutOrNull()).isFalse()
+ }
+
+ @Test
+ fun isMobileDataEnabledFlow_validSub_returnPolicyState() = runBlocking {
+ mockTelephonyManager.stub {
+ on { isDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER) } doReturn true
+ }
+
+ val state = repository.isMobileDataEnabledFlow(subId = SUB_ID)
+
+ assertThat(state.firstWithTimeoutOrNull()).isTrue()
+ }
+
+ @Test
+ fun isDataRoamingEnabledFlow_invalidSub_returnFalse() = runBlocking {
+ val isDataRoamingEnabled =
+ repository
+ .isDataRoamingEnabledFlow(subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+ .firstWithTimeoutOrNull()
+
+ assertThat(isDataRoamingEnabled).isFalse()
+ }
+
+ @Test
+ fun isDataRoamingEnabledFlow_validSub_returnCurrentValue() = runBlocking {
+ mockTelephonyManager.stub { on { isDataRoamingEnabled } doReturn true }
+
+ val isDataRoamingEnabled =
+ repository.isDataRoamingEnabledFlow(subId = SUB_ID).firstWithTimeoutOrNull()
+
+ assertThat(isDataRoamingEnabled).isTrue()
+ }
+
+ private companion object {
+ const val SUB_ID = 123
+ }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/RoamingPreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/RoamingPreferenceControllerTest.kt
new file mode 100644
index 0000000..ee4cff6
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/RoamingPreferenceControllerTest.kt
@@ -0,0 +1,194 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.network.telephony
+
+import android.content.Context
+import android.telephony.CarrierConfigManager
+import android.telephony.SubscriptionManager
+import androidx.compose.runtime.CompositionLocalProvider
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.test.assertIsDisplayed
+import androidx.compose.ui.test.assertIsOff
+import androidx.compose.ui.test.assertIsOn
+import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.compose.ui.test.onNodeWithText
+import androidx.fragment.app.FragmentManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import com.android.settings.core.BasePreferenceController.AVAILABLE
+import com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.flow.flowOf
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.stub
+
+@RunWith(AndroidJUnit4::class)
+class RoamingPreferenceControllerTest {
+ @get:Rule val composeTestRule = createComposeRule()
+
+ private val context: Context = ApplicationProvider.getApplicationContext()
+
+ private val mockMobileDataRepository =
+ mock<MobileDataRepository> {
+ on { isDataRoamingEnabledFlow(SUB_ID) } doReturn flowOf(false)
+ }
+
+ private val controller =
+ RoamingPreferenceController(context, TEST_KEY, mockMobileDataRepository)
+
+ @Before
+ fun setUp() {
+ CarrierConfigRepository.resetForTest()
+ }
+
+ @Test
+ fun getAvailabilityStatus_validSubId_returnAvailable() {
+ controller.init(mock<FragmentManager>(), SUB_ID)
+
+ val availabilityStatus = controller.getAvailabilityStatus()
+
+ assertThat(availabilityStatus).isEqualTo(AVAILABLE)
+ }
+
+ @Test
+ fun getAvailabilityStatus_invalidSubId_returnConditionallyUnavailable() {
+ controller.init(mock<FragmentManager>(), SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+
+ val availabilityStatus = controller.getAvailabilityStatus()
+
+ assertThat(availabilityStatus).isEqualTo(CONDITIONALLY_UNAVAILABLE)
+ }
+
+ @Test
+ fun getAvailabilityStatus_forceHomeNetworkIsTrue_returnConditionallyUnavailable() {
+ CarrierConfigRepository.setBooleanForTest(
+ subId = SUB_ID,
+ key = CarrierConfigManager.KEY_FORCE_HOME_NETWORK_BOOL,
+ value = true,
+ )
+ controller.init(mock<FragmentManager>(), SUB_ID)
+
+ val availabilityStatus = controller.getAvailabilityStatus()
+
+ assertThat(availabilityStatus).isEqualTo(CONDITIONALLY_UNAVAILABLE)
+ }
+
+ @Test
+ fun getAvailabilityStatus_forceHomeNetworkIsFalse_returnAvailable() {
+ CarrierConfigRepository.setBooleanForTest(
+ subId = SUB_ID,
+ key = CarrierConfigManager.KEY_FORCE_HOME_NETWORK_BOOL,
+ value = false,
+ )
+ controller.init(mock<FragmentManager>(), SUB_ID)
+
+ val availabilityStatus = controller.getAvailabilityStatus()
+
+ assertThat(availabilityStatus).isEqualTo(AVAILABLE)
+ }
+
+ @Test
+ fun title_displayed() {
+ controller.init(mock<FragmentManager>(), SUB_ID)
+
+ composeTestRule.setContent {
+ CompositionLocalProvider(LocalContext provides context) { controller.Content() }
+ }
+
+ composeTestRule.onNodeWithText(context.getString(R.string.roaming)).assertIsDisplayed()
+ }
+
+ @Test
+ fun summary_displayed() {
+ controller.init(mock<FragmentManager>(), SUB_ID)
+
+ composeTestRule.setContent {
+ CompositionLocalProvider(LocalContext provides context) { controller.Content() }
+ }
+
+ composeTestRule
+ .onNodeWithText(context.getString(R.string.roaming_enable))
+ .assertIsDisplayed()
+ }
+
+ @Test
+ fun isDialogNeeded_enableChargeIndication_returnTrue() {
+ CarrierConfigRepository.setBooleanForTest(
+ subId = SUB_ID,
+ key = CarrierConfigManager.KEY_DISABLE_CHARGE_INDICATION_BOOL,
+ value = false,
+ )
+ controller.init(mock<FragmentManager>(), SUB_ID)
+
+ val isDialogNeeded = controller.isDialogNeeded()
+
+ assertThat(isDialogNeeded).isTrue()
+ }
+
+ @Test
+ fun isDialogNeeded_disableChargeIndication_returnFalse() {
+ CarrierConfigRepository.setBooleanForTest(
+ subId = SUB_ID,
+ key = CarrierConfigManager.KEY_DISABLE_CHARGE_INDICATION_BOOL,
+ value = true,
+ )
+ controller.init(mock<FragmentManager>(), SUB_ID)
+
+ val isDialogNeeded = controller.isDialogNeeded()
+
+ assertThat(isDialogNeeded).isFalse()
+ }
+
+ @Test
+ fun checked_roamingEnabled_isOn() {
+ mockMobileDataRepository.stub {
+ on { isDataRoamingEnabledFlow(SUB_ID) } doReturn flowOf(true)
+ }
+ controller.init(mock<FragmentManager>(), SUB_ID)
+
+ composeTestRule.setContent {
+ CompositionLocalProvider(LocalContext provides context) { controller.Content() }
+ }
+
+ composeTestRule.onNodeWithText(context.getString(R.string.roaming)).assertIsOn()
+ }
+
+ @Test
+ fun checked_roamingDisabled_isOff() {
+ mockMobileDataRepository.stub {
+ on { isDataRoamingEnabledFlow(SUB_ID) } doReturn flowOf(false)
+ }
+ controller.init(mock<FragmentManager>(), SUB_ID)
+
+ composeTestRule.setContent {
+ CompositionLocalProvider(LocalContext provides context) { controller.Content() }
+ }
+
+ composeTestRule.onNodeWithText(context.getString(R.string.roaming)).assertIsOff()
+ }
+
+ private companion object {
+ const val TEST_KEY = "test_key"
+ const val SUB_ID = 2
+ }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/SubscriptionRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/SubscriptionRepositoryTest.kt
index e233fa4..75c9aa1 100644
--- a/tests/spa_unit/src/com/android/settings/network/telephony/SubscriptionRepositoryTest.kt
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/SubscriptionRepositoryTest.kt
@@ -77,7 +77,7 @@
@Test
fun subscriptionsChangedFlow_hasInitialValue() = runBlocking {
- val initialValue = context.subscriptionsChangedFlow().firstWithTimeoutOrNull()
+ val initialValue = repository.subscriptionsChangedFlow().firstWithTimeoutOrNull()
assertThat(initialValue).isSameInstanceAs(Unit)
}
@@ -85,7 +85,7 @@
@Test
fun subscriptionsChangedFlow_changed() = runBlocking {
val listDeferred = async {
- context.subscriptionsChangedFlow().toListWithTimeout()
+ repository.subscriptionsChangedFlow().toListWithTimeout()
}
delay(100)
@@ -95,6 +95,17 @@
}
@Test
+ fun activeSubscriptionIdListFlow(): Unit = runBlocking {
+ mockSubscriptionManager.stub {
+ on { activeSubscriptionIdList } doReturn intArrayOf(SUB_ID_IN_SLOT_0)
+ }
+
+ val activeSubIds = repository.activeSubscriptionIdListFlow().firstWithTimeoutOrNull()
+
+ assertThat(activeSubIds).containsExactly(SUB_ID_IN_SLOT_0)
+ }
+
+ @Test
fun getSelectableSubscriptionInfoList_sortedBySimSlotIndex() {
mockSubscriptionManager.stub {
on { getAvailableSubscriptionInfoList() } doReturn listOf(
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/TelephonyRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/TelephonyRepositoryTest.kt
index 65e8c47..12791b8 100644
--- a/tests/spa_unit/src/com/android/settings/network/telephony/TelephonyRepositoryTest.kt
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/TelephonyRepositoryTest.kt
@@ -17,14 +17,12 @@
package com.android.settings.network.telephony
import android.content.Context
-import android.telephony.SubscriptionManager
import android.telephony.TelephonyCallback
import android.telephony.TelephonyManager
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull
import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.runBlocking
import org.junit.Test
import org.junit.runner.RunWith
@@ -33,91 +31,29 @@
import org.mockito.kotlin.doReturn
import org.mockito.kotlin.mock
import org.mockito.kotlin.spy
-import org.mockito.kotlin.stub
import org.mockito.kotlin.verify
@RunWith(AndroidJUnit4::class)
class TelephonyRepositoryTest {
private var telephonyCallback: TelephonyCallback? = null
- private val mockTelephonyManager = mock<TelephonyManager> {
- on { createForSubscriptionId(SUB_ID) } doReturn mock
- on { registerTelephonyCallback(any(), any()) } doAnswer {
- telephonyCallback = it.arguments[1] as TelephonyCallback
- }
- }
-
- private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
- on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
- }
-
- private val repository = TelephonyRepository(context, flowOf(Unit))
-
- @Test
- fun isMobileDataPolicyEnabledFlow_invalidSub_returnFalse() = runBlocking {
- val flow = repository.isMobileDataPolicyEnabledFlow(
- subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
- policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
- )
-
- assertThat(flow.firstWithTimeoutOrNull()).isFalse()
- }
-
- @Test
- fun isMobileDataPolicyEnabledFlow_validSub_returnPolicyState() = runBlocking {
- mockTelephonyManager.stub {
- on {
- isMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH)
- } doReturn true
+ private val mockTelephonyManager =
+ mock<TelephonyManager> {
+ on { createForSubscriptionId(SUB_ID) } doReturn mock
+ on { registerTelephonyCallback(any(), any()) } doAnswer
+ {
+ telephonyCallback = it.arguments[1] as TelephonyCallback
+ }
}
- val flow = repository.isMobileDataPolicyEnabledFlow(
- subId = SUB_ID,
- policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
- )
-
- assertThat(flow.firstWithTimeoutOrNull()).isTrue()
- }
-
- @Test
- fun setMobileDataPolicyEnabled() = runBlocking {
- repository.setMobileDataPolicyEnabled(
- subId = SUB_ID,
- policy = TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
- enabled = true
- )
-
- verify(mockTelephonyManager)
- .setMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH, true)
- }
-
- @Test
- fun isDataEnabled_invalidSub_returnFalse() = runBlocking {
- val state = repository.isDataEnabledFlow(
- subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
- )
-
- assertThat(state.firstWithTimeoutOrNull()).isFalse()
- }
-
- @Test
- fun isDataEnabled_validSub_returnPolicyState() = runBlocking {
- mockTelephonyManager.stub {
- on {
- isDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER)
- } doReturn true
+ private val context: Context =
+ spy(ApplicationProvider.getApplicationContext()) {
+ on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
}
- val state = repository.isDataEnabledFlow(subId = SUB_ID)
-
- assertThat(state.firstWithTimeoutOrNull()).isTrue()
- }
-
@Test
fun telephonyCallbackFlow_callbackRegistered() = runBlocking {
- val flow = context.telephonyCallbackFlow<Unit>(SUB_ID) {
- object : TelephonyCallback() {}
- }
+ val flow = context.telephonyCallbackFlow<Unit>(SUB_ID) { object : TelephonyCallback() {} }
flow.firstWithTimeoutOrNull()
@@ -126,9 +62,7 @@
@Test
fun telephonyCallbackFlow_callbackUnregistered() = runBlocking {
- val flow = context.telephonyCallbackFlow<Unit>(SUB_ID) {
- object : TelephonyCallback() {}
- }
+ val flow = context.telephonyCallbackFlow<Unit>(SUB_ID) { object : TelephonyCallback() {} }
flow.firstWithTimeoutOrNull()
diff --git a/tests/spa_unit/src/com/android/settings/spa/SpaBridgeActivityTest.kt b/tests/spa_unit/src/com/android/settings/spa/SpaBridgeActivityTest.kt
new file mode 100644
index 0000000..e29bd96
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/SpaBridgeActivityTest.kt
@@ -0,0 +1,95 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.spa
+
+import android.app.Activity
+import android.content.ComponentName
+import android.content.pm.ActivityInfo
+import android.content.pm.PackageManager
+import android.os.Bundle
+import androidx.core.os.bundleOf
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.SettingsActivity.META_DATA_KEY_HIGHLIGHT_MENU_KEY
+import com.android.settings.spa.SpaBridgeActivity.Companion.META_DATA_KEY_DESTINATION
+import com.android.settings.spa.SpaBridgeActivity.Companion.getDestination
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.doAnswer
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
+
+@RunWith(AndroidJUnit4::class)
+class SpaBridgeActivityTest {
+ private var activityMetadata: Bundle = bundleOf()
+
+ private val mockPackageManager =
+ mock<PackageManager> {
+ on {
+ getActivityInfo(eq(COMPONENT_NAME), any<PackageManager.ComponentInfoFlags>())
+ } doAnswer { ActivityInfo().apply { metaData = activityMetadata } }
+ }
+
+ private val activity =
+ mock<Activity> {
+ on { componentName } doReturn COMPONENT_NAME
+ on { packageManager } doReturn mockPackageManager
+ }
+
+ @Test
+ fun getDestination_noDestination_returnNull() {
+ activityMetadata = bundleOf()
+
+ val destination = activity.getDestination()
+
+ assertThat(destination).isNull()
+ }
+
+ @Test
+ fun getDestination_withoutHighlightMenuKey() {
+ activityMetadata = bundleOf(META_DATA_KEY_DESTINATION to DESTINATION)
+
+ val (destination, highlightMenuKey) = activity.getDestination()!!
+
+ assertThat(destination).isEqualTo(DESTINATION)
+ assertThat(highlightMenuKey).isNull()
+ }
+
+ @Test
+ fun getDestination_withHighlightMenuKey() {
+ activityMetadata =
+ bundleOf(
+ META_DATA_KEY_DESTINATION to DESTINATION,
+ META_DATA_KEY_HIGHLIGHT_MENU_KEY to HIGHLIGHT_MENU_KEY,
+ )
+
+ val (destination, highlightMenuKey) = activity.getDestination()!!
+
+ assertThat(destination).isEqualTo(DESTINATION)
+ assertThat(highlightMenuKey).isEqualTo(HIGHLIGHT_MENU_KEY)
+ }
+
+ private companion object {
+ const val PACKAGE_NAME = "package.name"
+ const val ACTIVITY_NAME = "ActivityName"
+ val COMPONENT_NAME = ComponentName(PACKAGE_NAME, ACTIVITY_NAME)
+ const val DESTINATION = "Destination"
+ const val HIGHLIGHT_MENU_KEY = "apps"
+ }
+}
diff --git a/tests/spa_unit/src/com/android/settings/spa/SpaDestinationTest.kt b/tests/spa_unit/src/com/android/settings/spa/SpaDestinationTest.kt
index 0b9eb22..ee658c1 100644
--- a/tests/spa_unit/src/com/android/settings/spa/SpaDestinationTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/SpaDestinationTest.kt
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2023 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,81 +17,32 @@
package com.android.settings.spa
import android.app.Activity
-import android.content.ComponentName
-import android.content.pm.ActivityInfo
-import android.content.pm.PackageManager
-import android.os.Bundle
-import androidx.core.os.bundleOf
import androidx.test.ext.junit.runners.AndroidJUnit4
-import com.android.settings.SettingsActivity.META_DATA_KEY_HIGHLIGHT_MENU_KEY
-import com.android.settings.spa.SpaDestination.Companion.META_DATA_KEY_DESTINATION
-import com.android.settings.spa.SpaDestination.Companion.getDestination
-import com.google.common.truth.Truth.assertThat
+import com.android.settingslib.spa.framework.util.KEY_DESTINATION
import org.junit.Test
import org.junit.runner.RunWith
-import org.mockito.kotlin.any
-import org.mockito.kotlin.doAnswer
-import org.mockito.kotlin.doReturn
-import org.mockito.kotlin.eq
+import org.mockito.kotlin.argThat
import org.mockito.kotlin.mock
+import org.mockito.kotlin.verify
@RunWith(AndroidJUnit4::class)
class SpaDestinationTest {
- private var activityMetadata: Bundle = bundleOf()
- private val mockPackageManager = mock<PackageManager> {
- on {
- getActivityInfo(
- eq(COMPONENT_NAME),
- any<PackageManager.ComponentInfoFlags>()
- )
- } doAnswer {
- ActivityInfo().apply { metaData = activityMetadata }
- }
- }
-
- private val activity = mock<Activity> {
- on { componentName } doReturn COMPONENT_NAME
- on { packageManager } doReturn mockPackageManager
- }
+ private val activity = mock<Activity>()
@Test
- fun getDestination_noDestination_returnNull() {
- activityMetadata = bundleOf()
+ fun startFromExportedActivity() {
+ val spaDestination = SpaDestination(destination = DESTINATION, highlightMenuKey = null)
- val destination = activity.getDestination()
+ spaDestination.startFromExportedActivity(activity)
- assertThat(destination).isNull()
- }
-
- @Test
- fun getDestination_withoutHighlightMenuKey() {
- activityMetadata = bundleOf(META_DATA_KEY_DESTINATION to DESTINATION)
-
- val (destination, highlightMenuKey) = activity.getDestination()!!
-
- assertThat(destination).isEqualTo(DESTINATION)
- assertThat(highlightMenuKey).isNull()
- }
-
- @Test
- fun getDestination_withHighlightMenuKey() {
- activityMetadata = bundleOf(
- META_DATA_KEY_DESTINATION to DESTINATION,
- META_DATA_KEY_HIGHLIGHT_MENU_KEY to HIGHLIGHT_MENU_KEY,
- )
-
- val (destination, highlightMenuKey) = activity.getDestination()!!
-
- assertThat(destination).isEqualTo(DESTINATION)
- assertThat(highlightMenuKey).isEqualTo(HIGHLIGHT_MENU_KEY)
+ verify(activity).startActivity(argThat {
+ component!!.className == SpaActivity::class.qualifiedName
+ getStringExtra(KEY_DESTINATION) == DESTINATION
+ })
}
private companion object {
- const val PACKAGE_NAME = "package.name"
- const val ACTIVITY_NAME = "ActivityName"
- val COMPONENT_NAME = ComponentName(PACKAGE_NAME, ACTIVITY_NAME)
const val DESTINATION = "Destination"
- const val HIGHLIGHT_MENU_KEY = "apps"
}
}
diff --git a/tests/spa_unit/src/com/android/settings/spa/network/PrimarySimRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/spa/network/PrimarySimRepositoryTest.kt
new file mode 100644
index 0000000..459afa9
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/network/PrimarySimRepositoryTest.kt
@@ -0,0 +1,206 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.spa.network
+
+import android.content.Context
+import android.content.res.Resources
+import android.telephony.SubscriptionInfo
+import android.telephony.SubscriptionManager
+import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import com.android.settingslib.spa.widget.preference.ListPreferenceOption
+import com.google.common.truth.Truth.assertThat
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.doAnswer
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.stub
+
+@RunWith(AndroidJUnit4::class)
+class PrimarySimRepositoryTest {
+ @get:Rule
+ val composeTestRule = createComposeRule()
+
+ private val mockSubscriptionManager = mock<SubscriptionManager> {
+ on { addOnSubscriptionsChangedListener(any(), any()) } doAnswer {
+ val listener = it.arguments[1] as SubscriptionManager.OnSubscriptionsChangedListener
+ listener.onSubscriptionsChanged()
+ }
+ on { getPhoneNumber(SUB_ID_1) } doReturn NUMBER_1
+ on { getPhoneNumber(SUB_ID_2) } doReturn NUMBER_2
+ }
+
+ private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+ on { getSystemService(SubscriptionManager::class.java) } doReturn mockSubscriptionManager
+ }
+ private val spyResources: Resources = spy(context.resources)
+
+ @Test
+ fun getPrimarySimInfo_oneSim_returnNull() {
+ val simList = listOf(
+ SUB_INFO_1,
+ )
+
+ val primarySimInfo = PrimarySimRepository(context).getPrimarySimInfo(simList)
+
+ assertThat(primarySimInfo).isNull()
+ }
+
+ @Test
+ fun getPrimarySimInfo_verifyCallsList() {
+ val simList = listOf(
+ SUB_INFO_1,
+ SUB_INFO_2
+ )
+ val expectedList = listOf(
+ ListPreferenceOption(
+ id = SUB_INFO_1.subscriptionId,
+ text = "${SUB_INFO_1.displayName}",
+ summary = NUMBER_1
+ ),
+ ListPreferenceOption(
+ id = SUB_INFO_2.subscriptionId,
+ text = "${SUB_INFO_2.displayName}",
+ summary = NUMBER_2
+ ),
+ ListPreferenceOption(
+ id = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+ text = context.getString(R.string.sim_calls_ask_first_prefs_title),
+ ),
+ )
+
+ val primarySimInfo = PrimarySimRepository(context).getPrimarySimInfo(simList)
+
+ assertThat(primarySimInfo).isNotNull()
+ assertThat(primarySimInfo?.callsList).isEqualTo(expectedList)
+ }
+
+ @Test
+ fun getPrimarySimInfo_verifySmsList() {
+ val simList = listOf(
+ SUB_INFO_1,
+ SUB_INFO_2
+ )
+ val expectedList = listOf(
+ ListPreferenceOption(
+ id = SUB_INFO_1.subscriptionId,
+ text = "${SUB_INFO_1.displayName}",
+ summary = NUMBER_1
+ ),
+ ListPreferenceOption(
+ id = SUB_INFO_2.subscriptionId,
+ text = "${SUB_INFO_2.displayName}",
+ summary = NUMBER_2
+ ),
+ ListPreferenceOption(
+ id = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+ text = context.getString(R.string.sim_calls_ask_first_prefs_title),
+ ),
+ )
+
+ val primarySimInfo = PrimarySimRepository(context).getPrimarySimInfo(simList)
+
+ assertThat(primarySimInfo).isNotNull()
+ assertThat(primarySimInfo?.smsList).isEqualTo(expectedList)
+ }
+
+ @Test
+ fun getPrimarySimInfo_noAskEveryTime_verifySmsList() {
+ val simList = listOf(
+ SUB_INFO_1,
+ SUB_INFO_2
+ )
+ context.stub {
+ on { resources } doReturn spyResources
+ }
+ spyResources.stub {
+ on {
+ getBoolean(com.android.internal.R.bool.config_sms_ask_every_time_support)
+ } doReturn false
+ }
+ val expectedList = listOf(
+ ListPreferenceOption(
+ id = SUB_INFO_1.subscriptionId,
+ text = "${SUB_INFO_1.displayName}",
+ summary = NUMBER_1
+ ),
+ ListPreferenceOption(
+ id = SUB_INFO_2.subscriptionId,
+ text = "${SUB_INFO_2.displayName}",
+ summary = NUMBER_2
+ ),
+ )
+
+ val primarySimInfo = PrimarySimRepository(context).getPrimarySimInfo(simList)
+
+ assertThat(primarySimInfo).isNotNull()
+ assertThat(primarySimInfo?.smsList).isEqualTo(expectedList)
+ }
+
+ @Test
+ fun getPrimarySimInfo_verifyDataList() {
+ val simList = listOf(
+ SUB_INFO_1,
+ SUB_INFO_2
+ )
+ val expectedList = listOf(
+ ListPreferenceOption(
+ id = SUB_INFO_1.subscriptionId,
+ text = "${SUB_INFO_1.displayName}",
+ summary = NUMBER_1
+ ),
+ ListPreferenceOption(
+ id = SUB_INFO_2.subscriptionId,
+ text = "${SUB_INFO_2.displayName}",
+ summary = NUMBER_2
+ ),
+ )
+
+ val primarySimInfo = PrimarySimRepository(context).getPrimarySimInfo(simList)
+
+ assertThat(primarySimInfo).isNotNull()
+ assertThat(primarySimInfo?.dataList).isEqualTo(expectedList)
+ }
+
+ private companion object {
+ const val SUB_ID_1 = 1
+ const val SUB_ID_2 = 2
+ const val DISPLAY_NAME_1 = "Sub 1"
+ const val DISPLAY_NAME_2 = "Sub 2"
+ const val NUMBER_1 = "000000001"
+ const val NUMBER_2 = "000000002"
+ const val MCC = "310"
+
+ val SUB_INFO_1: SubscriptionInfo = SubscriptionInfo.Builder().apply {
+ setId(SUB_ID_1)
+ setDisplayName(DISPLAY_NAME_1)
+ setMcc(MCC)
+ }.build()
+
+ val SUB_INFO_2: SubscriptionInfo = SubscriptionInfo.Builder().apply {
+ setId(SUB_ID_2)
+ setDisplayName(DISPLAY_NAME_2)
+ setMcc(MCC)
+ }.build()
+ }
+}
diff --git a/tests/spa_unit/src/com/android/settings/spa/search/SpaSearchRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/spa/search/SpaSearchRepositoryTest.kt
new file mode 100644
index 0000000..911dfd2
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/search/SpaSearchRepositoryTest.kt
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.spa.search
+
+import android.content.Context
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.spa.search.SpaSearchRepository.Companion.createSearchIndexableData
+import com.android.settingslib.spa.framework.common.SettingsPageProvider
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.mock
+
+@RunWith(AndroidJUnit4::class)
+class SpaSearchRepositoryTest {
+
+ @Test
+ fun createSearchIndexableData() {
+ val pageProvider =
+ object : SettingsPageProvider {
+ override val name = PAGE_NAME
+ }
+
+ val searchIndexableData = pageProvider.createSearchIndexableData { listOf(TITLE) }
+ val dynamicRawDataToIndex =
+ searchIndexableData.searchIndexProvider.getDynamicRawDataToIndex(mock<Context>(), true)
+
+ assertThat(searchIndexableData.targetClass).isEqualTo(pageProvider::class.java)
+ assertThat(dynamicRawDataToIndex).hasSize(1)
+ assertThat(dynamicRawDataToIndex[0].title).isEqualTo(TITLE)
+ }
+
+ private companion object {
+ const val PAGE_NAME = "PageName"
+ const val TITLE = "Title"
+ }
+}
diff --git a/tests/spa_unit/src/com/android/settings/system/reset/ResetNetworkConfirmTest.kt b/tests/spa_unit/src/com/android/settings/system/reset/ResetNetworkConfirmTest.kt
new file mode 100644
index 0000000..4812cfb
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/system/reset/ResetNetworkConfirmTest.kt
@@ -0,0 +1,79 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.system.reset
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.widget.TextView
+import androidx.fragment.app.testing.launchFragment
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import com.android.settings.ResetNetworkRequest
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.runBlocking
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.never
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.verify
+
+@RunWith(AndroidJUnit4::class)
+class ResetNetworkConfirmTest {
+ private val context: Context = spy(ApplicationProvider.getApplicationContext()) {}
+
+ private val scenario = launchFragment<ResetNetworkConfirm>()
+
+ @Test
+ fun resetNetworkData_notResetEsim() {
+ scenario.recreate().onFragment { fragment ->
+ fragment.resetNetworkRequest = ResetNetworkRequest(ResetNetworkRequest.RESET_NONE)
+
+ runBlocking { fragment.onResetClicked() }
+
+ verify(context, never()).getSystemService(any())
+ }
+ }
+
+ @Test
+ fun setSubtitle_eraseEsim() {
+ scenario.onFragment { fragment ->
+ fragment.resetNetworkRequest =
+ ResetNetworkRequest(ResetNetworkRequest.RESET_NONE).apply {
+ setResetEsim(context.packageName)
+ }
+
+ val view = fragment.onCreateView(LayoutInflater.from(context), null, null)
+
+ assertThat(view.requireViewById<TextView>(R.id.reset_network_confirm).text)
+ .isEqualTo(context.getString(R.string.reset_network_final_desc_esim))
+ }
+ }
+
+ @Test
+ fun setSubtitle_notEraseEsim() {
+ scenario.onFragment { fragment ->
+ fragment.resetNetworkRequest = ResetNetworkRequest(ResetNetworkRequest.RESET_NONE)
+
+ val view = fragment.onCreateView(LayoutInflater.from(context), null, null)
+
+ assertThat(view.requireViewById<TextView>(R.id.reset_network_confirm).text)
+ .isEqualTo(context.getString(R.string.reset_network_final_desc))
+ }
+ }
+}
diff --git a/tests/unit/Android.bp b/tests/unit/Android.bp
index bc5824f..be43f8e 100644
--- a/tests/unit/Android.bp
+++ b/tests/unit/Android.bp
@@ -32,7 +32,7 @@
"truth",
"kotlinx_coroutines_test",
"Settings-testutils2",
- "MediaDrmSettingsFlagsLib",
+ "servicestests-utils",
// Don't add SettingsLib libraries here - you can use them directly as they are in the
// instrumented Settings app.
],
diff --git a/tests/unit/src/com/android/settings/ResetSubscriptionContractTest.java b/tests/unit/src/com/android/settings/ResetSubscriptionContractTest.java
deleted file mode 100644
index 4443304..0000000
--- a/tests/unit/src/com/android/settings/ResetSubscriptionContractTest.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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.settings;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-
-import android.content.Context;
-import android.os.Bundle;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-@RunWith(AndroidJUnit4.class)
-public class ResetSubscriptionContractTest {
-
- private static final int SUB_ID_1 = 3;
- private static final int SUB_ID_2 = 8;
-
- @Mock
- private SubscriptionManager mSubscriptionManager;
- @Mock
- private OnSubscriptionsChangedListener mOnSubscriptionsChangedListener;
- @Mock
- private SubscriptionInfo mSubscriptionInfo1;
- @Mock
- private SubscriptionInfo mSubscriptionInfo2;
-
- private Context mContext;
- private ResetNetworkRequest mRequestArgs;
-
- @Before
- public void setUp() {
- MockitoAnnotations.initMocks(this);
-
- mContext = spy(ApplicationProvider.getApplicationContext());
- mRequestArgs = new ResetNetworkRequest(new Bundle());
- }
-
- private ResetSubscriptionContract createTestObject() {
- return new ResetSubscriptionContract(mContext, mRequestArgs) {
- @Override
- protected SubscriptionManager getSubscriptionManager() {
- return mSubscriptionManager;
- }
- @Override
- protected OnSubscriptionsChangedListener getChangeListener() {
- return mOnSubscriptionsChangedListener;
- }
- };
- }
-
- @Test
- public void getAnyMissingSubscriptionId_returnNull_whenNoSubscriptionChange() {
- mRequestArgs.setResetTelephonyAndNetworkPolicyManager(SUB_ID_1);
- doReturn(mSubscriptionInfo1).when(mSubscriptionManager)
- .getActiveSubscriptionInfo(SUB_ID_1);
- mRequestArgs.setResetApn(SUB_ID_2);
- doReturn(mSubscriptionInfo2).when(mSubscriptionManager)
- .getActiveSubscriptionInfo(SUB_ID_2);
-
- ResetSubscriptionContract target = createTestObject();
-
- verify(mSubscriptionManager).addOnSubscriptionsChangedListener(any(), any());
-
- assertNull(target.getAnyMissingSubscriptionId());
- }
-
- @Test
- public void getAnyMissingSubscriptionId_returnSubId_whenSubscriptionNotActive() {
- mRequestArgs.setResetTelephonyAndNetworkPolicyManager(SUB_ID_1);
- doReturn(mSubscriptionInfo1).when(mSubscriptionManager)
- .getActiveSubscriptionInfo(SUB_ID_1);
- mRequestArgs.setResetApn(SUB_ID_2);
- doReturn(null).when(mSubscriptionManager)
- .getActiveSubscriptionInfo(SUB_ID_2);
-
- ResetSubscriptionContract target = createTestObject();
-
- verify(mSubscriptionManager).addOnSubscriptionsChangedListener(any(), any());
-
- assertEquals(target.getAnyMissingSubscriptionId(), new Integer(SUB_ID_2));
- }
-}
diff --git a/tests/unit/src/com/android/settings/accessibility/ReduceBrightColorsPreferenceControllerTest.java b/tests/unit/src/com/android/settings/accessibility/ReduceBrightColorsPreferenceControllerTest.java
index e1c0277..7229996 100644
--- a/tests/unit/src/com/android/settings/accessibility/ReduceBrightColorsPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/accessibility/ReduceBrightColorsPreferenceControllerTest.java
@@ -16,6 +16,8 @@
package com.android.settings.accessibility;
+import static com.android.internal.accessibility.AccessibilityShortcutController.REDUCE_BRIGHT_COLORS_TILE_SERVICE_COMPONENT_NAME;
+
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.doReturn;
@@ -24,7 +26,12 @@
import android.content.Context;
import android.content.res.Resources;
+import android.platform.test.annotations.RequiresFlagsDisabled;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
import android.provider.Settings;
+import android.view.accessibility.Flags;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -33,6 +40,7 @@
import org.junit.Before;
import org.junit.Ignore;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -40,6 +48,8 @@
public class ReduceBrightColorsPreferenceControllerTest {
private static final String PREF_KEY = "rbc_preference";
+ @Rule
+ public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
private Context mContext;
private Resources mResources;;
private ReduceBrightColorsPreferenceController mController;
@@ -88,6 +98,20 @@
assertThat(mController.isAvailable()).isFalse();
}
+
+ @Test
+ @RequiresFlagsDisabled(Flags.FLAG_A11Y_QS_SHORTCUT)
+ public void getTileComponentName_a11yQsFlagOff_returnComponentName() {
+ assertThat(mController.getTileComponentName())
+ .isEqualTo(REDUCE_BRIGHT_COLORS_TILE_SERVICE_COMPONENT_NAME);
+ }
+
+ @Test
+ @RequiresFlagsEnabled(Flags.FLAG_A11Y_QS_SHORTCUT)
+ public void getTileComponentName_a11yQsFlagOff_returnNull() {
+ assertThat(mController.getTileComponentName()).isNull();
+ }
+
private int resourceId(String type, String name) {
return mContext.getResources().getIdentifier(name, type, mContext.getPackageName());
}
diff --git a/tests/unit/src/com/android/settings/connecteddevice/display/ExternalDisplayPreferenceFragmentTest.java b/tests/unit/src/com/android/settings/connecteddevice/display/ExternalDisplayPreferenceFragmentTest.java
new file mode 100644
index 0000000..019ade7
--- /dev/null
+++ b/tests/unit/src/com/android/settings/connecteddevice/display/ExternalDisplayPreferenceFragmentTest.java
@@ -0,0 +1,409 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.connecteddevice.display;
+
+
+import static android.view.Display.INVALID_DISPLAY;
+
+import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.PREVIOUSLY_SHOWN_LIST_KEY;
+import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.DISPLAYS_LIST_PREFERENCE_KEY;
+import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_CHANGE_RESOLUTION_FOOTER_RESOURCE;
+import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_NOT_FOUND_FOOTER_RESOURCE;
+import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_RESOLUTION_PREFERENCE_KEY;
+import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_RESOLUTION_TITLE_RESOURCE;
+import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_ROTATION_KEY;
+import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_ROTATION_TITLE_RESOURCE;
+import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_SETTINGS_RESOURCE;
+import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_USE_PREFERENCE_KEY;
+import static com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.EXTERNAL_DISPLAY_USE_TITLE_RESOURCE;
+import static com.android.settingslib.widget.FooterPreference.KEY_FOOTER;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+import android.app.Activity;
+import android.content.Context;
+import android.os.Bundle;
+import android.view.Display;
+import android.view.View;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+import androidx.test.annotation.UiThreadTest;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.settings.connecteddevice.display.ExternalDisplayPreferenceFragment.DisplayPreference;
+import com.android.settingslib.widget.FooterPreference;
+import com.android.settingslib.widget.MainSwitchPreference;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+
+/** Unit tests for {@link ExternalDisplayPreferenceFragment}. */
+@RunWith(AndroidJUnit4.class)
+public class ExternalDisplayPreferenceFragmentTest extends ExternalDisplayTestBase {
+ @Nullable
+ private ExternalDisplayPreferenceFragment mFragment;
+ private int mPreferenceIdFromResource;
+ private int mDisplayIdArg = INVALID_DISPLAY;
+ private int mResolutionSelectorDisplayId = INVALID_DISPLAY;
+ @Mock
+ private MetricsLogger mMockedMetricsLogger;
+
+ @Test
+ @UiThreadTest
+ public void testCreateAndStart() {
+ initFragment();
+ assertThat(mPreferenceIdFromResource).isEqualTo(EXTERNAL_DISPLAY_SETTINGS_RESOURCE);
+ }
+
+ @Test
+ @UiThreadTest
+ public void testShowDisplayList() {
+ var fragment = initFragment();
+ var outState = new Bundle();
+ fragment.onSaveInstanceStateCallback(outState);
+ assertThat(outState.getBoolean(PREVIOUSLY_SHOWN_LIST_KEY)).isFalse();
+ assertThat(mHandler.getPendingMessages().size()).isEqualTo(1);
+ PreferenceCategory pref = mPreferenceScreen.findPreference(DISPLAYS_LIST_PREFERENCE_KEY);
+ assertThat(pref).isNull();
+ verify(mMockedInjector, never()).getAllDisplays();
+ mHandler.flush();
+ assertThat(mHandler.getPendingMessages().size()).isEqualTo(0);
+ verify(mMockedInjector).getAllDisplays();
+ pref = mPreferenceScreen.findPreference(DISPLAYS_LIST_PREFERENCE_KEY);
+ assertThat(pref).isNotNull();
+ assertThat(pref.getPreferenceCount()).isEqualTo(2);
+ fragment.onSaveInstanceStateCallback(outState);
+ assertThat(outState.getBoolean(PREVIOUSLY_SHOWN_LIST_KEY)).isTrue();
+ }
+
+ @Test
+ @UiThreadTest
+ public void testLaunchDisplaySettingFromList() {
+ initFragment();
+ mHandler.flush();
+ PreferenceCategory pref = mPreferenceScreen.findPreference(DISPLAYS_LIST_PREFERENCE_KEY);
+ assertThat(pref).isNotNull();
+ DisplayPreference display1Pref = (DisplayPreference) pref.getPreference(0);
+ DisplayPreference display2Pref = (DisplayPreference) pref.getPreference(1);
+ assertThat(display1Pref.getKey()).isEqualTo("display_id_" + 1);
+ assertThat("" + display1Pref.getTitle()).isEqualTo("HDMI");
+ assertThat("" + display1Pref.getSummary()).isEqualTo("1920 x 1080");
+ display1Pref.onPreferenceClick(display1Pref);
+ assertThat(mDisplayIdArg).isEqualTo(1);
+ verify(mMockedMetricsLogger).writePreferenceClickMetric(display1Pref);
+ assertThat(display2Pref.getKey()).isEqualTo("display_id_" + 2);
+ assertThat("" + display2Pref.getTitle()).isEqualTo("Overlay #1");
+ assertThat("" + display2Pref.getSummary()).isEqualTo("1240 x 780");
+ display2Pref.onPreferenceClick(display2Pref);
+ assertThat(mDisplayIdArg).isEqualTo(2);
+ verify(mMockedMetricsLogger).writePreferenceClickMetric(display2Pref);
+ }
+
+ @Test
+ @UiThreadTest
+ public void testShowDisplayListForOnlyOneDisplay_PreviouslyShownList() {
+ var fragment = initFragment();
+ // Previously shown list of displays
+ fragment.onActivityCreatedCallback(createBundleForPreviouslyShownList());
+ // Only one display available
+ doReturn(new Display[] {mDisplays[1]}).when(mMockedInjector).getAllDisplays();
+ mHandler.flush();
+ PreferenceCategory pref = mPreferenceScreen.findPreference(DISPLAYS_LIST_PREFERENCE_KEY);
+ assertThat(pref).isNotNull();
+ assertThat(pref.getPreferenceCount()).isEqualTo(1);
+ }
+
+ @Test
+ @UiThreadTest
+ public void testShowEnabledDisplay_OnlyOneDisplayAvailable() {
+ doReturn(true).when(mMockedInjector).isDisplayEnabled(any());
+ // Only one display available
+ doReturn(new Display[] {mDisplays[1]}).when(mMockedInjector).getAllDisplays();
+ // Init
+ initFragment();
+ mHandler.flush();
+ PreferenceCategory list = mPreferenceScreen.findPreference(DISPLAYS_LIST_PREFERENCE_KEY);
+ assertThat(list).isNull();
+ var pref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_RESOLUTION_PREFERENCE_KEY);
+ assertThat(pref).isNotNull();
+ pref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_ROTATION_KEY);
+ assertThat(pref).isNotNull();
+ var footerPref = (FooterPreference) mPreferenceScreen.findPreference(KEY_FOOTER);
+ assertThat(footerPref).isNotNull();
+ verify(footerPref).setTitle(EXTERNAL_DISPLAY_CHANGE_RESOLUTION_FOOTER_RESOURCE);
+ }
+
+ @Test
+ @UiThreadTest
+ public void testShowOneEnabledDisplay_FewAvailable() {
+ mDisplayIdArg = 1;
+ doReturn(true).when(mMockedInjector).isDisplayEnabled(any());
+ initFragment();
+ verify(mMockedInjector, never()).getDisplay(anyInt());
+ mHandler.flush();
+ verify(mMockedInjector).getDisplay(mDisplayIdArg);
+ var pref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_RESOLUTION_PREFERENCE_KEY);
+ assertThat(pref).isNotNull();
+ pref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_ROTATION_KEY);
+ assertThat(pref).isNotNull();
+ var footerPref = (FooterPreference) mPreferenceScreen.findPreference(KEY_FOOTER);
+ assertThat(footerPref).isNotNull();
+ verify(footerPref).setTitle(EXTERNAL_DISPLAY_CHANGE_RESOLUTION_FOOTER_RESOURCE);
+ }
+
+ @Test
+ @UiThreadTest
+ public void testShowDisabledDisplay() {
+ mDisplayIdArg = 1;
+ initFragment();
+ verify(mMockedInjector, never()).getDisplay(anyInt());
+ mHandler.flush();
+ verify(mMockedInjector).getDisplay(mDisplayIdArg);
+ var mainPref = (MainSwitchPreference) mPreferenceScreen.findPreference(
+ EXTERNAL_DISPLAY_USE_PREFERENCE_KEY);
+ assertThat(mainPref).isNotNull();
+ assertThat("" + mainPref.getTitle()).isEqualTo(
+ getText(EXTERNAL_DISPLAY_USE_TITLE_RESOURCE));
+ assertThat(mainPref.isChecked()).isFalse();
+ assertThat(mainPref.isEnabled()).isTrue();
+ assertThat(mainPref.getOnPreferenceChangeListener()).isNotNull();
+ var pref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_RESOLUTION_PREFERENCE_KEY);
+ assertThat(pref).isNull();
+ pref = mPreferenceScreen.findPreference(EXTERNAL_DISPLAY_ROTATION_KEY);
+ assertThat(pref).isNull();
+ var footerPref = (FooterPreference) mPreferenceScreen.findPreference(KEY_FOOTER);
+ assertThat(footerPref).isNull();
+ }
+
+ @Test
+ @UiThreadTest
+ public void testNoDisplays() {
+ doReturn(new Display[0]).when(mMockedInjector).getAllDisplays();
+ initFragment();
+ mHandler.flush();
+ var mainPref = (MainSwitchPreference) mPreferenceScreen.findPreference(
+ EXTERNAL_DISPLAY_USE_PREFERENCE_KEY);
+ assertThat(mainPref).isNotNull();
+ assertThat("" + mainPref.getTitle()).isEqualTo(
+ getText(EXTERNAL_DISPLAY_USE_TITLE_RESOURCE));
+ assertThat(mainPref.isChecked()).isFalse();
+ assertThat(mainPref.isEnabled()).isFalse();
+ assertThat(mainPref.getOnPreferenceChangeListener()).isNull();
+ var footerPref = (FooterPreference) mPreferenceScreen.findPreference(KEY_FOOTER);
+ assertThat(footerPref).isNotNull();
+ verify(footerPref).setTitle(EXTERNAL_DISPLAY_NOT_FOUND_FOOTER_RESOURCE);
+ }
+
+ @Test
+ @UiThreadTest
+ public void testDisplayRotationPreference() {
+ mDisplayIdArg = 1;
+ doReturn(true).when(mMockedInjector).isDisplayEnabled(any());
+ var fragment = initFragment();
+ mHandler.flush();
+ var pref = fragment.getRotationPreference(mContext);
+ assertThat(pref.getKey()).isEqualTo(EXTERNAL_DISPLAY_ROTATION_KEY);
+ assertThat("" + pref.getTitle()).isEqualTo(
+ getText(EXTERNAL_DISPLAY_ROTATION_TITLE_RESOURCE));
+ assertThat(pref.getEntries().length).isEqualTo(4);
+ assertThat(pref.getEntryValues().length).isEqualTo(4);
+ assertThat(pref.getEntryValues()[0].toString()).isEqualTo("0");
+ assertThat(pref.getEntryValues()[1].toString()).isEqualTo("1");
+ assertThat(pref.getEntryValues()[2].toString()).isEqualTo("2");
+ assertThat(pref.getEntryValues()[3].toString()).isEqualTo("3");
+ assertThat(pref.getEntries()[0].length()).isGreaterThan(0);
+ assertThat(pref.getEntries()[1].length()).isGreaterThan(0);
+ assertThat("" + pref.getSummary()).isEqualTo(pref.getEntries()[0].toString());
+ assertThat(pref.getValue()).isEqualTo("0");
+ assertThat(pref.getOnPreferenceChangeListener()).isNotNull();
+ assertThat(pref.isEnabled()).isTrue();
+ var rotation = 1;
+ doReturn(true).when(mMockedInjector).freezeDisplayRotation(mDisplayIdArg, rotation);
+ assertThat(pref.getOnPreferenceChangeListener().onPreferenceChange(pref, rotation + ""))
+ .isTrue();
+ verify(mMockedInjector).freezeDisplayRotation(mDisplayIdArg, rotation);
+ assertThat(pref.getValue()).isEqualTo(rotation + "");
+ verify(mMockedMetricsLogger).writePreferenceClickMetric(pref);
+ }
+
+ @Test
+ @UiThreadTest
+ public void testDisplayResolutionPreference() {
+ mDisplayIdArg = 1;
+ doReturn(true).when(mMockedInjector).isDisplayEnabled(any());
+ var fragment = initFragment();
+ mHandler.flush();
+ var pref = fragment.getResolutionPreference(mContext);
+ assertThat(pref.getKey()).isEqualTo(EXTERNAL_DISPLAY_RESOLUTION_PREFERENCE_KEY);
+ assertThat("" + pref.getTitle()).isEqualTo(
+ getText(EXTERNAL_DISPLAY_RESOLUTION_TITLE_RESOURCE));
+ assertThat("" + pref.getSummary()).isEqualTo("1920 x 1080");
+ assertThat(pref.isEnabled()).isTrue();
+ assertThat(pref.getOnPreferenceClickListener()).isNotNull();
+ assertThat(pref.getOnPreferenceClickListener().onPreferenceClick(pref)).isTrue();
+ assertThat(mResolutionSelectorDisplayId).isEqualTo(mDisplayIdArg);
+ verify(mMockedMetricsLogger).writePreferenceClickMetric(pref);
+ }
+
+ @Test
+ @UiThreadTest
+ public void testUseDisplayPreference_EnabledDisplay() {
+ mDisplayIdArg = 1;
+ doReturn(true).when(mMockedInjector).isDisplayEnabled(any());
+ doReturn(true).when(mMockedInjector).enableConnectedDisplay(mDisplayIdArg);
+ doReturn(true).when(mMockedInjector).disableConnectedDisplay(mDisplayIdArg);
+ var fragment = initFragment();
+ mHandler.flush();
+ var pref = fragment.getUseDisplayPreference(mContext);
+ assertThat(pref.getKey()).isEqualTo(EXTERNAL_DISPLAY_USE_PREFERENCE_KEY);
+ assertThat("" + pref.getTitle()).isEqualTo(getText(EXTERNAL_DISPLAY_USE_TITLE_RESOURCE));
+ assertThat(pref.isEnabled()).isTrue();
+ assertThat(pref.isChecked()).isTrue();
+ assertThat(pref.getOnPreferenceChangeListener()).isNotNull();
+ assertThat(pref.getOnPreferenceChangeListener().onPreferenceChange(pref, false)).isTrue();
+ verify(mMockedInjector).disableConnectedDisplay(mDisplayIdArg);
+ assertThat(pref.isChecked()).isFalse();
+ assertThat(pref.getOnPreferenceChangeListener().onPreferenceChange(pref, true)).isTrue();
+ verify(mMockedInjector).enableConnectedDisplay(mDisplayIdArg);
+ assertThat(pref.isChecked()).isTrue();
+ verify(mMockedMetricsLogger, times(2)).writePreferenceClickMetric(pref);
+ }
+
+ @NonNull
+ private ExternalDisplayPreferenceFragment initFragment() {
+ if (mFragment != null) {
+ return mFragment;
+ }
+ mFragment = new TestableExternalDisplayPreferenceFragment();
+ mFragment.onCreateCallback(null);
+ mFragment.onActivityCreatedCallback(null);
+ mFragment.onStartCallback();
+ return mFragment;
+ }
+
+ @NonNull
+ private Bundle createBundleForPreviouslyShownList() {
+ var state = new Bundle();
+ state.putBoolean(PREVIOUSLY_SHOWN_LIST_KEY, true);
+ return state;
+ }
+
+ @NonNull
+ private String getText(int id) {
+ return mContext.getResources().getText(id).toString();
+ }
+
+ private class TestableExternalDisplayPreferenceFragment extends
+ ExternalDisplayPreferenceFragment {
+ private final View mMockedRootView;
+ private final TextView mEmptyView;
+ private final Activity mMockedActivity;
+ private final FooterPreference mMockedFooterPreference;
+ private final MetricsLogger mLogger;
+
+ TestableExternalDisplayPreferenceFragment() {
+ super(mMockedInjector);
+ mMockedActivity = mock(Activity.class);
+ mMockedRootView = mock(View.class);
+ mMockedFooterPreference = mock(FooterPreference.class);
+ doReturn(KEY_FOOTER).when(mMockedFooterPreference).getKey();
+ mEmptyView = new TextView(mContext);
+ doReturn(mEmptyView).when(mMockedRootView).findViewById(android.R.id.empty);
+ mLogger = mMockedMetricsLogger;
+ }
+
+ @Override
+ public PreferenceScreen getPreferenceScreen() {
+ return mPreferenceScreen;
+ }
+
+ @Override
+ protected Activity getCurrentActivity() {
+ return mMockedActivity;
+ }
+
+ @Override
+ public View getView() {
+ return mMockedRootView;
+ }
+
+ @Override
+ public void setEmptyView(View view) {
+ assertThat(view).isEqualTo(mEmptyView);
+ }
+
+ @Override
+ public View getEmptyView() {
+ return mEmptyView;
+ }
+
+ @Override
+ public void addPreferencesFromResource(int resource) {
+ mPreferenceIdFromResource = resource;
+ }
+
+ @Override
+ @NonNull
+ FooterPreference getFooterPreference(@NonNull Context context) {
+ return mMockedFooterPreference;
+ }
+
+ @Override
+ protected int getDisplayIdArg() {
+ return mDisplayIdArg;
+ }
+
+ @Override
+ protected void launchResolutionSelector(@NonNull Context context, int displayId) {
+ mResolutionSelectorDisplayId = displayId;
+ }
+
+ @Override
+ protected void launchDisplaySettings(final int displayId) {
+ mDisplayIdArg = displayId;
+ }
+
+ @Override
+ protected void writePreferenceClickMetric(Preference preference) {
+ mLogger.writePreferenceClickMetric(preference);
+ }
+ }
+
+ /**
+ * Interface allowing to mock and spy on log events.
+ */
+ public interface MetricsLogger {
+
+ /**
+ * On preference click metric
+ */
+ void writePreferenceClickMetric(Preference preference);
+ }
+}
diff --git a/tests/unit/src/com/android/settings/connecteddevice/display/ExternalDisplayTestBase.java b/tests/unit/src/com/android/settings/connecteddevice/display/ExternalDisplayTestBase.java
new file mode 100644
index 0000000..60b0342
--- /dev/null
+++ b/tests/unit/src/com/android/settings/connecteddevice/display/ExternalDisplayTestBase.java
@@ -0,0 +1,149 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.connecteddevice.display;
+
+import static com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.VIRTUAL_DISPLAY_PACKAGE_NAME_SYSTEM_PROPERTY;
+import static com.android.settings.flags.Flags.FLAG_ROTATION_CONNECTED_DISPLAY_SETTING;
+import static com.android.settings.flags.Flags.FLAG_RESOLUTION_AND_ENABLE_CONNECTED_DISPLAY_SETTING;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.hardware.display.DisplayManagerGlobal;
+import android.hardware.display.IDisplayManager;
+import android.os.RemoteException;
+import android.view.Display;
+import android.view.DisplayAdjustments;
+import android.view.DisplayInfo;
+
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.server.testutils.TestHandler;
+import com.android.settings.connecteddevice.display.ExternalDisplaySettingsConfiguration.DisplayListener;
+import com.android.settings.flags.FakeFeatureFlagsImpl;
+
+import org.junit.Before;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+public class ExternalDisplayTestBase {
+ @Mock
+ ExternalDisplaySettingsConfiguration.Injector mMockedInjector;
+ @Mock
+ IDisplayManager mMockedIDisplayManager;
+ Resources mResources;
+ DisplayManagerGlobal mDisplayManagerGlobal;
+ FakeFeatureFlagsImpl mFlags = new FakeFeatureFlagsImpl();
+ Context mContext;
+ DisplayListener mListener;
+ TestHandler mHandler = new TestHandler(null);
+ PreferenceManager mPreferenceManager;
+ PreferenceScreen mPreferenceScreen;
+ Display[] mDisplays;
+
+ /**
+ * Setup.
+ */
+ @Before
+ public void setUp() throws RemoteException {
+ MockitoAnnotations.initMocks(this);
+ mContext = spy(ApplicationProvider.getApplicationContext());
+ mResources = spy(mContext.getResources());
+ doReturn(mResources).when(mContext).getResources();
+ mPreferenceManager = new PreferenceManager(mContext);
+ mPreferenceScreen = mPreferenceManager.createPreferenceScreen(mContext);
+ doReturn(0).when(mMockedIDisplayManager).getPreferredWideGamutColorSpaceId();
+ mDisplayManagerGlobal = new DisplayManagerGlobal(mMockedIDisplayManager);
+ mFlags.setFlag(FLAG_ROTATION_CONNECTED_DISPLAY_SETTING, true);
+ mFlags.setFlag(FLAG_RESOLUTION_AND_ENABLE_CONNECTED_DISPLAY_SETTING, true);
+ mDisplays = new Display[] {
+ createDefaultDisplay(), createExternalDisplay(), createOverlayDisplay()};
+ doReturn(mDisplays).when(mMockedInjector).getAllDisplays();
+ doReturn(mDisplays).when(mMockedInjector).getEnabledDisplays();
+ for (var display : mDisplays) {
+ doReturn(display).when(mMockedInjector).getDisplay(display.getDisplayId());
+ }
+ doReturn(mFlags).when(mMockedInjector).getFlags();
+ doReturn(mHandler).when(mMockedInjector).getHandler();
+ doReturn("").when(mMockedInjector).getSystemProperty(
+ VIRTUAL_DISPLAY_PACKAGE_NAME_SYSTEM_PROPERTY);
+ doAnswer((arg) -> {
+ mListener = arg.getArgument(0);
+ return null;
+ }).when(mMockedInjector).registerDisplayListener(any());
+ doReturn(0).when(mMockedInjector).getDisplayUserRotation(anyInt());
+ doReturn(mContext).when(mMockedInjector).getContext();
+ }
+
+ Display createDefaultDisplay() throws RemoteException {
+ int displayId = 0;
+ var displayInfo = new DisplayInfo();
+ doReturn(displayInfo).when(mMockedIDisplayManager).getDisplayInfo(displayId);
+ displayInfo.displayId = displayId;
+ displayInfo.name = "Built-in";
+ displayInfo.type = Display.TYPE_INTERNAL;
+ displayInfo.supportedModes = new Display.Mode[]{
+ new Display.Mode(0, 2048, 1024, 60, 60, new float[0],
+ new int[0])};
+ displayInfo.appsSupportedModes = displayInfo.supportedModes;
+ return createDisplay(displayInfo);
+ }
+
+ Display createExternalDisplay() throws RemoteException {
+ int displayId = 1;
+ var displayInfo = new DisplayInfo();
+ doReturn(displayInfo).when(mMockedIDisplayManager).getDisplayInfo(displayId);
+ displayInfo.displayId = displayId;
+ displayInfo.name = "HDMI";
+ displayInfo.type = Display.TYPE_EXTERNAL;
+ displayInfo.supportedModes = new Display.Mode[]{
+ new Display.Mode(0, 1920, 1080, 60, 60, new float[0], new int[0]),
+ new Display.Mode(1, 800, 600, 60, 60, new float[0], new int[0]),
+ new Display.Mode(2, 320, 240, 70, 70, new float[0], new int[0]),
+ new Display.Mode(3, 640, 480, 60, 60, new float[0], new int[0]),
+ new Display.Mode(4, 640, 480, 50, 60, new float[0], new int[0]),
+ new Display.Mode(5, 2048, 1024, 60, 60, new float[0], new int[0]),
+ new Display.Mode(6, 720, 480, 60, 60, new float[0], new int[0])};
+ displayInfo.appsSupportedModes = displayInfo.supportedModes;
+ return createDisplay(displayInfo);
+ }
+
+ Display createOverlayDisplay() throws RemoteException {
+ int displayId = 2;
+ var displayInfo = new DisplayInfo();
+ doReturn(displayInfo).when(mMockedIDisplayManager).getDisplayInfo(displayId);
+ displayInfo.displayId = displayId;
+ displayInfo.name = "Overlay #1";
+ displayInfo.type = Display.TYPE_OVERLAY;
+ displayInfo.supportedModes = new Display.Mode[]{
+ new Display.Mode(0, 1240, 780, 60, 60, new float[0],
+ new int[0])};
+ displayInfo.appsSupportedModes = displayInfo.supportedModes;
+ return createDisplay(displayInfo);
+ }
+
+ Display createDisplay(DisplayInfo displayInfo) {
+ return new Display(mDisplayManagerGlobal, displayInfo.displayId, displayInfo,
+ (DisplayAdjustments) null);
+ }
+}
diff --git a/tests/unit/src/com/android/settings/connecteddevice/display/ExternalDisplayUpdaterTest.java b/tests/unit/src/com/android/settings/connecteddevice/display/ExternalDisplayUpdaterTest.java
new file mode 100644
index 0000000..824974a
--- /dev/null
+++ b/tests/unit/src/com/android/settings/connecteddevice/display/ExternalDisplayUpdaterTest.java
@@ -0,0 +1,121 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.connecteddevice.display;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doReturn;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.os.RemoteException;
+import android.view.Display;
+
+import androidx.annotation.Nullable;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.settings.connecteddevice.DevicePreferenceCallback;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedPreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+
+/** Unit tests for {@link ExternalDisplayUpdater}. */
+@RunWith(AndroidJUnit4.class)
+public class ExternalDisplayUpdaterTest extends ExternalDisplayTestBase {
+
+ private ExternalDisplayUpdater mUpdater;
+ @Mock
+ private DevicePreferenceCallback mMockedCallback;
+ @Mock
+ private Drawable mMockedDrawable;
+ private RestrictedPreference mPreferenceAdded;
+ private RestrictedPreference mPreferenceRemoved;
+
+ @Before
+ public void setUp() throws RemoteException {
+ super.setUp();
+ mUpdater = new TestableExternalDisplayUpdater(mMockedCallback, /*metricsCategory=*/ 0);
+ }
+
+ @Test
+ public void testPreferenceAdded() {
+ doAnswer((v) -> {
+ mPreferenceAdded = v.getArgument(0);
+ return null;
+ }).when(mMockedCallback).onDeviceAdded(any());
+ mUpdater.initPreference(mContext, mMockedInjector);
+ mUpdater.registerCallback();
+ mHandler.flush();
+ assertThat(mPreferenceAdded).isNotNull();
+ var summary = mPreferenceAdded.getSummary();
+ assertThat(summary).isNotNull();
+ assertThat(summary.length()).isGreaterThan(0);
+ var title = mPreferenceAdded.getTitle();
+ assertThat(title).isNotNull();
+ assertThat(title.length()).isGreaterThan(0);
+ }
+
+ @Test
+ public void testPreferenceRemoved() {
+ doAnswer((v) -> {
+ mPreferenceAdded = v.getArgument(0);
+ return null;
+ }).when(mMockedCallback).onDeviceAdded(any());
+ doAnswer((v) -> {
+ mPreferenceRemoved = v.getArgument(0);
+ return null;
+ }).when(mMockedCallback).onDeviceRemoved(any());
+ mUpdater.initPreference(mContext, mMockedInjector);
+ mUpdater.registerCallback();
+ mHandler.flush();
+ assertThat(mPreferenceAdded).isNotNull();
+ assertThat(mPreferenceRemoved).isNull();
+ // Remove display
+ doReturn(new Display[0]).when(mMockedInjector).getAllDisplays();
+ doReturn(new Display[0]).when(mMockedInjector).getEnabledDisplays();
+ mListener.onDisplayRemoved(1);
+ mHandler.flush();
+ assertThat(mPreferenceRemoved).isEqualTo(mPreferenceAdded);
+ }
+
+ class TestableExternalDisplayUpdater extends ExternalDisplayUpdater {
+ TestableExternalDisplayUpdater(
+ DevicePreferenceCallback callback,
+ int metricsCategory) {
+ super(callback, metricsCategory);
+ }
+
+ @Override
+ @Nullable
+ protected RestrictedLockUtils.EnforcedAdmin checkIfUsbDataSignalingIsDisabled(
+ Context context) {
+ // if null is returned - usb signalling is enabled
+ return null;
+ }
+
+ @Override
+ @Nullable
+ protected Drawable getDrawable(Context context) {
+ return mMockedDrawable;
+ }
+ }
+}
diff --git a/tests/unit/src/com/android/settings/connecteddevice/display/ResolutionPreferenceFragmentTest.java b/tests/unit/src/com/android/settings/connecteddevice/display/ResolutionPreferenceFragmentTest.java
new file mode 100644
index 0000000..ee38a1c
--- /dev/null
+++ b/tests/unit/src/com/android/settings/connecteddevice/display/ResolutionPreferenceFragmentTest.java
@@ -0,0 +1,195 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.settings.connecteddevice.display;
+
+import static android.view.Display.INVALID_DISPLAY;
+
+import static com.android.settings.connecteddevice.display.ResolutionPreferenceFragment.EXTERNAL_DISPLAY_RESOLUTION_SETTINGS_RESOURCE;
+import static com.android.settings.connecteddevice.display.ResolutionPreferenceFragment.MORE_OPTIONS_KEY;
+import static com.android.settings.connecteddevice.display.ResolutionPreferenceFragment.TOP_OPTIONS_KEY;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.view.View;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+import androidx.test.annotation.UiThreadTest;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.settingslib.widget.SelectorWithWidgetPreference;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+
+/** Unit tests for {@link ResolutionPreferenceFragment}. */
+@RunWith(AndroidJUnit4.class)
+public class ResolutionPreferenceFragmentTest extends ExternalDisplayTestBase {
+ @Nullable
+ private ResolutionPreferenceFragment mFragment;
+ private int mPreferenceIdFromResource;
+ private int mDisplayIdArg = INVALID_DISPLAY;
+ @Mock
+ private MetricsLogger mMockedMetricsLogger;
+
+ @Test
+ @UiThreadTest
+ public void testCreateAndStart() {
+ initFragment();
+ mHandler.flush();
+ assertThat(mPreferenceIdFromResource).isEqualTo(
+ EXTERNAL_DISPLAY_RESOLUTION_SETTINGS_RESOURCE);
+ var pref = mPreferenceScreen.findPreference(TOP_OPTIONS_KEY);
+ assertThat(pref).isNull();
+ pref = mPreferenceScreen.findPreference(MORE_OPTIONS_KEY);
+ assertThat(pref).isNull();
+ }
+
+ @Test
+ @UiThreadTest
+ public void testCreateAndStartDefaultDisplayNotAllowed() {
+ mDisplayIdArg = 0;
+ initFragment();
+ mHandler.flush();
+ var pref = mPreferenceScreen.findPreference(TOP_OPTIONS_KEY);
+ assertThat(pref).isNull();
+ pref = mPreferenceScreen.findPreference(MORE_OPTIONS_KEY);
+ assertThat(pref).isNull();
+ }
+
+ @Test
+ @UiThreadTest
+ public void testModePreferences() {
+ mDisplayIdArg = 1;
+ initFragment();
+ mHandler.flush();
+ PreferenceCategory topPref = mPreferenceScreen.findPreference(TOP_OPTIONS_KEY);
+ assertThat(topPref).isNotNull();
+ PreferenceCategory morePref = mPreferenceScreen.findPreference(MORE_OPTIONS_KEY);
+ assertThat(morePref).isNotNull();
+ assertThat(topPref.getPreferenceCount()).isEqualTo(3);
+ assertThat(morePref.getPreferenceCount()).isEqualTo(1);
+ }
+
+ @Test
+ @UiThreadTest
+ public void testModeChange() {
+ mDisplayIdArg = 1;
+ initFragment();
+ mHandler.flush();
+ PreferenceCategory topPref = mPreferenceScreen.findPreference(TOP_OPTIONS_KEY);
+ assertThat(topPref).isNotNull();
+ var modePref = (SelectorWithWidgetPreference) topPref.getPreference(1);
+ modePref.onClick();
+ var mode = mDisplays[mDisplayIdArg].getSupportedModes()[1];
+ verify(mMockedInjector).setUserPreferredDisplayMode(mDisplayIdArg, mode);
+ }
+
+ private void initFragment() {
+ if (mFragment != null) {
+ return;
+ }
+ mFragment = new TestableResolutionPreferenceFragment();
+ mFragment.onCreateCallback(null);
+ mFragment.onActivityCreatedCallback(null);
+ mFragment.onStartCallback();
+ }
+
+ private class TestableResolutionPreferenceFragment extends ResolutionPreferenceFragment {
+ private final View mMockedRootView;
+ private final TextView mEmptyView;
+ private final Resources mMockedResources;
+ private final MetricsLogger mLogger;
+ TestableResolutionPreferenceFragment() {
+ super(mMockedInjector);
+ mMockedResources = mock(Resources.class);
+ doReturn(61).when(mMockedResources).getInteger(
+ com.android.internal.R.integer.config_externalDisplayPeakRefreshRate);
+ doReturn(1920).when(mMockedResources).getInteger(
+ com.android.internal.R.integer.config_externalDisplayPeakWidth);
+ doReturn(1080).when(mMockedResources).getInteger(
+ com.android.internal.R.integer.config_externalDisplayPeakHeight);
+ doReturn(true).when(mMockedResources).getBoolean(
+ com.android.internal.R.bool.config_refreshRateSynchronizationEnabled);
+ mMockedRootView = mock(View.class);
+ mEmptyView = new TextView(mContext);
+ doReturn(mEmptyView).when(mMockedRootView).findViewById(android.R.id.empty);
+ mLogger = mMockedMetricsLogger;
+ }
+
+ @Override
+ public PreferenceScreen getPreferenceScreen() {
+ return mPreferenceScreen;
+ }
+
+ @Override
+ public View getView() {
+ return mMockedRootView;
+ }
+
+ @Override
+ public void setEmptyView(View view) {
+ assertThat(view).isEqualTo(mEmptyView);
+ }
+
+ @Override
+ public View getEmptyView() {
+ return mEmptyView;
+ }
+
+ @Override
+ public void addPreferencesFromResource(int resource) {
+ mPreferenceIdFromResource = resource;
+ }
+
+ @Override
+ protected int getDisplayIdArg() {
+ return mDisplayIdArg;
+ }
+
+ @Override
+ protected void writePreferenceClickMetric(Preference preference) {
+ mLogger.writePreferenceClickMetric(preference);
+ }
+
+ @Override
+ @NonNull
+ protected Resources getResources(@NonNull Context context) {
+ return mMockedResources;
+ }
+ }
+
+ /**
+ * Interface allowing to mock and spy on log events.
+ */
+ public interface MetricsLogger {
+ /**
+ * On preference click metric
+ */
+ void writePreferenceClickMetric(Preference preference);
+ }
+}
diff --git a/tests/unit/src/com/android/settings/development/mediadrm/ForceSwSecureCryptoFallbackPreferenceControllerTest.java b/tests/unit/src/com/android/settings/development/mediadrm/ForceSwSecureCryptoFallbackPreferenceControllerTest.java
index 2a0cd05..5eb76f1 100644
--- a/tests/unit/src/com/android/settings/development/mediadrm/ForceSwSecureCryptoFallbackPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/development/mediadrm/ForceSwSecureCryptoFallbackPreferenceControllerTest.java
@@ -29,6 +29,8 @@
import android.content.Context;
import com.android.settings.media_drm.Flags;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import androidx.preference.SwitchPreference;
@@ -65,10 +67,10 @@
}
@Test
+ @EnableFlags(Flags.FLAG_FORCE_L3_ENABLED)
public void updateState_flagEnabled_checkPreference() {
- mSetFlagsRule.enableFlags(Flags.FLAG_FORCE_L3_ENABLED);
mController.updateState(mPreference);
- assumeTrue(mPreference.isEnabled());
+ assertThat(mPreference.isEnabled()).isTrue();
assertThat(mPreference.isChecked()).isFalse();
assertThat(WidevineProperties.forcel3_enabled().orElse(false)).isFalse();
@@ -85,33 +87,22 @@
assertThat(WidevineProperties.forcel3_enabled().orElse(false)).isFalse();
assertThat(mPreference.isEnabled()).isTrue();
assertThat(mPreference.isChecked()).isFalse();
-
- // Test flag rollback
- mController.setChecked(true);
- mController.updateState(mPreference);
- assertThat(mPreference.isChecked()).isTrue();
- assertThat(WidevineProperties.forcel3_enabled().orElse(false)).isTrue();
- mSetFlagsRule.disableFlags(Flags.FLAG_FORCE_L3_ENABLED);
- mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isFalse();
- assertThat(mPreference.isChecked()).isFalse();
- assertThat(WidevineProperties.forcel3_enabled().orElse(false)).isFalse();
}
@Test
+ @DisableFlags(Flags.FLAG_FORCE_L3_ENABLED)
public void updateState_flagDisabled_checkPreference() {
- mSetFlagsRule.disableFlags(Flags.FLAG_FORCE_L3_ENABLED);
mController.updateState(mPreference);
assertThat(mPreference.isEnabled()).isFalse();
}
@Test
+ @EnableFlags(Flags.FLAG_FORCE_L3_ENABLED)
public void updateState_checkWidevine() throws Exception {
try (MediaDrm drm = new MediaDrm(WIDEVINE_UUID)) {
assumeTrue(drm.getPropertyString("securityLevel").equals("L1"));
- mSetFlagsRule.enableFlags(Flags.FLAG_FORCE_L3_ENABLED);
mController.updateState(mPreference);
- assumeTrue(mPreference.isEnabled());
+ assertThat(mPreference.isEnabled()).isTrue();
} catch (UnsupportedSchemeException ex) {
assumeNoException(ex);
}
@@ -139,11 +130,11 @@
}
@Test
+ @EnableFlags(Flags.FLAG_FORCE_L3_ENABLED)
public void updateState_checkWhenWidevineReady() throws Exception {
try (MediaDrm drm = new MediaDrm(WIDEVINE_UUID)) {
if (drm.getPropertyString("securityLevel").equals("L1")) {
String version = drm.getPropertyString(MediaDrm.PROPERTY_VERSION);
- mSetFlagsRule.enableFlags(Flags.FLAG_FORCE_L3_ENABLED);
mController.updateState(mPreference);
if (Integer.parseInt(version.split("\\.", 2)[0]) >= 19) {
assertThat(mPreference.isEnabled()).isTrue();
diff --git a/tests/unit/src/com/android/settings/fuelgauge/batteryusage/AppOptModeSharedPreferencesUtilsTest.kt b/tests/unit/src/com/android/settings/fuelgauge/batteryusage/AppOptModeSharedPreferencesUtilsTest.kt
index 94f082d..95f69da 100644
--- a/tests/unit/src/com/android/settings/fuelgauge/batteryusage/AppOptModeSharedPreferencesUtilsTest.kt
+++ b/tests/unit/src/com/android/settings/fuelgauge/batteryusage/AppOptModeSharedPreferencesUtilsTest.kt
@@ -83,8 +83,17 @@
}
@Test
- fun updateAppOptModeExpirationInternal_withExpirationTime_verifyData() {
- insertAppOptModeEventForTest(expirationTime = 1000L)
+ fun updateAppOptModeExpirationInternal_withoutExpirationTime_verifyEmptyList() {
+ insertAppOptModeEventForTest(expirationTime = UNLIMITED_EXPIRE_TIME)
+
+ assertThat(AppOptModeSharedPreferencesUtils.getAllEvents(context)).isEmpty()
+ }
+
+ @Test
+ fun updateAppOptModeExpirationInternal_setOptimizedModeWithFlagEnabled_verifyData() {
+ whenever(featureFactory.powerUsageFeatureProvider.isRestrictedModeOverwriteEnabled)
+ .thenReturn(true)
+ insertAppOptModeEventForTest(expirationTime = 1000L, mode = MODE_OPTIMIZED)
val events = AppOptModeSharedPreferencesUtils.getAllEvents(context)
@@ -99,8 +108,46 @@
}
@Test
- fun updateAppOptModeExpirationInternal_withoutExpirationTime_verifyEmptyList() {
- insertAppOptModeEventForTest(expirationTime = UNLIMITED_EXPIRE_TIME)
+ fun updateAppOptModeExpirationInternal_setOptimizedModeWithFlagDisabled_verifyData() {
+ whenever(featureFactory.powerUsageFeatureProvider.isRestrictedModeOverwriteEnabled)
+ .thenReturn(false)
+ insertAppOptModeEventForTest(expirationTime = 1000L, mode = MODE_OPTIMIZED)
+
+ val events = AppOptModeSharedPreferencesUtils.getAllEvents(context)
+
+ assertThat(events).hasSize(1)
+ assertAppOptimizationModeEventInfo(
+ events[0],
+ UID,
+ PACKAGE_NAME,
+ MODE_OPTIMIZED,
+ expirationTime = 1000L
+ )
+ }
+
+ @Test
+ fun updateAppOptModeExpirationInternal_setRestrictedModeWithFlagEnabled_verifyData() {
+ whenever(featureFactory.powerUsageFeatureProvider.isRestrictedModeOverwriteEnabled)
+ .thenReturn(true)
+ insertAppOptModeEventForTest(expirationTime = 1000L, mode = MODE_RESTRICTED)
+
+ val events = AppOptModeSharedPreferencesUtils.getAllEvents(context)
+
+ assertThat(events).hasSize(1)
+ assertAppOptimizationModeEventInfo(
+ events[0],
+ UID,
+ PACKAGE_NAME,
+ MODE_RESTRICTED,
+ expirationTime = 1000L
+ )
+ }
+
+ @Test
+ fun updateAppOptModeExpirationInternal_setRestrictedModeWithFlagDisabled_verifyEmptyList() {
+ whenever(featureFactory.powerUsageFeatureProvider.isRestrictedModeOverwriteEnabled)
+ .thenReturn(false)
+ insertAppOptModeEventForTest(expirationTime = 1000L, mode = MODE_RESTRICTED)
assertThat(AppOptModeSharedPreferencesUtils.getAllEvents(context)).isEmpty()
}
@@ -237,14 +284,14 @@
assertThat(currentOptMode).isEqualTo(MODE_RESTRICTED)
}
- private fun insertAppOptModeEventForTest(expirationTime: Long) {
+ private fun insertAppOptModeEventForTest(expirationTime: Long, mode: Int = MODE_OPTIMIZED) {
whenever(testBatteryOptimizeUtils?.isOptimizeModeMutable).thenReturn(true)
- whenever(testBatteryOptimizeUtils?.getAppOptimizationMode(true)).thenReturn(MODE_OPTIMIZED)
+ whenever(testBatteryOptimizeUtils?.getAppOptimizationMode(true)).thenReturn(mode)
AppOptModeSharedPreferencesUtils.updateAppOptModeExpirationInternal(
context,
mutableListOf(UID),
mutableListOf(PACKAGE_NAME),
- mutableListOf(MODE_OPTIMIZED),
+ mutableListOf(mode),
longArrayOf(expirationTime),
) { _: Int, _: String ->
testBatteryOptimizeUtils
diff --git a/tests/unit/src/com/android/settings/network/InternetPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/InternetPreferenceControllerTest.java
index 8a4acd2..1c482ef 100644
--- a/tests/unit/src/com/android/settings/network/InternetPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/InternetPreferenceControllerTest.java
@@ -36,8 +36,6 @@
import android.net.wifi.WifiManager;
import android.os.Handler;
import android.os.Looper;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleOwner;
@@ -78,15 +76,8 @@
private static final String NOT_CONNECTED = "Not connected";
private static final String SUB_ID_1 = "1";
private static final String SUB_ID_2 = "2";
- private static final String INVALID_SUB_ID = "-1";
private static final String DISPLAY_NAME_1 = "Sub 1";
private static final String DISPLAY_NAME_2 = "Sub 2";
- private static final String SUB_MCC_1 = "123";
- private static final String SUB_MNC_1 = "456";
- private static final String SUB_MCC_2 = "223";
- private static final String SUB_MNC_2 = "456";
- private static final String SUB_COUNTRY_ISO_1 = "Sub 1";
- private static final String SUB_COUNTRY_ISO_2 = "Sub 2";
@Rule
public final MockitoRule mMockitoRule = MockitoJUnit.rule();
@@ -178,14 +169,10 @@
}
private SubscriptionInfoEntity setupSubscriptionInfoEntity(String subId, int slotId,
- int carrierId, String displayName, String mcc, String mnc, String countryIso,
- int cardId, boolean isVisible, boolean isValid, boolean isActive, boolean isAvailable,
+ String displayName, boolean isVisible, boolean isValid, boolean isActive,
boolean isActiveData) {
- return new SubscriptionInfoEntity(subId, slotId, carrierId,
- displayName, displayName, 0, mcc, mnc, countryIso, false, cardId,
- TelephonyManager.DEFAULT_PORT_INDEX, false, null,
- SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, displayName, isVisible,
- "1234567890", true, false, isValid, true, isActive, isAvailable, isActiveData);
+ return new SubscriptionInfoEntity(subId, slotId, false, false, displayName, isVisible,
+ false, isValid, isActive, isActiveData);
}
@Test
@@ -253,10 +240,10 @@
@Test
public void updateCellularSummary_getActiveSubscriptionInfo_cbrs() {
mController.setDefaultDataSubscriptionId(Integer.parseInt(SUB_ID_2));
- mActiveSubInfo = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
- SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, false, true, true, true, true);
- mDefaultDataSubInfo = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
- SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, false, true, true, true, false);
+ mActiveSubInfo = setupSubscriptionInfoEntity(SUB_ID_1, 1, DISPLAY_NAME_1,
+ false, true, true, true);
+ mDefaultDataSubInfo = setupSubscriptionInfoEntity(SUB_ID_2, 1, DISPLAY_NAME_2,
+ false, true, true, false);
mSubscriptionInfoEntityList.add(mActiveSubInfo);
mSubscriptionInfoEntityList.add(mDefaultDataSubInfo);
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
@@ -265,8 +252,8 @@
mController.updateCellularSummary();
assertThat(mPreference.getSummary()).isEqualTo(DISPLAY_NAME_2);
- mActiveSubInfo = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
- SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true, true, true);
+ mActiveSubInfo = setupSubscriptionInfoEntity(SUB_ID_1, 1, DISPLAY_NAME_1,
+ true, true, true, true);
mSubscriptionInfoEntityList.add(mActiveSubInfo);
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
mController.onAvailableSubInfoChanged(mSubscriptionInfoEntityList);
diff --git a/tests/unit/src/com/android/settings/network/NetworkProviderSimListControllerTest.java b/tests/unit/src/com/android/settings/network/NetworkProviderSimListControllerTest.java
index a98f83b..2b78212 100644
--- a/tests/unit/src/com/android/settings/network/NetworkProviderSimListControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/NetworkProviderSimListControllerTest.java
@@ -28,7 +28,6 @@
import android.content.Context;
import android.os.Looper;
import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
import android.text.TextUtils;
import androidx.lifecycle.LifecycleOwner;
@@ -63,12 +62,6 @@
private static final String KEY_PREFERENCE_CATEGORY_SIM = "provider_model_sim_category";
private static final String DISPLAY_NAME_1 = "Sub 1";
private static final String DISPLAY_NAME_2 = "Sub 2";
- private static final String SUB_MCC_1 = "123";
- private static final String SUB_MNC_1 = "456";
- private static final String SUB_MCC_2 = "223";
- private static final String SUB_MNC_2 = "456";
- private static final String SUB_COUNTRY_ISO_1 = "Sub 1";
- private static final String SUB_COUNTRY_ISO_2 = "Sub 2";
@Mock
private SubscriptionInfoEntity mSubInfo1;
@@ -140,12 +133,9 @@
}
private SubscriptionInfoEntity setupSubscriptionInfoEntity(String subId, int slotId,
- int carrierId, String displayName, String mcc, String mnc, String countryIso,
- int cardId, boolean isValid, boolean isActive, boolean isAvailable) {
- return new SubscriptionInfoEntity(subId, slotId, carrierId, displayName, displayName, 0,
- mcc, mnc, countryIso, false, cardId, TelephonyManager.DEFAULT_PORT_INDEX, false,
- null, SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, displayName, false,
- "1234567890", true, false, isValid, true, isActive, isAvailable, false);
+ String displayName, boolean isValid, boolean isActive) {
+ return new SubscriptionInfoEntity(subId, slotId, false, false, displayName, false,
+ false, isValid, isActive, false);
}
private String setSummaryResId(String resName, String value) {
@@ -159,8 +149,7 @@
@Test
@UiThreadTest
public void getSummary_tapToActivePSim() {
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
- SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, false, true);
+ mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, DISPLAY_NAME_1, true, false);
mSubscriptionInfoEntityList.add(mSubInfo1);
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
displayPreferenceWithLifecycle();
@@ -172,8 +161,7 @@
@Test
@UiThreadTest
public void getSummary_inactivePSim() {
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
- SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, false, true);
+ mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, DISPLAY_NAME_1, true, false);
doReturn(true).when(mSubscriptionManager).canDisablePhysicalSubscription();
mSubscriptionInfoEntityList.add(mSubInfo1);
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
@@ -187,8 +175,7 @@
@Test
@UiThreadTest
public void getSummary_defaultCalls() {
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
- SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
+ mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, DISPLAY_NAME_1, true, true);
mSubscriptionInfoEntityList.add(mSubInfo1);
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
@@ -209,8 +196,7 @@
defaultConfig.append(setSummaryResId("default_active_sim_calls"))
.append(", ")
.append(setSummaryResId("default_active_sim_sms"));
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
- SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
+ mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, DISPLAY_NAME_1, true, true);
mSubscriptionInfoEntityList.add(mSubInfo1);
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
@@ -228,10 +214,8 @@
@Test
@UiThreadTest
public void getAvailablePhysicalSubscription_withTwoPhysicalSims_returnTwo() {
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
- SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
- mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
- SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true);
+ mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, DISPLAY_NAME_1, true, true);
+ mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, DISPLAY_NAME_2, true, true);
mSubscriptionInfoEntityList.add(mSubInfo1);
mSubscriptionInfoEntityList.add(mSubInfo2);
mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
diff --git a/tests/unit/src/com/android/settings/network/ResetNetworkOperationBuilderTest.java b/tests/unit/src/com/android/settings/network/ResetNetworkOperationBuilderTest.java
index 5f54406..7f1c475 100644
--- a/tests/unit/src/com/android/settings/network/ResetNetworkOperationBuilderTest.java
+++ b/tests/unit/src/com/android/settings/network/ResetNetworkOperationBuilderTest.java
@@ -16,20 +16,16 @@
package com.android.settings.network;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.ArgumentMatchers.isNull;
import static org.mockito.Mockito.anyInt;
import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
-import android.content.ContentProvider;
-import android.content.ContentResolver;
+import android.content.ContentProviderClient;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkPolicyManager;
@@ -67,7 +63,7 @@
@Mock
private NetworkPolicyManager mNetworkPolicyManager;
@Mock
- private ContentProvider mContentProvider;;
+ private ContentProviderClient mContentProviderClient;
private Context mContext;
@@ -77,9 +73,8 @@
public void setUp() {
MockitoAnnotations.initMocks(this);
mContext = spy(ApplicationProvider.getApplicationContext());
- doReturn(ContentResolver.wrap(mContentProvider)).when(mContext).getContentResolver();
-
mBuilder = spy(new ResetNetworkOperationBuilder(mContext));
+ doReturn(mContentProviderClient).when(mBuilder).getUnstableTelephonyContentProviderClient();
}
@Test
@@ -184,38 +179,38 @@
}
@Test
- public void restartPhoneProcess_withoutTelephonyContentProvider_shouldNotCrash() {
- doThrow(new IllegalArgumentException()).when(mContentProvider).call(
- anyString(), anyString(), anyString(), any());
+ public void restartPhoneProcess_withoutTelephonyContentProvider_shouldNotCrash()
+ throws Exception {
+ doReturn(null).when(mBuilder).getUnstableTelephonyContentProviderClient();
mBuilder.restartPhoneProcess().build().run();
}
@Test
- public void restartRild_withoutTelephonyContentProvider_shouldNotCrash() {
- doThrow(new IllegalArgumentException()).when(mContentProvider).call(
- anyString(), anyString(), anyString(), any());
+ public void restartRild_withoutTelephonyContentProvider_shouldNotCrash()
+ throws Exception {
+ doReturn(null).when(mBuilder).getUnstableTelephonyContentProviderClient();
mBuilder.restartRild().build().run();
}
@Test
- public void restartPhoneProcess_withTelephonyContentProvider_shouldCallRestartPhoneProcess() {
+ public void restartPhoneProcess_withTelephonyContentProvider_shouldCallRestartPhoneProcess()
+ throws Exception {
mBuilder.restartPhoneProcess().build().run();
- verify(mContentProvider).call(
- eq(mBuilder.getResetTelephonyContentProviderAuthority()),
+ verify(mContentProviderClient).call(
eq(ResetNetworkOperationBuilder.METHOD_RESTART_PHONE_PROCESS),
isNull(),
isNull());
}
@Test
- public void restartRild_withTelephonyContentProvider_shouldCallRestartRild() {
+ public void restartRild_withTelephonyContentProvider_shouldCallRestartRild()
+ throws Exception {
mBuilder.restartRild().build().run();
- verify(mContentProvider).call(
- eq(mBuilder.getResetTelephonyContentProviderAuthority()),
+ verify(mContentProviderClient).call(
eq(ResetNetworkOperationBuilder.METHOD_RESTART_RILD),
isNull(),
isNull());
diff --git a/tests/unit/src/com/android/settings/network/telephony/DefaultSubscriptionControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/DefaultSubscriptionControllerTest.java
index 42e3a83..f5329fa 100644
--- a/tests/unit/src/com/android/settings/network/telephony/DefaultSubscriptionControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/DefaultSubscriptionControllerTest.java
@@ -30,7 +30,6 @@
import android.telecom.TelecomManager;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
import androidx.lifecycle.LifecycleOwner;
import androidx.lifecycle.LifecycleRegistry;
@@ -70,15 +69,6 @@
private static final String DISPLAY_NAME_1 = "Sub 1";
private static final String DISPLAY_NAME_2 = "Sub 2";
private static final String DISPLAY_NAME_3 = "Sub 3";
- private static final String SUB_MCC_1 = "123";
- private static final String SUB_MNC_1 = "456";
- private static final String SUB_MCC_2 = "223";
- private static final String SUB_MNC_2 = "456";
- private static final String SUB_MCC_3 = "323";
- private static final String SUB_MNC_3 = "456";
- private static final String SUB_COUNTRY_ISO_1 = "Sub 1";
- private static final String SUB_COUNTRY_ISO_2 = "Sub 2";
- private static final String SUB_COUNTRY_ISO_3 = "Sub 3";
@Mock
private SubscriptionManager mSubMgr;
@@ -133,12 +123,9 @@
SubscriptionUtil.setActiveSubscriptionsForTesting(null);
}
- private SubscriptionInfoEntity setupSubscriptionInfoEntity(
- String subId, String displayName, String mcc, String mnc, String countryIso) {
- return new SubscriptionInfoEntity(subId, 1, 1, displayName, displayName, 0, mcc, mnc,
- countryIso, false, 1, TelephonyManager.DEFAULT_PORT_INDEX, false, null,
- SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, displayName, false, "1234567890",
- true, false, true, true, true, true, false);
+ private SubscriptionInfoEntity setupSubscriptionInfoEntity(String subId, String displayName) {
+ return new SubscriptionInfoEntity(subId, 1, false, false, displayName, false, false, true,
+ true, false);
}
@Test
@@ -151,8 +138,7 @@
@Test
public void getSummary_singleSub() {
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1,
- SUB_COUNTRY_ISO_1);
+ mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1);
mSubscriptionInfoEntityList.add(mSubInfo1);
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
mController.displayPreference(mScreen);
@@ -164,10 +150,8 @@
@Test
public void getSummary_twoSubs() {
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1,
- SUB_COUNTRY_ISO_1);
- mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2,
- SUB_COUNTRY_ISO_2);
+ mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1);
+ mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2);
mSubscriptionInfoEntityList.add(mSubInfo1);
mSubscriptionInfoEntityList.add(mSubInfo2);
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
@@ -180,10 +164,8 @@
@Test
public void onPreferenceChange_prefChangedToSub2_callbackCalledCorrectly() {
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1,
- SUB_COUNTRY_ISO_1);
- mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2,
- SUB_COUNTRY_ISO_2);
+ mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1);
+ mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2);
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
mSubscriptionInfoEntityList.add(mSubInfo1);
mSubscriptionInfoEntityList.add(mSubInfo2);
@@ -197,10 +179,8 @@
@Test
public void onPreferenceChange_prefChangedToAlwaysAsk_callbackCalledCorrectly() {
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1,
- SUB_COUNTRY_ISO_1);
- mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2,
- SUB_COUNTRY_ISO_2);
+ mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1);
+ mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2);
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
mSubscriptionInfoEntityList.add(mSubInfo1);
mSubscriptionInfoEntityList.add(mSubInfo2);
@@ -217,10 +197,8 @@
@Test
public void onPreferenceChange_prefBecomesAvailable_onPreferenceChangeCallbackNotNull() {
// Start with only one sub active, so the pref is not available
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1,
- SUB_COUNTRY_ISO_1);
- mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2,
- SUB_COUNTRY_ISO_2);
+ mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1);
+ mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2);
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
mSubscriptionInfoEntityList.add(mSubInfo1);
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
@@ -240,10 +218,8 @@
@Test
public void onSubscriptionsChanged_twoSubscriptionsDefaultChanges_selectedEntryGetsUpdated() {
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1,
- SUB_COUNTRY_ISO_1);
- mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2,
- SUB_COUNTRY_ISO_2);
+ mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1);
+ mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2);
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
mSubscriptionInfoEntityList.add(mSubInfo1);
mSubscriptionInfoEntityList.add(mSubInfo2);
@@ -261,10 +237,8 @@
@Test
public void onSubscriptionsChanged_goFromTwoSubscriptionsToOne_prefDisappears() {
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1,
- SUB_COUNTRY_ISO_1);
- mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2,
- SUB_COUNTRY_ISO_2);
+ mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1);
+ mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2);
mSubscriptionInfoEntityList.add(mSubInfo1);
mSubscriptionInfoEntityList.add(mSubInfo2);
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
@@ -287,10 +261,8 @@
@Test
@UiThreadTest
public void onSubscriptionsChanged_goFromOneSubscriptionToTwo_prefAppears() {
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1,
- SUB_COUNTRY_ISO_1);
- mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2,
- SUB_COUNTRY_ISO_2);
+ mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1);
+ mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2);
mSubscriptionInfoEntityList.add(mSubInfo1);
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
mController.onActiveSubInfoChanged(mSubscriptionInfoEntityList);
@@ -309,12 +281,9 @@
@Test
public void onSubscriptionsChanged_goFromTwoToThreeSubscriptions_listGetsUpdated() {
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1,
- SUB_COUNTRY_ISO_1);
- mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, SUB_MCC_2, SUB_MNC_2,
- SUB_COUNTRY_ISO_2);
- mSubInfo3 = setupSubscriptionInfoEntity(SUB_ID_3, DISPLAY_NAME_3, SUB_MCC_3, SUB_MNC_3,
- SUB_COUNTRY_ISO_3);
+ mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1);
+ mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2);
+ mSubInfo3 = setupSubscriptionInfoEntity(SUB_ID_3, DISPLAY_NAME_3);
mController.setDefaultSubscription(Integer.parseInt(mSubInfo1.subId));
mSubscriptionInfoEntityList.add(mSubInfo1);
mSubscriptionInfoEntityList.add(mSubInfo2);
diff --git a/tests/unit/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java
index 152091a..6897c01 100644
--- a/tests/unit/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java
@@ -29,7 +29,6 @@
import android.content.Context;
import android.os.Looper;
import android.platform.test.flag.junit.SetFlagsRule;
-import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
@@ -75,8 +74,6 @@
@Mock
private SubscriptionManager mSubscriptionManager;
@Mock
- private SubscriptionInfo mSubscriptionInfo;
- @Mock
private FragmentTransaction mFragmentTransaction;
@Mock
private Lifecycle mLifecycle;
@@ -120,19 +117,15 @@
}
private SubscriptionInfoEntity setupSubscriptionInfoEntity(String subId, String displayName,
- boolean isOpportunistic, boolean isValid, boolean isActive, boolean isAvailable) {
+ boolean isOpportunistic, boolean isValid, boolean isActive) {
int id = Integer.parseInt(subId);
- return new SubscriptionInfoEntity(subId, id, id,
- displayName, displayName, 0, "mcc", "mnc", "countryIso", false, id,
- TelephonyManager.DEFAULT_PORT_INDEX, isOpportunistic, null,
- SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, displayName, false,
- "1234567890", true, false, isValid, true, isActive, isAvailable, false);
+ return new SubscriptionInfoEntity(subId, id, false, isOpportunistic, displayName, false,
+ false, isValid, isActive, false);
}
private MobileNetworkInfoEntity setupMobileNetworkInfoEntity(String subId,
boolean isDatEnabled) {
- return new MobileNetworkInfoEntity(subId, false, false, isDatEnabled, false, false, false,
- false, false, false, false, false);
+ return new MobileNetworkInfoEntity(subId, isDatEnabled, false);
}
@Test
@@ -145,7 +138,7 @@
@Test
public void isDialogNeeded_disableSingleSim_returnFalse() {
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, false, true, true, true);
+ mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, false, true, true);
mNetworkInfo1 = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), true);
doReturn(1).when(mTelephonyManager).getActiveModemCount();
@@ -154,12 +147,12 @@
@Test
public void isDialogNeeded_enableNonDefaultSimInMultiSimMode_returnTrue() {
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, false, true, true, true);
+ mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, false, true, true);
mNetworkInfo1 = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), false);
doReturn(1).when(mTelephonyManager).getActiveModemCount();
// Ideally, it would be better if we could set the default data subscription to
// SUB_ID_OTHER, and set that as an active subscription id.
- mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, false, true, true, true);
+ mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, DISPLAY_NAME_2, false, true, true);
mNetworkInfo1 = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), true);
doReturn(2).when(mTelephonyManager).getActiveModemCount();
@@ -181,7 +174,7 @@
@Test
public void onPreferenceChange_singleSim_On_shouldEnableData() {
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, true, true, true, true);
+ mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, true, true, true);
mNetworkInfo1 = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), true);
mController.setSubscriptionInfoEntity(mSubInfo1);
mController.setMobileNetworkInfoEntity(mNetworkInfo1);
@@ -195,7 +188,7 @@
@Test
public void onPreferenceChange_multiSim_On_shouldEnableData() {
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, true, true, true, true);
+ mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, true, true, true);
mNetworkInfo1 = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), true);
mController.setSubscriptionInfoEntity(mSubInfo1);
mController.setMobileNetworkInfoEntity(mNetworkInfo1);
@@ -220,7 +213,7 @@
@Test
public void updateState_opportunistic_disabled() {
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, true, true, true, true);
+ mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, true, true, true);
mController.init(mFragmentManager, SUB_ID, mSubInfo1, mNetworkInfo1);
mController.updateState(mPreference);
@@ -232,7 +225,7 @@
@Test
public void updateState_notOpportunistic_enabled() {
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, false, true, true, true);
+ mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, DISPLAY_NAME_1, false, true, true);
mController.init(mFragmentManager, SUB_ID, mSubInfo1, mNetworkInfo1);
mController.updateState(mPreference);
diff --git a/tests/unit/src/com/android/settings/network/telephony/RoamingPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/RoamingPreferenceControllerTest.java
deleted file mode 100644
index d221280..0000000
--- a/tests/unit/src/com/android/settings/network/telephony/RoamingPreferenceControllerTest.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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.settings.network.telephony;
-
-import static com.android.settings.core.BasePreferenceController.AVAILABLE;
-import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.anyBoolean;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.os.Looper;
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-
-import androidx.fragment.app.FragmentManager;
-import androidx.fragment.app.FragmentTransaction;
-import androidx.lifecycle.LifecycleOwner;
-import androidx.lifecycle.LifecycleRegistry;
-import androidx.test.annotation.UiThreadTest;
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.core.BasePreferenceController;
-import com.android.settingslib.RestrictedSwitchPreference;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.mobile.dataservice.MobileNetworkInfoEntity;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-@RunWith(AndroidJUnit4.class)
-public class RoamingPreferenceControllerTest {
- private static final int SUB_ID = 2;
-
- @Mock
- private FragmentManager mFragmentManager;
- @Mock
- private TelephonyManager mTelephonyManager;
- @Mock
- private TelephonyManager mInvalidTelephonyManager;
- @Mock
- private SubscriptionManager mSubscriptionManager;
- @Mock
- private FragmentTransaction mFragmentTransaction;
- @Mock
- private CarrierConfigManager mCarrierConfigManager;
- @Mock
- private Lifecycle mLifecycle;
- @Mock
- private LifecycleOwner mLifecycleOwner;
-
- private LifecycleRegistry mLifecycleRegistry;
- private RoamingPreferenceController mController;
- private RestrictedSwitchPreference mPreference;
- private Context mContext;
- private MobileNetworkInfoEntity mMobileNetworkInfoEntity;
-
- @Before
- public void setUp() {
- MockitoAnnotations.initMocks(this);
-
- if (Looper.myLooper() == null) {
- Looper.prepare();
- }
-
- mContext = spy(ApplicationProvider.getApplicationContext());
- doReturn(mTelephonyManager).when(mContext).getSystemService(Context.TELEPHONY_SERVICE);
- doReturn(mSubscriptionManager).when(mContext).getSystemService(
- Context.TELEPHONY_SUBSCRIPTION_SERVICE);
-
- doReturn(mCarrierConfigManager).when(mContext).getSystemService(
- Context.CARRIER_CONFIG_SERVICE);
- doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(SUB_ID);
- doReturn(mInvalidTelephonyManager).when(mTelephonyManager).createForSubscriptionId(
- SubscriptionManager.INVALID_SUBSCRIPTION_ID);
- doReturn(mFragmentTransaction).when(mFragmentManager).beginTransaction();
-
- mPreference = spy(new RestrictedSwitchPreference(mContext));
- mController = spy(
- new RoamingPreferenceController(mContext, "roaming", mLifecycle, mLifecycleOwner,
- SUB_ID));
- mLifecycleRegistry = new LifecycleRegistry(mLifecycleOwner);
- when(mLifecycleOwner.getLifecycle()).thenReturn(mLifecycleRegistry);
- mController.init(mFragmentManager, SUB_ID, mMobileNetworkInfoEntity);
- mPreference.setKey(mController.getPreferenceKey());
- }
-
- private MobileNetworkInfoEntity setupMobileNetworkInfoEntity(String subId,
- boolean isDataRoaming) {
- return new MobileNetworkInfoEntity(subId, false, false, true, false, false, false, false,
- false, false, false, isDataRoaming);
- }
-
- @Test
- public void getAvailabilityStatus_validSubId_returnAvailable() {
- assertThat(mController.getAvailabilityStatus()).isEqualTo(
- AVAILABLE);
- }
-
- @Test
- public void getAvailabilityStatus_invalidSubId_returnUnsearchable() {
- mController.init(mFragmentManager, SubscriptionManager.INVALID_SUBSCRIPTION_ID,
- mMobileNetworkInfoEntity);
-
- assertThat(mController.getAvailabilityStatus(
- SubscriptionManager.INVALID_SUBSCRIPTION_ID)).isEqualTo(
- BasePreferenceController.AVAILABLE_UNSEARCHABLE);
- }
-
- @Test
- public void isDialogNeeded_roamingDisabledWithoutFlag_returnTrue() {
- final PersistableBundle bundle = new PersistableBundle();
- bundle.putBoolean(CarrierConfigManager.KEY_DISABLE_CHARGE_INDICATION_BOOL, false);
- doReturn(bundle).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
- mMobileNetworkInfoEntity = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), false);
- mController.setMobileNetworkInfoEntity(mMobileNetworkInfoEntity);
-
- assertThat(mController.isDialogNeeded()).isTrue();
- }
-
- @Test
- public void isDialogNeeded_roamingEnabled_returnFalse() {
- mMobileNetworkInfoEntity = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), true);
- mController.setMobileNetworkInfoEntity(mMobileNetworkInfoEntity);
-
- assertThat(mController.isDialogNeeded()).isFalse();
- }
-
- @Test
- @UiThreadTest
- public void setChecked_needDialog_showDialog() {
- mMobileNetworkInfoEntity = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), false);
- mController.setMobileNetworkInfoEntity(mMobileNetworkInfoEntity);
- doReturn(null).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
-
- mController.setChecked(true);
-
- verify(mFragmentManager).beginTransaction();
- }
-
- @Test
- public void updateState_invalidSubId_disabled() {
- mMobileNetworkInfoEntity = setupMobileNetworkInfoEntity(
- String.valueOf(SubscriptionManager.INVALID_SUBSCRIPTION_ID), false);
- mController.setMobileNetworkInfoEntity(mMobileNetworkInfoEntity);
- mController.init(mFragmentManager, SubscriptionManager.INVALID_SUBSCRIPTION_ID,
- mMobileNetworkInfoEntity);
-
- mController.updateState(mPreference);
-
- assertThat(mPreference.isEnabled()).isFalse();
- }
-
- @Test
- public void updateState_validSubId_enabled() {
- mMobileNetworkInfoEntity = setupMobileNetworkInfoEntity(String.valueOf(SUB_ID), true);
- mController.setMobileNetworkInfoEntity(mMobileNetworkInfoEntity);
-
- mController.updateState(mPreference);
-
- assertThat(mPreference.isEnabled()).isTrue();
- assertThat(mPreference.isChecked()).isTrue();
- }
-
- @Test
- public void updateState_isNotDisabledByAdmin_shouldInvokeSetEnabled() {
- when(mPreference.isDisabledByAdmin()).thenReturn(false);
-
- mController.updateState(mPreference);
-
- verify(mPreference).setEnabled(anyBoolean());
- }
-
- @Test
- public void updateState_isDisabledByAdmin_shouldNotInvokeSetEnabled() {
- when(mPreference.isDisabledByAdmin()).thenReturn(true);
-
- mController.updateState(mPreference);
-
- verify(mPreference, never()).setEnabled(anyBoolean());
- }
-
- @Test
- public void getAvailabilityStatus_carrierConfigIsNull_shouldReturnAvailable() {
- doReturn(null).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
-
- assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
- }
-
- @Test
- public void getAvailabilityStatus_forceHomeNetworkIsFalse_shouldReturnAvailable() {
- final PersistableBundle bundle = new PersistableBundle();
- bundle.putBoolean(CarrierConfigManager.KEY_FORCE_HOME_NETWORK_BOOL, false);
- doReturn(bundle).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
-
- assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
- }
-
- @Test
- public void getAvailabilityStatus_forceHomeNetworkIsTrue_shouldReturnConditionallyAvailable() {
- final PersistableBundle bundle = new PersistableBundle();
- bundle.putBoolean(CarrierConfigManager.KEY_FORCE_HOME_NETWORK_BOOL, true);
- doReturn(bundle).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
-
- assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
- }
-}